Date: 02 Mar 2000 22:40:58 +0000 From: "Henry S. Thompson" <firstname.lastname@example.org> To: XML Developers' list <email@example.com> Subject: Structured attributes
[A moment's thought will lead to realisation that this is displacement activity on the part of the XML Schema: Structures editor, who certainly has better things to do, but I need to get this off my chest.]
Why not structured attributes in XML? Why structured attributes? Well, we all know the comparison between elements and attributes as they stand:
Elements Attributes ordered unordered non-unique unique structured unstructured There are a lot of contexts in which the first two properties of attributes are desireable, but the third is a serious constraint. Here's a design sketch for adding structured attributes: 1) Reserve a family of hitherto unusable names as the names of structured attributes: On balnace I favour names with an initial full-stop (.), but there are arguments in favour of using an initial colon (:) instead; 2) Use element syntax, at the beginning of all element content, with the following restrictions: 2a) No attributes on structured attributes; 2b) Contents is either all structured attributes or all text; 2c) Order doesn't matter; 2d) Uniqueness of names among sibling structured _and_, for children of elements, vanilla old-style attributes. Example: <person age='49'> <.name> <.first>Henry</.first> <.last>Thompson</.last> <.middle>Swift</.middle> </.name> <children otherParent='p33'> . . . </children> </person> The constraints above are equivalent to allowing 'attribute' children to the 'attribute' element in XML Schema, along with making the attribute name uniqueness constraint cumulative: <element name='person'> <complexType> <attribute name='age' type='integer'/> <attribute name='name'> <attribute name='first'/> <attribute name='middle/> <attribute name='last/> </attribute> <element name='children'>...</children> </complexType> </element>
Back to my day job :-)
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2001, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: firstname.lastname@example.org URL: http://www.ltg.ed.ac.uk/~ht/
This is xml-dev, the mailing list for XML developers. List archives are available at http://xml.org/archives/xml-dev/
Prepared by Robin Cover for the The XML Cover Pages archive.