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
37 lines
874 B
Swift
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 {}
|
|
}
|