OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] xml taxonomy

[ Lists Home | Date Index | Thread Index ]

A dimension of characterisation I find useful, although I'm still
trying to articulate it clearly, runs from 'vernacular' or
'colloquial' XML at one end, through normal-form XML [1], to
completely generic XML at the other.

An example of each will clarify.

Here's some vernacular XML:

<xs:complexType name="measure">
 <xs:simpleContent>
   <xs:extension base="xs:decimal">
    <xs:attribute name="units" type="my:unitEnum"/>
   </xs:extension>
 </xs:simpleContent>
</xs:complexType>

Here's a (relation) normal form version of it:

<p:complexTypeDefinition id="my..type.measure">
 <p:name>measure</p:name>
 <p:targetNamespace>http://www.example.org/x</p:targetNamespace>
 <p:derivationMethod>extension</p:derivationMethod>
 <p:attributeUse>
  <p:required>false</p:required>
  <p:attributeDeclaration>
   <p:name>units</p:name>
   <p:targetNamespace/>
   <p:typeDefinition ref="my..type.unitEnum"/>
  </p:attributeDeclaration>
 </p:attributeUse>
 <p:contentType>
  <p:variety>simple</p:variety>
  <p:simpleTypeDefinition ref="decimal"/>
 </p:contentType>
</p:complexTypeDefinition>

And here's a generic (entity-relation) version:

<er:entity type="complexTypeDefinition" id="my..type.measure">
 <er:property name="name" value="measure"/>
 <er:property name="targetNamespace" value="http://www.example.org/x"/>
 <er:property name="derivationMethod" value="extension"/>
 <er:relation name="attributeUse">
  <er:entity type="attributeUse">
   <er:property name="required" value="false"/>
   <er:relation name="attributeDeclaration">
    <er:entity type="attributeDeclaration">
     <er:property name="name" value="units"/>
     <er:property name="targetNamespace"/>
     <er:relation name="typeDefinition" xref="my..type.unitEnum"/>
    </er:entity>
   </er:relation>
  </er:entity>
 </er:relation>
 <er:relation name="contentType">
  <er:entity type="simpleTypeDefinition" xref="decimal"/>
 </er:relation>
</er:entity>

The basic differences are:

  1) the generic version uses universal tags, and the
     domain-specific information is all in (attribute) values, whereas
     the other two use domain-specific tags

  2) the normal-form version's structure is homologous with the
     structure of the underlying data, whereas the vernacular
     version's structure is idiosyncratic as determined by the
     document type author.

Different points on this dimension are useful for different kinds of
XML uses.

ht

[1] http://www.ltg.ed.ac.uk/normalForms.html
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
                      Half-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/
 [mail really from me _always_ has this .sig -- mail without it is forged spam]

  • References:



 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS