From e6deda6eccaff73d8ebd842f5033d037e94321fa Mon Sep 17 00:00:00 2001 From: Lukas Friman Date: Wed, 30 Jul 2025 11:55:15 +0200 Subject: [PATCH 1/2] docs: Updates main and book README.md files. --- README.md | 13 ++++++++++++- xmlity-book/README.md | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 xmlity-book/README.md diff --git a/README.md b/README.md index fe3b195..02fa9e6 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ [docs.rs]: https://docs.rs/xmlity/latest/xmlity/ [xmlity msrv]: https://img.shields.io/badge/rustc-1.82.0+-ab6000.svg [Rust 1.82]: https://blog.rust-lang.org/2023/06/01/Rust-1.82.0.html +[examples]: ./xmlity-quick-xml/examples/ XMLity is a (de)serialization library for XML, inspired by [Serde](https://serde.rs/) and improves upon XML (de)serialization libraries such as [yaserde](https://github.com/media-io/yaserde) and [quick-xml](https://github.com/tafia/quick-xml) by providing a more flexible API that is more powerful, utilising primairly a trial and error approach to parsing XML. This can inherently be a bit slower than other libraries, but it allows for more complex XML structures to be parsed. @@ -15,7 +16,7 @@ XMLity is a (de)serialization library for XML, inspired by [Serde](https://serde ## Get started -To get started, we recommend you check out the [XMLity book](https://xmlity.lukasfri.com) and [the documentation][docs.rs]. +To get started, we recommend you check out the [the documentation][docs.rs] and [the examples][examples]. ## Example @@ -64,6 +65,16 @@ assert_eq!(person.name.0, "John"); assert_eq!(person.age.0, 42); ``` +## Why use XMLity instead of other XML libraries? + +- `serde-xml-rs`: Lacking proper namespace support and other features. +- `yaserde`: Lacking support for trial-and-error deserialization, a requirement for full coverage of XML schemas. +- `quick-xml`(`serde` feature): Lacking support for namespaces. + +## Other resources + +- **The official XML schema generator**: Coming soon! It's already very feature-rich and is good enough to bootstrap itself by deserializing XML schemas using its own generated code, however it still requires some cleanup before its ready for public use. + ## License diff --git a/xmlity-book/README.md b/xmlity-book/README.md new file mode 100644 index 0000000..041d480 --- /dev/null +++ b/xmlity-book/README.md @@ -0,0 +1,3 @@ +# The XMLity Book + +This book is not finished and not up to date. Do not use it, refer to the documentation at [docs.rs](https://docs.rs/xmlity/latest/xmlity/) instead. From 85788fdfbbf719c378f85709fe1c9587e842b10b Mon Sep 17 00:00:00 2001 From: Lukas Friman Date: Wed, 30 Jul 2025 11:57:25 +0200 Subject: [PATCH 2/2] Fixed spelling errors. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 02fa9e6..011094e 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,13 @@ [Rust 1.82]: https://blog.rust-lang.org/2023/06/01/Rust-1.82.0.html [examples]: ./xmlity-quick-xml/examples/ -XMLity is a (de)serialization library for XML, inspired by [Serde](https://serde.rs/) and improves upon XML (de)serialization libraries such as [yaserde](https://github.com/media-io/yaserde) and [quick-xml](https://github.com/tafia/quick-xml) by providing a more flexible API that is more powerful, utilising primairly a trial and error approach to parsing XML. This can inherently be a bit slower than other libraries, but it allows for more complex XML structures to be parsed. +XMLity is a (de)serialization library for XML, inspired by [Serde](https://serde.rs/) and improves upon XML (de)serialization libraries such as [yaserde](https://github.com/media-io/yaserde) and [quick-xml](https://github.com/tafia/quick-xml) by providing a more flexible API that is more powerful, utilising primarily a trial and error approach to parsing XML. This can inherently be a bit slower than other libraries, but it allows for more complex XML structures to be parsed. --- ## Get started -To get started, we recommend you check out the [the documentation][docs.rs] and [the examples][examples]. +To get started, we recommend you check out [the documentation][docs.rs] and [the examples][examples]. ## Example