- From: Didier Perhirin <dperhirin@smtp2.cosmosbay.com>
- Date: Tue, 13 Jun 2000 16:06:28 +0200
- To: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
- Cc: "'xml-dev@xml.org'" <xml-dev@xml.org>
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
Received on Tuesday, 13 June 2000 10:04:23 UTC