Sharkky
Зарегистрирован: 10.01.2004 Сообщения: 72
|
Добавлено: Чт Сен 23 2004 22:06 Заголовок сообщения: Нужна помощь в понимании, что не так в XML простом примере |
|
|
XML validation troubles
Нужна помощь в понимании того, что не так в простом примере
Есть проблема - я не понимаю, что не правильно в приведённых ниже простых примерах.
Xml-документ создан на основе схемы, которая использует другую схему.
Я пытался validate этот пример парсерами разных редакторов (IntelliJ Idea, XMLSpy and .Net XML Editor). Все говорят, что есть ошибка, но все указывают в разные места и пишут разные слова.
Вот пример:
simplebase.xsd:
Код: |
1 <xsi:schema targetNamespace="http://my.org/SimpleBase"
2 xmlns:xsi="http://www.w3.org/2001/XMLSchema"
3 xmlns="http://my.org/SimpleBase">
4 <xsi:element name="ElementOfBaseSchema" type="TBaseElement"/>
5 <xsi:complexType name="TBaseElement">
6 <xsi:sequence>
7 <xsi:element name="BaseFirst" type="xsi:string"/>
8 <xsi:element name="BaseSecond" type="xsi:string"/>
9 </xsi:sequence>
10 </xsi:complexType>
11 </xsi:schema>
|
dependent.xsd:
Код: |
1 <xsi:schema targetNamespace="http://my.org/Dependent"
2 xmlns:base="http://my.org/SimpleBase"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema">
4 <xsi:import namespace="http://my.org/SimpleBase" schemaLocation="D:\testdir\implebase.xsd"/>
5 <xsi:element name="DependentElement">
6 <xsi:complexType>
7 <xsi:sequence>
8 <xsi:element name="BaseUsage" type="base:TBaseElement"/>
9 </xsi:sequence>
10 </xsi:complexType>
11 </xsi:element>
12 </xsi:schema>
|
test.xml:
Код: |
1 <DependentElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2 xmlns="http://my.org/Dependent"
3 xmlns:base="http://my.org/SimpleBase"
4 schemaLocation="D:\testdir\dependent.xsd ">
5 <BaseUsage>
6 <base:BaseFirst>First element in BaseElement sequence </base:BaseFirst>
7 </BaseUsage>
8 </DependentElement>
|
IntelliJ Idea говорит, что ошибка находиться на линии 6 в файле test.xml (base:BaseFirst is not allowed here).
XMLSpy говорит, что неправильна 4 линия (Unable to determine location of schema components sets).
XML редактор dotNet'a считает, что неверна dependent.xsd - "Document Element tag xsi:schema must identify qualifier for the targetNamespace "http://my.org/Dependent""
Очень хочется, чтобы кто-нибудь объяснил, что же в действительности не так, и почему!!! |
|