OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] simple or complexContent?

[ Lists Home | Date Index | Thread Index ]

At 06:26 PM 4/15/2003 +0100, Henry S. Thompson wrote:
>If the content (between the start tag and the end tag) of an element
>is to be governed by a simple type definition, then use a simple type
>definition for the element iff it allows no attributes, otherwise use
>a complex type definition with simple content.
>
>If the content (between the start tag and the end tag) of an element
>is to be governed by a content model, that is a pattern of elements,
>possibly inter-mixed with text, then use a complex type definition
>with complex content.
>
>In your case, sounds like you want simple content.

Which is the way I had them all defined. Actually I should have mentioned 
that the .Net code generation tool is only having troubles with this one 
instance as well. Here is the combination of things that are being 
complained about:

    <xsd:element name="RefNameCd">
       <xsd:complexType>
          <xsd:simpleContent>
             <xsd:extension base="RefName">
                <xsd:attribute name="PreviousRefs" type="IDREFS"
use="required"/>
             </xsd:extension>
          </xsd:simpleContent>
       </xsd:complexType>
    </xsd:element>

    <xsd:complexType name="RefName">
       <xsd:simpleContent>
          <xsd:restriction base="OpenEnum"/>
       </xsd:simpleContent>
    </xsd:complexType>

    <xsd:complexType name="OpenEnum">
       <xsd:simpleContent>
          <xsd:extension base="OpenEnum_NoID">
             <xsd:attribute name="id" type="ID"/>
             <xsd:attribute name="CodeListRef" type="IDREF"/>
          </xsd:extension>
       </xsd:simpleContent>
    </xsd:complexType>
    <xsd:simpleType name="OpenEnum_NoID">
       <xsd:restriction base="NC_NoID">
          <xsd:maxLength value="80"/>
       </xsd:restriction>
    </xsd:simpleType>

    <xsd:simpleType name="NC_NoID">
       <xsd:restriction base="xsd:token">
          <xsd:minLength value="1"/>
          <xsd:pattern value="[\p{IsBasicLatin}]*"/>
       </xsd:restriction>
    </xsd:simpleType>

FYI, we defined our own ID and IDREFS types, but they just point to the 
standard xsd:id and xsd:idrefs.

..dan


>ht
>--
>   Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
>                       Half-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/
>  [mail really from me _always_ has this .sig -- mail without it is forged 
> spam]





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS