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
40 lines
974 B
Swift
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 {}
|
|
}
|