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
43pub mod c14n;
44pub mod document;
45pub mod encoding;
46pub mod error;
47mod hard_limits;
48#[cfg(feature = "xmldsig")]
49pub mod rsa_encoding;
50#[cfg(feature = "experimental-pq")]
53#[allow(dead_code, unused_imports, missing_docs)]
54#[cfg_attr(test, allow(clippy::unwrap_used, deprecated))]
55#[path = "rustcrypto_ml_dsa/lib.rs"]
56mod rustcrypto_ml_dsa;
57#[cfg(feature = "xmldsig")]
58#[doc(hidden)]
61#[allow(dead_code, unused_imports, missing_docs)]
62#[cfg_attr(test, allow(clippy::unwrap_used))]
63#[path = "sxd_document/lib.rs"]
64mod sxd_document;
65#[cfg(feature = "xmldsig")]
66#[doc(hidden)]
67#[allow(dead_code, unused_imports, missing_docs)]
68#[cfg_attr(test, allow(clippy::unwrap_used))]
69#[path = "sxd_xpath/lib.rs"]
70mod sxd_xpath;
71#[path = "xml_input/shared.rs"]
72#[allow(dead_code)]
74mod xml_input_shared;
75pub mod xml_input {
84 pub use crate::xml_input_shared::{Error, decode_xml_bounded, lexical};
85}
86#[cfg(all(test, feature = "xmldsig"))]
87pub(crate) use sxd_document::{Package, QName, dom};
88#[cfg(feature = "xmldsig")]
89pub(crate) use sxd_document::{StorageRequirements, XML_NS_PREFIX, XML_NS_URI, str, string_pool};
90#[cfg(all(test, feature = "xmldsig"))]
91pub(crate) use sxd_xpath::{Context, Factory};
92#[cfg(feature = "xmldsig")]
93pub(crate) use sxd_xpath::{
94 LiteralValue, OwnedPrefixedName, OwnedQName, ParseBudget, Value, axis, context, expression,
95 function, node_test, node_to_num_with_context, nodeset, parser, str_to_num, token, tokenizer,
96};
97#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
98mod operation;
99#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
100pub mod policy;
101#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
102pub mod provider;
103mod xml;
104
105pub use xml::IdAttributeRegistration;
106pub use xml::dom::{
107 Ancestors, Attribute, Attributes, Children, Descendants, Document, Document as XmlDomDocument,
108 ExpandedName, Namespace, Namespaces, Node, Node as XmlDomNode, NodeId, NodeId as XmlDomNodeId,
109 NodeType, PI, ParseError, ParseError as XmlDomParseError, ParsingOptions,
110 ParsingOptions as XmlDomParsingOptions, XmlBackend,
111};
112
113#[cfg(feature = "xmldsig")]
114pub mod key_manager;
115#[cfg(feature = "xmldsig")]
116pub mod xmldsig;
117
118#[cfg(feature = "xmlenc")]
119pub mod xmlenc;
120
121#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
122pub use document::XmlDocumentPolicy;
123pub use document::{
124 AttributeIdentity, DocumentIdentity, DocumentView, NamespaceIdentity, NodeIdentity,
125 SemanticOrder, XmlDocument, XmlDocumentError,
126};
127pub use error::XmlSecError;