[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] increment pattern for an attribute..
- From: Rick Jelliffe <rjelliffe@allette.com.au>
- To: xml-dev@lists.xml.org
- Date: Thu, 08 Nov 2007 18:10:11 +1100
On Tue, 2007-11-06 at 20:35 +0000, Michael Kay wrote:
> >
> > I use W3C XML schema language 1.0.
>
> Well, I assumed you were aware that what you are asking for is well beyond
> the expressive power of XSDL 1.0.
If you were desparate, you could try the following hack:
<xsd:element name="data" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="20" />
</xsd:element>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="21" />
</xsd:element>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="22" />
</xsd:element>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="23" />
</xsd:element>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="24" />
</xsd:element>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="25" />
</xsd:element>
</xsd:element>
<xsd:sequence minOccurs="0">
<xsd:element name="el">
<xsd:complexType>
<xsd:element ref="ch" />
<xsd:attribute
name="val"
fixed="26" />
</xsd:element>
</xsd:element>
<xsd:sequence>
<xsd:sequence>
<xsd:sequence>
<xsd:sequence>
<xsd:sequence>
<xsd:sequence>
<xsd:sequence>
</xsd:complexType>
</xsd:element>
However, this is stretching the purpose of XML Schemas. When thinking
about XSD 1.0, it is approporiate to keep in mind that it is not
designed to handle dynamic or contextual constraints, only static
issues. (With the particular exceptions of local element declarations.)
If dynamic and contextual constraints are important to you, you may be
better to keep the XSD grammars simple and use another layer for the
additional constraints. I mentioned Schematron and Mike mentioned XSD
1.1, both of which support making assertions using XPaths.
Cheers
Rick Jelliffe
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]