Funktionsweise von Katalogen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Einrichten von RaptorXML > XML-Kataloge >

Funktionsweise von Katalogen

In diesem Abschnitt werden folgende Punkte beschrieben:

 

Mappen von Public und System Identifiern auf lokale URLs
Mappen von Dateipfaden, Web URLs und Namen auf lokale URLs

 

Mit Hilfe von Katalogen können Aufrufe entfernter Ressourcen an eine lokale URL umgeleitet werden. Dazu werden in der Katalogdatei Public oder System Identifier, URIs oder Teile von Identifiern an die benötigte lokale URL umgeleitet.

 

Mappen von Public und System Identifiern auf lokale URLs

Wenn die DOCTYPE Deklaration einer DTD in einer XML-Datei gelesen wird, verweist der Public oder System Identifier der Deklaration auf die benötigte Ressource. Wenn der Identifier auf eine entfernte Ressource verweist oder wenn der Identifier kein Lokator ist, kann er dennoch über einen Eintrag in der Katalogdatei auf eine lokale Ressource gemappt werden.

 

Betrachten Sie als Beispiel die folgende SVG-Datei:

 

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"

"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg>

  ...

</svg>

 

Ihr Public Identifier lautet: -//W3C//DTD SVG 1.1//EN

Ihr System Identifier lautet: http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd

 

Mit Hilfe eines Eintrags in einer Katalogdatei könnte der Public Identifier z.B. auf die folgende URL gemappt werden:

 

<public publicId="-//W3C//DTD SVG 1.1//EN" uri="schemas/svg/svg11.dtd"/>

 

Oder der System Identifier könnte mit Hilfe eines Eintrags in einer Katalogdatei auf die folgende lokale URL gemappt werden:

 

<system systemId="http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" uri="schemas/svg/svg11.dtd"/>

 

Falls der Katalog einen übereinstimmenden Eintrag für den Public oder System Identifier enthält, wird die URL verwendet, auf die der Identifier gemappt ist. (Relative Pfade werden mit Verweis auf ein xml:base Attribut im  Katalogelement, das die Umleitung enthält, aufgelöst; als Basis-URL wird die URL der Katalogdatei verwendet.) Falls der Katalog keinen übereinstimmenden Eintrag für den Public oder System Identifier enthält, wird die URL im XML-Dokument verwendet (im obigen Beispiel: http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd).

 

Mappen von relativen oder absoluten Dateipfaden, Web URLs oder Namen auf lokale URLs

Mit Hilfe des Elements uri kann ein relativer oder absoluter Dateipfad oder eine Web URL oder ein beliebiger Name auf eine lokale URL gemappt werden. Dies funktioniert folgendermaßen:

 

<uri name="doc.xslt" uri="C:\Docs\doc.xslt"/>
<uri name="U:\Docs\2013\doc.xslt" uri="C:\Docs\doc.xslt"/>
<uri name="http://www.altova.com/schemas/doc.xslt" uri="C:\Docs\doc.xslt"/>
<uri name="foo" uri="C:\Docs\doc.xslt"/>

 

Wenn der Wert name gefunden wird, wird er auf die im uri Attribut angegebene Ressource gemappt. Bei Verwendung eines anderen Katalogs kann derselbe Name auf eine andere Ressource gemappt werden. Angenommen Sie haben den folgenden Dateipfad:
 

xsi:schemaLocation="http://www.altova.com/schemas/orgchart OrgChart.xsd"

 

Normalerweise ist der URI-Teil des Attributwerts (im Beispiel oben fett gedruckt) ein Pfad zum aktuellen Schema. Wenn das Schema jedoch über einen Katalog referenziert wird, muss der URI-Teil nicht auf ein aktuelles XML-Schema verweisen, muss aber vorhanden sein, damit das Attribut xsi:schemaLocation lexikalisch gültig ist. So wäre z.B. der Wert foo für den URI-Teil des xsi:schemaLocation Attributwerts (anstelle von Orgchart.xsd) ausreichend. Das Schema wird im Katalog anhand des Namespace-Teils des xsi:schemaLocation Attributwerts gefunden. Im obigen Beispiel lautet der Namespace-Teil http://www.altova.com/schemas/orgchart.

 

Im Katalog würde das Schema mit dem folgenden Eintrag anhand dieses Namespace-Teils gefunden.

 

<uri name="http://www.altova.com/schemas/orgchart" uri="C:\MySchemas\OrgChart.xsd"/>        

 

Nähere Informationen zu diesen Elementen finden Sie in der XML-Katalogspezifikation.

 


© 2019 Altova GmbH