[Home] [By Thread] [By Date] [Recent Entries]

  • To: "'xml-dev@l...'" <xml-dev@l...>
  • Subject: which xml schema tools do it right concerning including attributes xml:lang and xml:space
  • From: Paul Hermans <paul_hermans@p...>
  • Date: Wed, 17 Apr 2002 17:14:45 +0200

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

       


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member