PureXML/Sources/PureXML.swift
Mihaela Mihaljevic 85f2ad2ebd feat(xinclude): XInclude, URI resolution, and xml:base
Add the PureXML.XInclude namespace: RFC 3986 reference resolution
(URIReference with dot-segment removal) and an xi:include processor over the
value tree. href resolves against the base and in-scope xml:base; parse=xml
includes the document element or an xpointer() fragment (via PureXML.XPointer),
parse=text includes raw text, and a failed load uses xi:fallback or errors.
Includes nest. No I/O is done internally: fetching is only through the
injected loadingURI closure, so the default fetches nothing.

Closes #48
Closes #49
Closes #50
Closes #51
Closes #24
2026-06-08 06:08:31 +02:00

40 lines
974 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 {}
/// XInclude processing, URI reference resolution, and `xml:base`.
public enum XInclude {}
}