Mam XML (first.xml), który wygląda ::jak obsługiwać wiele nazw z innym URI w XSD
<?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>
Poniższa XML (second.xml) jest taka sama jak powyżej, ale z inna przestrzeń nazw.
<?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>
Ponieważ mam te same nazwy elementów i atrybutów w obu xml, używam tego samego pliku xsd do sprawdzenia obu.
plik 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">
Po tym xmlns: Mydło = "urn: //bi.webservices/v6" walidacja schematu nie powiodło się dla second.xml mówiąc unkown elementu "mydło: jobinfo". Sprawdziłem i okazało się, że wartość targetNamespace powinna być taka sama jak identyfikator URI przestrzeni nazw. Proszę dać mi znać, jak używać tego samego XSD dla dwóch różnych przestrzeni nazw mających różne identyfikatory URI.
@@ Petru: Bardzo dziękuję za odpowiedź. Nie mogę zrobić Chameleon.XSD, ponieważ istnieje wiele XSD. Wyjaśnij to diagramem lub przykładem, aby lepiej to zrozumieć. – prathima
@prathima, Already zaktualizowała moją odpowiedź, tylko czas ... Jeśli masz naprawdę skomplikowane schematy, które zawierają inne przestrzenie nazw, to nie możesz osiągnąć tego, czego chcesz, Chameleon czy nie. Ideą kameleona jest przyjęcie przestrzeni nazw schematu, który ją tworzy. Więc możesz mieć te same struktury w różnych przestrzeniach nazw, bez duplikowania. Należy pamiętać, że jeden XSD = jedna przestrzeń nazw. –