[
Lists Home |
Date Index |
Thread Index
]
- From: Didier Perhirin <dperhirin@smtp2.cosmosbay.com>
- To: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
- Date: Tue, 13 Jun 2000 16:06:28 +0200
I'm a newbie in XML Schema definitions, and I have some questions about it.
I'm sorry if the answers are trivial.
1- When we define more than one global element inside a schema, does it
mean
that an XML instance validated by this schema may have different root
elements
according to the defined global element.
Concretely, if I declare a schema
<schema>
<element name="A" type="string"/>
<element name="B" type="string"/>
</schema>
are both following document instances valid :
<?xml version="1.0"?>
<!-- doc1.xml -->
<A>value</A>
<?xml version="1.0"?>
<!-- doc2.xml -->
<B>value</B>
or, just the first one ?
2-This schema defined below is validated by the W3C xmlschema-check CGI :
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:element name="root">
<xsd:complexType>
<xsd:element name="B" type="xsd:string" minOccurs="0"/>
<xsd:choice>
<xsd:element name="A" type="xsd:integer"/>
<xsd:element name="B" type="xsd:integer"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
but, how can a parser do the difference between the use of the first
element B and the use the second element B which is defined into the
choice group.
I thought this schema was not correct, due to an ambiguity.
3- This question is about targetNamespace and the <import> element
Suppose I have a schema which defined a complexType with a targetNamespace
imported_schema_ns:
schema imp_schema.xsd:
<xsd:schema targetNamespace="imported_schema_ns">
<xsd:complexType name="animal">
<xsd:element name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
This schema is imported inside a main schema main_schema.xsd, which have a
different targetNamespace main_schema_ns:
<xsd:schema targetNamespace="main_schema_ns"
xmlns:imp="imported_schema_ns">
<xsd:import namespace="imported_schema_ns"
schemaLocation="imp_schema.xsd"/>
<xsd:element name="lion" type="imp:animal"/>
</xsd:schema>
Is the following XML document valid:
<x:MainTag xmlns:x="main_schema_ns"
xsi:schemaLocation="main_schema_ns main_schema.xsd">
<x:lion><x:name>Elsa</x:name></x:lion>
</x:MainTag>
or is this one better:
<x:MainTag xmlns:x="main_schema_ns"
xmlns:y="imported_schema_ns"
xsi:schemaLocation="main_schema_ns main_schema.xsd
imported_schema_ns imp_schema.xsd">
<x:lion><y:name>Elsa</y:name></x:lion>
</x:MainTag>
Thanks for the answers,
Regards,
Didier Perhirin
CosmosBay
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|