У меня есть XML (first.xml), который выглядит следующим образом: *
<?xml version="1.0" encoding="utf-8"?>
<saw:jobInfo xmlns:saw="com.analytics.web/report/v1.1">
<saw:jobStats>...........</saw:jobStats>
<saw:detailedInfo> .....</saw:detailedInfo>
<saw:fileInfo>..........</saw:fileInfo>
</saw:jobInfo>
Приведенный ниже XML (second.xml) такой же, как и выше, но с другим пространством имен.
<?xml version="1.0" encoding="utf-8"?>
<soap:jobInfo xmlns:soap="urn://bi.webservices/v6">
<soap:jobStats>...........</saw:jobStats>
<soap:detailedInfo> .....</saw:detailedInfo>
<soap:fileInfo>..........</saw:fileInfo>
</soap:jobInfo>
Поскольку у меня одинаковые имена элементов и атрибутов в обоих xml-файлах, я использую один и тот же xsd-файл для проверки обоих.
XSD-файл ::
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="com.analytics.web/report/v1.1"
xmlns="com.analytics.web/report/v1.1"
xmlns:saw="com.analytics.web/report/v1.1"
xmlns:soap="urn://bi.webservices/v6"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
После включения xmlns: soap = "urn: //bi.webservices/v6" проверка схемы не удалась для файла second.xml с неизвестным элементом "soap: jobinfo".Я осмотрелся и обнаружил, что значение targetNamespace должно совпадать с URI пространства имен.Пожалуйста, дайте мне знать, как использовать один и тот же XSD для двух разных пространств имен, имеющих разные URI.