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