как обрабатывать несколько пространств имен с разными URI в XSD

У меня есть 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.

9
задан Ping Jin 18 March 2016 в 23:20
поделиться