Commit Graph

69 Commits

Author SHA1 Message Date
rsdy cfd5d48841 Extract struct handling for ser/de macros 2022-09-22 15:04:48 +02:00
Dirkjan Ochtman fb7570056d Add support for rename annotations 2022-09-07 22:35:36 +02:00
Dirkjan Ochtman f64634155e Fix support for attributes with no default namespace fallback 2022-09-07 22:35:36 +02:00
Dirkjan Ochtman b30859929b Mandate that attribute namespaces are valid prefixes 2022-09-07 21:38:44 +02:00
Dirkjan Ochtman 570cdc81a5 Fix prefixes on close tags 2022-09-07 21:38:44 +02:00
Dirkjan Ochtman 3b07f39881 Clarify Node variant name 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 7d241959d8 Centralize serializer prefix logic in one place 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 110605ba99 Handle namespaces in serializer in a more principled way 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 6238ed87c5 Turn serializer API into a proper abstraction 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 0f22e36844 Work around rustc bug in CI 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman c8cc5f5a48 Simplify output token stream for ToXml macro 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 6c2dd89ef3 Rename and group escaping functions 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 744faa1225 Create streamlined API for taking value out deserializer 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman cd37e306ad Rename fields to raw keywords 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 674039a791 Simplify deserializer macro setup 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 01c896a9b2 Remove indirection through Visitor 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 4b0d5a7698 Simplify deserializer token stream 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 6c0cb83189 Use error variant for field duplicates 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman ebc29b5761 Rename types and variables to better reflect contents 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman ebb6ebb52c Move types to better scoped modules 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 685189f00d Allow paths as namespace values 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman e9e339afc9 Stop defining namespaces through prefixes on fields 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 11cca274b2 Separate Context out of Deserializer 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 859df7ae24 No need to pass visitor instance to methods 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 000b47628b Use split_for_impl() to improve generics handling 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman afdbf2dc45 Move serialization macro into module 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 9577aace57 Move user-facing serialization interface out of trait 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 2827bd404e Move user-facing deserialization interface out of trait 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 921e094925 Use Id type to make namespaces explicit part of node identity 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman f42f9fd811 Introduce Node layer to gain full access to parsed element 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 611db8335e Derive Debug for more types 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 7fa6340f8e Inline single-use method consume_next_def_namespace() 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 6e0b105b8b Inline single-use method compare_parser_and_def_default_namespaces() 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 2267863ae7 Inline single-use method check_close_tag() 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 2de53e3009 Rename TagData fields 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 37098393be Split tests into multiple files 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman f6d7a51fff Use similar-asserts for test cases 2022-09-07 13:06:44 +02:00
Dirkjan Ochtman 25089014fb Rename namespace to ns in attributes
This more closely mimics the way xmlns gets used in XML in
addition to being more concise.
2022-09-07 13:06:44 +02:00
Dirkjan Ochtman dee065cd9a Refactor how attributes are parsed 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman bebeba8d72 Clarify FromXml identity const 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman 9cfee92d03 Move serializer code into ser module 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman f7bbc00172 Move deserializer code into de module 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman c04c277b49 Rename se module to ser 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman 4563ec0db6 Use &'static str in TagName 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman 14746d9854 Inline enum matching functions 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman e03a6ea087 Rename get_namespaces() to namespaces() 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman d623fa32ab Move namespace comparison into Deserializer method 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman edc1fbd64c Avoid elided lifetimes to refer to XML lifetime 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman c6a6e707a4 Fix spelling errors 2022-09-01 17:41:33 +02:00
Dirkjan Ochtman c62bf5632d Simplify trait bound declarations 2022-09-01 17:41:33 +02:00