- From: William J. Edney <notifications@github.com>
- Date: Mon, 11 Mar 2019 07:09:22 -0700
- To: w3c/DOM-Parsing <DOM-Parsing@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/DOM-Parsing/issues/47@github.com>
When serializing a node that does not belong in *any* (including the default) namespace, it is important to preserve that fact. XMLSerializer/DOMParser objects have long supported such serialization via the `xmlns=""` mechanism, which instructs the parser to *not* place the element in the default namespace, but that the element should have *no* namespace. This behavior is detailed in the XML namespaces specification, [Namespaces in XML 1.0 (Third Edition)](https://www.w3.org/TR/xml-names/#defaulting): `"The attribute value in a default namespace declaration MAY be empty. This has the same effect, within the scope of the declaration, of there being no default namespace."` As a quick example, consider this: ``` <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <people xmlns=""> <person> <lastname>Smith</lastname> <firstname>Joe</firstname> </person> <person> <lastname>Jones</lastname> <firstname>John</firstname> </person> </people> </head> <body> <button onclick="alert_serialization()">Alert the namespace</button> </body> </html> ``` The `people` element and all of its descendants should be considered to be in **no namespace whatsoever** (i.e. they do **not** inherit the XHTML namespace). This is a critical distinction that has impact in many areas, but especially things like Path querying. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/DOM-Parsing/issues/47
Received on Monday, 11 March 2019 14:09:44 UTC