W3C home > Mailing lists > Public > xmlschema-dev@w3.org > June 2004

RE: Problem with types derived from mixed complex types

From: Tait E Larson <telarson@us.ibm.com>
Date: Fri, 4 Jun 2004 12:42:19 -0700
To: "Michael Kay" <mhk@mhk.me.uk>
Cc: xmlschema-dev@w3.org
Message-ID: <OF37B36475.DA82960A-ON88256EA9.00688A90-88256EA9.006C6BF8@us.ibm.com>





Michael,

I'm not 100% sure your example works in this case.  In the case described
in the link below the base type is complex (i.e. contains other elements).
In your example I believe "xsl:generic-element-type" is simple.

I tried modifiying your example slightly.  Here's a new example.

      <xs:complexType name="SUB">
            <xs:simpleContent>
                  <xs:restriction base="BASE">
                        <xs:simpleType>
                              <restriction base="xs:string"/>
                        </xs:simpleType>
                        <xs:attribute name="attrB" type="xs:string"
fixed="foo" />
                  </xs:restriction>
            </xs:simpleContent>
      </xs:complexType>

      <xs:complexType name="BASE" mixed="true">
            <xs:sequence>
                  <xs:element name="elemA" type="xs:integer" />
            </xs:sequence>
            <xs:attribute name="attrB" type="xs:string" />
      </xs:complexType>


I get the following error when I try to validate this schema or the schema
you provided:


src-ct.2: Complex Type Definition Representation Error for type 'SUB'.
When simpleContent is used, the base type must be a complexType whose
content type is simple, or, only if extension is      specified, a simple
type.

I'm using WebSphere Studio Application Developer v5.1.1 (based on eclipse)
for validation.

Thanks for your help.

Tait



                                                                           
             "Michael Kay"                                                 
             <mhk@mhk.me.uk>                                               
                                                                        To 
             06/04/2004 09:58          Tait E Larson/Burlingame/IBM@IBMUS, 
             AM                        <xmlschema-dev@w3.org>              
                                                                        cc 
                                                                           
                                                                   Subject 
                                       RE: Problem with types derived from 
                                       mixed complex types                 
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




This is how it's done in the schema for XSLT 2.0:

<xs:complexType name="versioned-element-type" mixed="true">
  <xs:complexContent>
    <xs:extension base="xsl:generic-element-type">
      <xs:attribute name="version" type="xs:decimal" use="optional"/>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

<xs:complexType name="text-element-base-type">
  <xs:simpleContent>
    <xs:restriction base="xsl:versioned-element-type">
      <xs:simpleType>
        <xs:restriction base="xs:string"/>
      </xs:simpleType>
      <xs:anyAttribute namespace="##other" processContents="lax"/>
    </xs:restriction>
  </xs:simpleContent>
</xs:complexType>

<xs:element name="text" substitutionGroup="xsl:instruction">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xsl:text-element-base-type">
        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no"
default="no"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

This is doing what the post you refer to says isn't allowed: deriving
simpleContent by restriction from complexContent. It seems to work!

Michael Kay


>
>
> In regards to restricting a complex type so that it only
> contains text, has
> this problem been resolved?  The original post can be found here:
>
> http://lists.w3.org/Archives/Public/xmlschema-dev/2003Jan/0028.html
>
> I looked through the errata at:
>
> http://www.w3.org/2001/05/xmlschema-rec-comments.html.
>
> I could not find any discussion of the problem.
>
> Thanks,
>
> Tait
>
>
>
Received on Friday, 4 June 2004 15:43:01 GMT

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