- From: Daniel Acton <dacton@itouch.co.za>
- Date: Fri, 1 Dec 2000 14:46:47 +0200 (SAST)
- To: xmlschema-dev@w3.org
On Fri, 1 Dec 2000, Eric van der Vlist wrote:
> Hi,
>
> Daniel Acton wrote:
> >
> > The two instances will have the same elements, but with a different root
> > element. Do I have to write two seperate schemas for this? The examples
> > I've been looking at have this kind of definition of the root element:
>
> You have many ways to do it, the only common point being that you'll
> have to use a xsd:choice at some point...
>
> One of them is to define a complexType that will be used to define both
> dogs and cats:
>
> <xsd:complexType name="animal">
> <xsd:sequence>
> <xsd:element name="height" .../>
> <xsd:element name="weight" .../>
> </xsd:sequence>
> </xsd:complexType>
>
> and to use a xsd:choice in the definition of your root element:
>
> <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
> <xsd:element type="someComplexType" name="xmlRootElement"/>
^^^^^^^^^^^^^^
That's exactly where my problem lies, I'm afraid. I stand to correction,
but the above line is explicitly telling the schema validator to look for
an element (in this case the root element) called 'xmlRootElement'. I am
trying to steer clear of this, so that I can use the schema in the most
extensible way possible.
Ideally, I wish to have one schema and n xml documents, and validate any existing (or any new xml document that may come up in the future) xml
document of this kind. What I am thinking of is abstracting this name from
the schema validator, and building a wrapper around the validator (I'm
using Oracle's Java validator).
Thanks for the help.
Daniel
> <xsd:complexType name="someComplexType">
> <xsd:choice minOccurs="..." maxOccurs="...">
> <xsd:element name="Dog" type="animal" .../>
> <xsd:element name="Cat" type="animal" .../>
> </xsd:choice>
> </xsd:complexType>
> <!-- Rest of schema definition here -->
> </xsd:schema>
>
Received on Friday, 1 December 2000 07:50:17 UTC