W3C home > Mailing lists > Public > xmlschema-dev@w3.org > December 2007

RE: Enumerated complex types

From: Michael Kay <mike@saxonica.com>
Date: Thu, 20 Dec 2007 10:20:56 -0000
To: "'Guillaume Lebleu'" <gl@brixlogic.com>
Cc: <xmlschema-dev@w3.org>
Message-ID: <00aa01c842f2$022ecec0$6401a8c0@turtle>

> Perhaps you could expand on how you see the assert approach 
> with external XML file as you described could work for code assist.

That's certainly an interesting challenge, and in general it's true that
predicate logic is too powerful to be reverse-engineered in this kind of
way. There may however be stereotype patterns that can be recognized to
extract a list of valid values from an assertion.

However, I'm not entirely convinced that syntax-directed editing is the
ultimate user interface, or that we should develop XML Schema in the
direction of making it into a user-interface definition language. I'd like
to see advances in tools like XForms to allow a more customized interface
for XML authoring.

Michael Kay
http://www.saxonica.com/

> 
> My idea was something like:
> 
> <xs:complexType name="GenericStatus_Type">
>    <xs:sequence>
>       <xs:element name="StatusCode" type="xs:string"/>
>       <xs:element name="Severity" type="xs:string" minOccurs="0"/>
>       <xs:element name="Desc" type="xs:string" minOccurs="0"/>
>    </xs:sequence>
> </xs:complexType>
> 
> <xs:complexType name="Status_Type">
>     <xs:restriction base="GenericStatus_Type">
>        <xs:enumeration>
>           <ifx:StatusCode>100</ifx:StatusCode>
>           <ifx:Status>Error</ifx:Status>
>           <ifx:Desc>General Error</ifx:Desc>
>        </xs:enumeration>
>     </xs:restriction>
> </xs:complexType>
> 
> The Status_Type could be also part of a separate xs:include 
> xsd file that can be easily updated dynamically given an XML 
> document containing the code list. Code assist would be quite 
> easy too.
> 
> Guillaume
Received on Thursday, 20 December 2007 10:21:09 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:01 GMT