[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
My report on experiments with unused namespaces
- From: "Costello, Roger L." <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- Date: Wed, 15 Sep 2010 13:35:59 -0400
Hi Folks,
[Definition] Unused namespace: a namespace in an XML instance document which is not used in any element or attribute name.
Example: This XML document contains an unused namespace:
<root xmlns="http://www.used.org"
xmlns:u="http://www.unused.org">
<child>true</child>
</root>
The unused namespace is this:
http://www.unused.org
I validated the XML document against this XML Schema:
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.used.org"
elementFormDefault="qualified">
<element name="Root">
<complexType>
<sequence>
<element name="child" type="boolean" />
</sequence>
</complexType>
</element>
</schema>
These 5 XML Schema validators reported the above XML document valid:
- Xerces-J
- Saxon-EE
- XSV
- MSXML 4.0
- MSXML.NET
I created experiments to test the following things:
1. Is there any restriction on the format of unused namespaces? Are the unused namespaces constrained to URL and URN formats?
2. Is there any restriction on the characters used in unused namespaces?
3. Is there any restriction on the length of unused namespaces?
4. Is there any restriction on the number of unused namespaces?
5. Can multiple unused namespaces have the same value?
Here are my results:
1. There are no restrictions on the format of unused namespaces. Any string is acceptable. All 5 XML Schema validators validated XML documents containing unused namespaces regardless of their format.
2. There are restrictions on legal characters in unused namespaces. These characters cannot be used:
< (however, this is legal: <)
& (however, this is legal: &)
Characters that are not legal XML characters are not legal in unused namespaces, e.g., &x0001;
If the namespace delimiter is " then it can't be used (however, this is legal: ")
If the namespace delimiter is ' then it can't be used (however, this is legal: ')
3. To test for restrictions on the length of unused namespaces, I copied the entire XML specification and made it an unused namespace (after escaping these symbols: <, &, "). The resulting namespace was nearly 128,000 bytes long. All 5 XML Schema validators validated the XML document containing this huge unused namespace.
4. I created an XML document containing 26 unused namespaces. All 5 XML Schema validators validated the XML document.
5. I created an XML document containing 25 unused namespaces, each having the same value. All 5 XML Schema validators validated the XML document.
Did I miss anything? Are there any other experiments I should conduct regarding unused namespaces?
/Roger
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]