[
Lists Home |
Date Index |
Thread Index
]
- From: Istvan Cseri <istvanc@microsoft.com>
- To: "'ht@cogsci.ed.ac.uk'" <ht@cogsci.ed.ac.uk>, "XML Developers' list" <xml-dev@xml.org>
- Date: Thu, 2 Mar 2000 15:51:14 -0800
I've been lobbying for something like this in the last 2 years ! I'd like to
see this happening but in my opinion it would be a mistake to restrict the
content or structure of the structured attributes. Users today use
subelements to simulate this missing feature and if we don't provide a full
blown replacement this won't work.
Istvan
-----Original Message-----
From: ht@cogsci.ed.ac.uk [mailto:ht@cogsci.ed.ac.uk]
Sent: Thursday, March 02, 2000 2:41 PM
To: XML Developers' list
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 :-)
ht
--
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: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|