Add namespace resolution following the XML Namespaces rules, reimplemented in Swift from libxml2's SAX2 model; no upstream code copied. - QualifiedName gains an optional resolved namespaceURI (nil for names built directly or in no namespace), with a resolved(namespaceURI:) helper. - NamespaceContext maintains a scope stack of xmlns bindings as elements open and close, resolving element and attribute names against it. - A default namespace applies to unprefixed element names but never to attributes; the xml prefix is built in; xmlns declarations are preserved as attributes so documents round-trip; an unbound prefix raises ParseError.undefinedNamespacePrefix. End-tag matching stays lexical. - Namespace-free documents are unchanged (URIs remain nil). - 7 namespace tests; 39 total. |
||
|---|---|---|
| .. | ||
| Attribute.swift | ||
| Element.swift | ||
| Node.swift | ||
| QualifiedName.swift | ||