- From: Randy J. Ray <randy.j.ray@gmail.com>
- Date: Fri, 8 Apr 2005 10:35:13 -0700
- To: xmlschema-dev@w3.org
I'm working on a schema spec for some open-source work of mine. In it, I want to define an element called <documentation>, for obvious uses. I would also like to limit it to one instance per scope (it will be used at several context levels). Here's the catch: I want to allow multiple occurrances if an attribute "lang" is different. So, only one *English* version, and perhaps a Russian one, or a Greek one, etc. This is the block that defines the complexType: <xsd:complexType id="descriptionType" name="descriptionType"> <xsd:annotation> <xsd:documentation> A description block is used to document everything from specific change items to the release as a whole. </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute default="en-US" name="lang" type="xsd:language" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> Here's an example of an element declaration that references a type that references the above. This declaration includes a unique constraint: <xsd:element id="item" name="item" nillable="false" type="tns:itemType"> <xsd:annotation> <xsd:documentation> An item element contains a single block representing an itemType. </xsd:documentation> </xsd:annotation> <xsd:unique name="itemDescriptionLangConstraint"> <xsd:selector xpath="tns:description" /> <xsd:field xpath="@lang" /> </xsd:unique> </xsd:element> This *looks* like it should be correct. However, the xsltproc command-line tool from libxslt doesn't implement <unique>, yet. I get warnings of an unimplemented feature exactly as many times as I have that tag. I haven't been able to get a working Java-based tool for plain validation,. so I haven't been able to test it. Any advice? Am I on the right track? The full schema, if you want to look at it all in context, can be viewed here: http://www.blackperl.com/XML/ChangeLog/changelog093.xsd Randy -- Randy J. Ray / randy.j.ray@gmail.com Campbell, CA
Received on Friday, 8 April 2005 17:35:16 UTC