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(feature = "xmldsig")]
98pub mod key_establishment;
99#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
100mod operation;
101#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
102pub mod policy;
103#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
104pub mod provider;
105mod xml;
106
107pub use xml::IdAttributeRegistration;
108pub use xml::dom::{
109 Ancestors, Attribute, Attributes, Children, Descendants, Document, Document as XmlDomDocument,
110 ExpandedName, Namespace, Namespaces, Node, Node as XmlDomNode, NodeId, NodeId as XmlDomNodeId,
111 NodeType, PI, ParseError, ParseError as XmlDomParseError, ParsingOptions,
112 ParsingOptions as XmlDomParsingOptions, XmlBackend, XmlIdError,
113};
114
115#[cfg(feature = "xmldsig")]
116pub mod key_manager;
117#[cfg(feature = "xmldsig")]
118pub mod xmldsig;
119
120#[cfg(feature = "xmlenc")]
121pub mod xmlenc;
122
123#[cfg(any(feature = "xmldsig", feature = "xmlenc"))]
124pub use document::XmlDocumentPolicy;
125pub use document::{
126 AttributeIdentity, DocumentIdentity, DocumentView, NamespaceIdentity, NodeIdentity,
127 SemanticOrder, XmlDocument, XmlDocumentError,
128};
129pub use error::XmlSecError;