- From: Stefan Wachter <Stefan.Wachter@gmx.de>
- Date: Thu, 19 Sep 2002 16:06:52 +0200 (MEST)
- To: <ysavourel@translate.com>;xmlschema-dev@w3.org
Maybe you can define your extensibleTypeA as being a union type where one
member type admits the built-in enumeration options and another member type
allows arbitrary QNames:
<simpleType>
<union memberTypes="QName">
<simpleType>
<restriction base="NMTOKEN">
<enumeration value="v1"/>
<enumeration value="v2"/>
</restriction>
</simpleType>
</union>
</simpleType>
--Stefan
>
> Hello,
>
> I'm working with the group developing XLIFF (<http://www.xliff.org>). The
> schema for the next version of this document type should be open in the
> sense that users of the schema should be able to validate instance
> documents
> which deviate from the schema in certain predefined ways:
>
> a) inclusion of additional elements at well-defined extension points
> b) inclusion of additional attributes at well-defined extension points
> c) modification of predefined data types most notably
> 1) replacement of enumeration
> 2) addition to enumeration
>
> Our aim is that any deviation has to be public in the sense that the
> inclusions and modifications are captured in a user-defined XSD schema
> that
> can be accessed for validation purposes.
>
> Our XSD schema should initially work with the Microsoft XML Core Services
> (MSXML) 4.0 Release.
>
> We have the feeling that the 'any' element and the 'anyAttribute' of XSD
> provide support for the deviations of type 'inclusion' (see above). We are
> unsure, however, how to cope with the deviation of type 'modification'
> since
> we are thinking along the following lines:
>
> Our XSD contains something like:
>
> <xsd:simpleType name="extensibleTypeA">
> <xsd:restriction base="xsd:NMTOKEN">
> <xsd:enumeration value="v1"/>
> <xsd:enumeration value="v2"/>
> ...
>
> <xsd:complexType name="ElemType_T">
> <xsd:sequence>
> <xsd:element name="source" type="ElemType_S"/>
> </xsd:sequence>
> <xsd:attribute name="a" type="extensibleTypeA"/>
> ...
>
> <xsd:element name="trans-unit" type="ElemType_T"/>
>
> Users, however, may want to create instances documents such as:
>
> <trans-unit a="userNamespace:v3">...</trans-unit>
>
> Is there a mechanism in XSD that allows this? We are looking at using
> unions
> or derivations, but either techniques seems to require to modify or
> inherit
> >from the original format. Is there a way to use values of a user
> namespace
> the same way we can use elements and attributes?
>
> Thanks in advance for any pointers or suggestions.
> -yves
>
>
>
--
<
Received on Thursday, 19 September 2002 10:07:23 UTC