[
Lists Home |
Date Index |
Thread Index
]
Title: which xml schema tools do it right concerning including attributes xml:lang and xml:space
Having in a separate schema file
<?xml version="1.0"?>
<schema targetNamespace="http://www.w3.org/XML/1998/namespace"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns="http://www.w3.org/2001/XMLSchema" >
<attribute name="lang" type="language"/>
<attribute name="space" default="preserve">
<simpleType>
<restriction base="NCName">
<enumeration value="default"/>
<enumeration value="preserve"/>
</restriction>
</simpleType>
</attribute>
<attributeGroup name="specialAttrs">
<attribute ref="xml:lang"/>
<attribute ref="xml:space"/>
</attributeGroup>
</schema>
Now wanting to use these attributes in other schemas some tools require that the
namespace ="http://www.w3.org/XML/1998/namespace" is explicitly declared and using the xml prefix
is OK.
<schema targetNamespace="XXXX"
xmlns:xxx="XXXX"
xmlns="http://www.w3.org/2001/XMLSchema"
--> xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml_tva.xsd"/>
Other tools refuse the prefix xml since it is reserved for W3C needs and then the following works
<schema targetNamespace="XXXX"
xmlns:xxx="XXXX"
xmlns="http://www.w3.org/2001/XMLSchema"
--> xmlns:x="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml_tva.xsd"/>
Still other tools don't want the namespace declaration at all
<schema targetNamespace="XXXX"
xmlns:xxx="XXXX"
xmlns="http://www.w3.org/2001/XMLSchema"
-->
elementFormDefault="qualified"
attributeFormDefault="unqualified">
Which one is the correct way ?
Paul
|