[
Lists Home |
Date Index |
Thread Index
]
- From: Ramesh Gupta <ramesh@eNode.com>
- To: xml-dev@xml.org
- Date: Sun, 01 Oct 2000 21:42:17 -0700
What you're saying makes sense, but the question then changes from "Is
restriction correct in this case?" to "Must restriction be explicitly
specified?" In other words, would the following be OK?
<xsd:element name="internationalPrice">
<xsd:complexType>
<xsd:complexContent>
<xsd:attribute name="currency" type="xsd:string"/>
<xsd:attribute name="value" type="xsd:decimal"/>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
I think this should be legal too, and convey the same amount of information
as the example in the Primer, no? Restriction of xsd:anyType would be
implicit in such a type definition, as it is in other cases, right?
Thanks again for clarifying.
Ramesh
on 10/1/00 2:26 PM, Martin Gudgin at marting@develop.com wrote:
> 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:
>
> <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 ).
>
> 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.
|