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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: Empty Complex Type; Mixed Content Type

[ Lists Home | Date Index | Thread Index ]
  • From: Martin Gudgin <marting@develop.com>
  • To: Martin Gudgin <marting@develop.com>, ramesh@eNode.com, xml-dev@xml.org
  • Date: Sun, 01 Oct 2000 22:26:20 +0100

After further study and converse with other WG members I must retract my
earlier assertion about the example in the XML Schema Part 0 - Primer[1]

The example in the Primer ( shown below ) is correct. An explanation of why
seems to be in order...

<xsd:element name="internationalPrice">
 <xsd:complexType>
  <xsd:complexContent>
   <xsd:restriction base="xsd:anyType">
    <xsd:attribute name="currency" type="xsd:string"/>
    <xsd:attribute name="value"    type="xsd:decimal"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
</xsd:element>

It might seem strange to add attributes during a restriction but really it's
no different from the element case.

e.g.

<complexType name='foo'>
  <element name='bar' type='string' />
  <element name='baz' type='string' />
</complexType>

is implicitly a restriction or the ur-type ( xsd:anyType is implicitly the
base ). What is being restricted is the <xsd:any> that appears in the
ur-type. We're saying it's no longer the case the any element can appear but
rather that it must be a bar element followed by a baz element.

The ur-type also contains an <xsd:anyAttribute> so the similar attribute
case would be;

<complexType name='foo'>
  <attribute name='bar' type='string' />
  <attribute name='baz' type='string' />
</complexType>

Here we are restricting the valid attributes from any attributes to a bar
attribute and a baz attribute.

The primer example uses this latter approach and hence is a valid type
description.

I have confirmed that the ur-type cannot be extended.

Sorry for misinformation in my previous post ( although the stuff about
mixed content still stands )

Regards

Martin Gudgin
DevelopMentor

[1] http://www.w3.org/TR/xmlschema-0




----- Original Message -----
From: "Martin Gudgin" <marting@develop.com>
To: <ramesh@eNode.com>; <xml-dev@xml.org>
Sent: Sunday, October 01, 2000 7:43 PM
Subject: Re: Empty Complex Type; Mixed Content Type


> I believe that this is an error and have mailed the editor of the primer
> suggesting the following modification
>
> <xsd:element name="internationalPrice">
>  <xsd:complexType>
>   <xsd:complexContent>
>    <xsd:restriction>
>      <xsd:sequence/>
>    </xsd:restriction>
>   </xsd:complexContent>
>  </xsd:complexType>
> </xsd:element>
>
> Which provides an empty element with no attributes. Because of the use of
an
> anonymous type adding attributes is in fact impossible in this case, a
named
> type should probably be used instead.
>
> I don't *think* extension would actually be allowed as I believe it is
> impossible to extend the urType ( anyType ). However, I am checking this
and
> will confirm later.
>
> With respect to mixed content the 'mixed' attribute was chosen over a
> mixedContent element to allow construction of types like the following
>
> <complexType name='paragraph' mixed='true'>
>   <choice minOccurs='0' maxOccurs='1' >
>     <element name='b' type='string' />
>     <element name='i' type='string' />
>   </choice>
> </complexType>
>
> We didn't want people who just wanted to restrict the urType ( anyType )
to
> have to go to the full blown content model for complexType just to get
mixed
> content.
>
> Hope this helps,
>
> Martin Gudgin
>
> ----- Original Message -----
> From: <ramesh@eNode.com>
> To: <xml-dev@xml.org>
> Sent: Saturday, September 30, 2000 12:30 AM
> Subject: Empty Complex Type; Mixed Content Type
>
>
> > Section 2.5.3 in the XML Schema Part 0: Primer describes how to define
an
> > empty complex type.
> >
> > The example uses restriction while adding a couple attributes to the
type.
> > Is that a typo? I expected to use extension in this case.
> >
> > I also found <xsd:complexType mixed="true"> a little jarring in the
> example
> > in section 2.5.2, because I was expecting <xsd:mixedContent> for
> consistency
> > with <xsd:simpleContent> and <xsd:complexContent>, but this may already
> have
> > been covered in earlier debates. If that's the case, please disregard
this
> > comment.
> >
> > Thanks for clarifying.





 

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

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