PureXML/Sources/PureXML.swift
Mihaela Mihaljevic 634270d529 feat(catalog): OASIS XML Catalog resolution
Add the PureXML.Catalog namespace: parse an OASIS XML catalog (public,
system, uri, rewriteSystem, rewriteURI, group/catalog by local name) into a
Resolver mapping public/system identifiers and URI names to URIs, with
longest-prefix rewriting and system-over-public precedence. entityResolver
(loadingURI:) builds a Parsing.EntityResolver that resolves an external
identifier through the catalog and loads the URI via an injected closure, so
a catalog plus loader wires entities and DTDs in while the default keeps XXE
closed.

Closes #57
Closes #58
Closes #27
2026-06-08 06:03:02 +02:00

37 lines
874 B
Swift

/// Root namespace for the PureXML package.
public enum PureXML {
/// XML document model types.
public enum Model {}
/// XML parsing types.
public enum Parsing {}
/// XML emitting types.
public enum Emitting {}
/// XML typed decoding types.
public enum Decoding {}
/// XML typed encoding types.
public enum Encoding {}
/// XML validation types.
public enum Validation {}
/// XML stream types.
public enum Stream {}
/// XPath query types.
public enum XPath {}
/// Streaming pattern types (the libxml2 `pattern.h` XPath subset).
public enum Pattern {}
/// XPointer fragment-identifier types (the `element()` and `xpointer()`
/// schemes over XPath).
public enum XPointer {}
/// OASIS XML Catalog types (resolving public/system identifiers to URIs).
public enum Catalog {}
}