xsi:schemaLocation
hat zwei Teile, einen Namespace-URI und eine URL, die verwendet wird, um das XML-Schema-Dokument abgerufen werden. In Ihrem Fall sind beide genau die gleiche Zeichenfolge, so dass die folgenden Werke:
ein entferntes Schema Dokument
<?xml version="1.0" encoding="UTF-8"?>
<indexdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.LevTechInc.com/Schemas/IXML.xsd http://www.LevTechInc.com/Schemas/IXML.xsd"
xmlns="http://www.LevTechInc.com/Schemas/IXML.xsd">
<source creator="Txt2Arc" version="3.0" time="2017-01-20T14:41:49"/>
<fonts>
<font id="0">
<fname>Arial</fname>
<aname>Arial</aname>
</font>
</fonts>
</indexdata>
Aber das Testdokument Referenzierung ist nicht gültig in Bezug auf das Schema auf http://www.LevTechInc.com/Schemas/IXML.xsd weil einige Elemente sollten nicht im Namespace http://www.LevTechInc.com/Schemas/IXML.xsd
(source
und fonts
) sein und ein Element fehlt (records
).
Eine naive Art und Weise Ihres Testdokument wäre einzuführen xmlns=""
an mehreren Stellen zu korrigieren Elemente in den Standard-Namespace enden zu vermeiden. Aber eine bessere Lösung ist die Standard-Namespace-Deklaration zu aktivieren:
xmlns="http://www.LevTechInc.com/Schemas/IXML.xsd"
in einer Erklärung mit einem Präfix:
xmlns:ixml="http://www.LevTechInc.com/Schemas/IXML.xsd"
und verwenden sie nur auf dem ein Element, das in diesem Namensraum sein sollte, indexdata
. Dann wird das Dokument
Eine gültige Instanz dieses Schema
<?xml version="1.0" encoding="UTF-8"?>
<ixml:indexdata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.LevTechInc.com/Schemas/IXML.xsd http://www.LevTechInc.com/Schemas/IXML.xsd"
xmlns:ixml="http://www.LevTechInc.com/Schemas/IXML.xsd">
<source creator="Txt2Arc" version="3.0" time="2017-01-20T14:41:49"/>
<fonts>
<font id="0">
<fname>Arial</fname>
<aname>Arial</aname>
</font>
</fonts>
<records></records>
</ixml:indexdata>
Dank, dass gearbeitet zu haben scheint. –
@DaveReam Froh, das zu hören. Wenn mein Beitrag Ihre Frage beantwortet hat, denken Sie bitte daran, sie zu akzeptieren. Vielen Dank! Weitere Hilfe zur Annahme einer Antwort: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work. –