Add the PureXML.Regex namespace: a recursive-descent parser for the XSD
regex grammar (literals, ., character classes with ranges and negation, the
\d \w \s family and negations, single-char escapes, grouping, alternation,
and the ?, *, +, {n}, {n,}, {n,m} quantifiers) compiled to a Thompson NFA.
matches(_:) is whole-string as xs:pattern requires, and runs linear in the
input with no backtracking blow-up. \p{...} category escapes are not yet
supported.
Closes #59
Closes #60
Closes #30
46 lines
1.1 KiB
Swift
46 lines
1.1 KiB
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 {}
|
|
|
|
/// Canonical XML (C14N) serialization types.
|
|
public enum Canonical {}
|
|
|
|
/// Regular-expression types (the XML Schema regex flavor).
|
|
public enum Regex {}
|
|
}
|