1#![deny(unsafe_code)]
30#![deny(clippy::unwrap_used)]
31#![warn(missing_docs)]
32
33extern crate alloc;
34#[cfg(feature = "xmldsig")]
35#[macro_use]
36extern crate peresil;
37
38#[cfg(not(any(feature = "xml-backend-xmloxide", feature = "xml-backend-roxmltree")))]
39compile_error!(
40 "compile at least one XML backend: `xml-backend-xmloxide` or `xml-backend-roxmltree`"
41);
42
43#[cfg(feature = "benchmark-internals")]
44#[doc(hidden)]
45pub mod benchmark_support;
46pub mod c14n;
47pub mod document;
48pub mod encoding;
49pub mod error;
50mod hard_limits;
51#[cfg(feature = "xml-backend-roxmltree")]
55#[allow(dead_code, unused_imports, missing_docs)]
56#[cfg_attr(test, allow(clippy::unwrap_used))]
57#[path = "parser_roxmltree/lib.rs"]
58mod parser_roxmltree;
59#[cfg(feature = "xml-backend-xmloxide")]
60#[allow(dead_code, unused_imports, missing_docs)]
61#[cfg_attr(test, allow(clippy::unwrap_used))]
62#[path = "parser_xmloxide/lib.rs"]
63mod parser_xmloxide;
64#[cfg(feature = "xmldsig")]
65pub mod rsa_encoding;
66#[cfg(feature = "xmldsig")]
67#[path = "rustcrypto_sha3/lib.rs"]
68mod rustcrypto_sha3;
69#[cfg(feature = "experimental-pq")]
72#[allow(dead_code, unused_imports, missing_docs)]
73#[cfg_attr(test, allow(clippy::unwrap_used, deprecated))]
74#[path = "rustcrypto_ml_dsa/lib.rs"]
75mod rustcrypto_ml_dsa;
76#[cfg(feature = "xmldsig")]
77#[doc(hidden)]
80#[allow(dead_code, unused_imports, missing_docs)]
81#[cfg_attr(test, allow(clippy::unwrap_used))]
82#[path = "sxd_document/lib.rs"]
83mod sxd_document;
84#[cfg(feature = "xmldsig")]
85#[doc(hidden)]
86#[allow(dead_code, unused_imports, missing_docs)]
87#[cfg_attr(test, allow(clippy::unwrap_used))]
88#[path = "sxd_xpath/lib.rs"]
89mod sxd_xpath;
90#[path = "xml_input/shared.rs"]
92#[allow(dead_code)]
94mod xml_input_shared;
95#[cfg(feature = "xslt")]
96#[doc(hidden)]
97#[allow(dead_code, unused_imports, missing_docs)]
98#[path = "xslt/lib.rs"]
99mod xslt;
100pub mod xml_input {
109 pub use crate::xml_input_shared::{Error, decode_xml_bounded, lexical};
110}
111#[cfg(all(test, feature = "xmldsig"))]
112pub(crate) use sxd_document::{Package, QName, dom};
113#[cfg(feature = "xmldsig")]
114pub(crate) use sxd_document::{StorageRequirements, XML_NS_PREFIX, XML_NS_URI, str, string_pool};
115#[cfg(all(test, feature = "xmldsig"))]
116pub(crate) use sxd_xpath::{Context, Factory};
117#[cfg(feature = "xmldsig")]
118pub(crate) use sxd_xpath::{
119 LiteralValue, OwnedPrefixedName, OwnedQName, ParseBudget, Value, axis, context, expression,
120 function, node_test, node_to_num_with_context, nodeset, parser, runtime, str_to_num, token,
121 tokenizer,
122};
123#[cfg(feature = "xmldsig")]
124pub mod key_establishment;
125#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
126mod operation;
127#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
128pub mod policy;
129#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
130pub mod provider;
131mod xml;
132
133pub use xml::IdAttributeRegistration;
134pub use xml::dom::{
135 Ancestors, Attribute, Attributes, Children, Descendants, Document, Document as XmlDomDocument,
136 ExpandedName, Namespace, Namespaces, Node, Node as XmlDomNode, NodeId, NodeId as XmlDomNodeId,
137 NodeType, PI, ParseError, ParseError as XmlDomParseError, ParsingOptions,
138 ParsingOptions as XmlDomParsingOptions, XmlBackend, XmlIdError,
139};
140
141#[cfg(feature = "xmldsig")]
142pub mod key_manager;
143#[cfg(feature = "xmldsig")]
144pub mod xmldsig;
145
146#[cfg(feature = "xmlenc")]
147pub mod xmlenc;
148
149#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
150pub use document::XmlDocumentPolicy;
151pub use document::{
152 AttributeIdentity, DocumentIdentity, DocumentView, NamespaceIdentity, NodeIdentity,
153 SemanticOrder, XmlDocument, XmlDocumentError,
154};
155pub use error::XmlSecError;