RE: Representing NOTATIONs in XML Schema?

One of our XML Schema WG reps opined that  notations in W3C XML Schema are not the same as those from DTDs in XML 1.0 due to various incompatibilities that couldn't be resolved. 

 -----Original Message----- 
 From: Roger L. Costello [mailto:costello@mitre.org] 
 Sent: Tue 7/2/2002 11:05 AM 
 To: xmlschema-dev@w3.org; costello@mitre.org 
 Cc: 
 Subject: Representing NOTATIONs in XML Schema?
 
 


 Hi Folks,
 
 I am trying to convert a DTD which uses NOTATIONs into an XML Schema. I
 never use NOTATIONs so I am not sure what the XML Schema should look
 like.
 
 [Separate question: does anyone use NOTATIONs in XML?  I thought that
 NOTATIONs was an SGML thing that had lost favor in the XML community.  I
 would be very interested in knowing the answer to this question.]
 
 Let's take an example.  Here's a DTD snippet which declares an element
 and a NOTATION attribute:
 
 <!ELEMENT CountryCode (#PCDATA)>
 <!ATTLIST CountryCode
             vocabulary NOTATION (ISO-1 | ISO-2) "ISO-1">
 <!NOTATION ISO-1 SYSTEM "http://www.iso.org/country-codes/version1">
 <!NOTATION ISO-2 SYSTEM "http://www.iso.org/country-codes/version2">
 
 What would the corresponding XML Schema look like?  Here's my take on
 it:
 
 <xsd:element name="CountryCode">
     <xsd:simpleContent>
         <xsd:extension base="xsd:string>
             <xsd:attribute name="vocabulary" type="ISO-1_NOTATION"/>
             <xsd:attribute name="vocabulary" type="ISO-2_NOTATION"/>
         </xsd:extension>
     </xsd:simpleContent>
 </xsd:element>
 
 <xsd:simpleType name="ISO-1_NOTATION">
     <xsd:restriction base="xsd:NOTATION">
         <xsd:enumeration
                  value="http://www.iso.org/country-codes/version1"/>
     </xsd:restriction>
 </xsd:simpleType>
 
 <xsd:simpleType name="ISO-2_NOTATION">
     <xsd:restriction base="xsd:NOTATION">
         <xsd:enumeration
                  value="http://www.iso.org/country-codes/version2"/>
     </xsd:restriction>
 </xsd:simpleType>
 
 Some things to note:
 
 1. I know that this XML Schema is incorrect.  The datatypes spec says
 that the value of a NOTATION must be a QNAME.  I am not giving the
 enumeration facet a QNAME.
 
 2. The datatype's spec also says that it is invalid to use the NOTATION
 datatype directly.  Rather, you must use a derived type.  That's why I
 created the simpleType definitions.
 
 3. The bottom line is: I really don't know how to represent NOTATIONs in
 XML Schemas.  Any help would be appreciated.  /Roger
 
 

Received on Tuesday, 2 July 2002 14:20:18 UTC