Я читал тонну о xml и многому научился, но я застрял на одной ошибке.Ошибка проверки XML при использовании нескольких файлов схемы/пространств имен
У меня есть схема, определенная в нескольких файлах, и я не могу заставить ее работать. Ниже приведен пример
==================================
libraryBooks.xsd<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:MyNamespace"
targetNamespace="urn:MyNamespace"
elementFormDefault="qualified"
>
<xsd:element name="libraryBooks" type="libraryBooksType"/>
<xsd:complexType name="libraryBooksType">
<xsd:sequence>
<xsd:any minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
==================================
book.xsd<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:MyNamespace2"
targetNamespace="urn:MyNamespace2"
elementFormDefault="qualified"
>
<xsd:element name="book" type="booksType"/>
<xsd:complexType name="bookType">
<xsd:attribute name="title" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
=======================
myXml.xml
<?xml version="1.0" encoding="utf-8" ?>
<libraryBooks
xmlns="urn:MyNamespace"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:MyNamespace file:///C:/libraryBooks.xsd"
name="CentralLibrary">
<mn2:book
xmlns:mn2="file:///C:/book.xsd"
title="How to make xml work the way I want">
</mn2:book>
</libraryBooks>
Так ошибка я бы " 'Файл: /// C: /book.xsd: книга' элемент не найден". Любые идеи? Я почти уверен, что это что-то простое
Редактировать: Большое вам спасибо. Я был рядом, но просто застрял на одной второстепенной вещи. Очень цените направление. Я попробовал оба метода, и в случае, если кто-то читает это интересно, как ввести несколько schemaLocations в корневом узле
xsi:schemaLocation="urn:MyNamespace file:///C:/libraryBooks.xsd
urn:MyNamespace2 file:///C:/book.xsd"
На каком языке вы пытаетесь разобрать XML – Rachel
Я бы попытался переместить xmlns: mn2 = "file: /// C: /book.xsd" на верхний уровень – Grzenio