Kataloge in StyleVision

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

Startseite >  Übersicht über die Verwendung >

Kataloge in StyleVision

StyleVision unterstützt einen Teil der OASIS XML-Kataloge. Mit Hilfe von Katalogen kann StyleVision gebräuchliche Schemas (sowie Stylesheets und andere Dateien) aus lokalen Benutzerordnern abrufen, wodurch die Verarbeitungsgeschwindigkeit erhöht wird, Benutzer auch offline arbeiten können (d.h. ohne mit einem Netzwerk verbunden zu sein) und Dokumente leichter übertragbar werden (da die URIs nur in den Katalogdateien geändert werden müssen).

 

Der Mechanismus in StyleVision funktioniert, wie unten beschrieben.

 

RootCatalog.xml

StyleVision lädt eine Datei namens RootCatalog.xml(Struktur siehe unten), die eine Liste von Katalogdateien enthält, die durchsucht werden. Sie können jeweils im Element nextCatalog in RootCatalog.xml beliebig viele Katalogdateien definieren, die durchsucht werden sollen.

 

<?xml version="1.0" encoding="UTF-8"?>

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"

   xmlns:spy="http://www.altova.com/catalog_ext"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="urn:oasis:names:tc:entity:xmlns:xml:catalog Catalog.xsd">

  <nextCatalog catalog="%PersonalFolder%/Altova/%AppAndVersionName%/CustomCatalog.xml"/> 

  <nextCatalog catalog="CoreCatalog.xml"/>

  <!-- Include all catalogs under common schemas folder on the first directory level -->

  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/Schemas" catalog="catalog.xml" spy:depth="1"/>

  <!-- Include all catalogs under common XBRL folder on the first directory level -->

  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/XBRL" catalog="catalog.xml" spy:depth="1"/>

</catalog>

 

Die in RootCatalog.xml inkludierten Katalogdateien werden durchsucht und die URIs werden entsprechend den Zuordnungen in den Katalogdateien aufgelöst. Beachten Sie, dass die Katalogdateien catalog.xml in den Ordnern Schemas und XBRL des durch die Variable %AltovaCommonFolder% definierten Ordners durchsucht werden. (Der Wert der %AltovaCommonFolder% Variablen wird in der Tabelle unten aufgelistet.) Die Katalogdateien im Altova-Ordner "Common" mappen die vordefinierten Public und System Identifiers häufig verwendeter Schemas (wie z.B. SVG und WSDL) und XBRL-Taxonomien auf URIs, die auf lokal gespeicherte Kopien der entsprechenden Schemas verweisen. Diese Schemas werden bei der Installation von StyleVision im Altova Ordner "Common" installiert. Achten Sie darauf, keine Zuordnungen doppelt zu vergeben, da dies Fehler verursachen könnte.

 

CoreCatalog.xml, CustomCatalog.xml und Catalog.xml

Beachten Sie in der RootCatalog.xml Liste oben, dass CoreCatalog.xml und CustomCatalog.xml als Lookup aufgelistet sind:

 

CoreCatalog.xml enthält bestimmte Altova-spezifische Zuweisungen zum Auffinden von Schemas im Altova Ordner "Common".
CustomCatalog.xml ist eine Skelettdatei, in der Sie ihre eigenen Zuweisungen erstellen können. Sie können für jedes gewünschte Schema Zuweisungen zu CustomCatalog.xml hinzufügen, doch dieses wird nicht von den Katalogdateien im Altova Common-Ordner angegeben. Sie können dies mit Hilfe der unterstützten Elemente des OASIS-Katalogs (siehe unten) tun (siehe unten).
Der Altova-Ordner "Common" enthält eine Reihe von Catalog.xml Dateien. Jede befindet sich in einem Ordner eines bestimmten Schemas oder einer XBRL-Taxonomie im Altova-Ordner "common" und jede weist URIs Public und/oder System Identifier zu, die auf lokal gespeicherte Kopien der entsprechenden Schemas verweisen.

 

Speicherpfad von Katalogdateien und Schemas

Die Dateien RootCatalog.xml und CoreCatalog.xml sind im StyleVision Applikationsordner installiert. Die Datei CustomCatalog.xml befindet sich im Ordner MyDocuments/Altova/StyleVision. Die Catalog.xml Dateien befinden sich in den jeweiligen Schemaordnern. Diese Schemaordner befinden sich im Ordner: %AltovaCommonFolder%\Schemas and %AltovaCommonFolder%\XBRL.

 

Shell-Umgebungsvariablen und Altova-Variablen

Shell-Umgebungsvariablen können im nextCatalog Element verwendet werden, um den Pfad zu Systemordnern zu definieren (siehe RootCatalog.xml-Liste oben). Es werden die folgenden Shell-Umgebungsvariablen unterstützt:

 

%AltovaCommonFolder%

C:\Program Files\Altova\Common2019

%DesktopFolder%

Vollständiger Pfad zum Desktop-Ordner für den aktuellen Benutzer.

%ProgramMenuFolder%

Vollständiger Pfad zum Programmmenü-Ordner für den aktuellen Benutzer.

%StartMenuFolder%

Vollständiger Pfad zum Startmenü-Ordner für den aktuellen Benutzer.

%StartUpFolder%

Vollständiger Pfad zum Startordner für den aktuellen Benutzer.

%TemplateFolder%

Vollständiger Pfad zum Vorlagen-Ordner für den aktuellen Benutzer.

%AdminToolsFolder%

Vollständiger Pfad zum Dateisystemordner, in dem die Verwaltungstools für den aktuellen Benutzer gespeichert sind.

%AppDataFolder%

Vollständiger Pfad zum Applikationsdatenordner für den aktuellen Benutzer.

%CommonAppDataFolder%

Vollständiger Pfad zum Dateiordner mit den Applikationsdaten für alle Benutzer.

%FavoritesFolder%

Vollständiger Pfad zum Ordner "Favoriten" für den aktuellen Benutzer.

%PersonalFolder%

Vollständiger Pfad zum persönlichen Ordner für den aktuellen Benutzer.

%SendToFolder%

Vollständiger Pfad zum Ordner "SendTo" für den aktuellen Benutzer.

%FontsFolder%

Vollständiger Pfad zum Systemschriftarten-Ordner.

%ProgramFilesFolder%

Vollständiger Pfad zum Programmdateiordner für den aktuellen Benutzer.

%CommonFilesFolder%

Vollständiger Pfad zum Ordner "Gemeinsame Dateien" für den aktuellen Benutzer.

%WindowsFolder%

Vollständiger Pfad zum Windows-Ordner für den aktuellen Benutzer.

%SystemFolder%

Vollständiger Pfad zum Systemordner für den aktuellen Benutzer.

%LocalAppDataFolder%

Vollständiger Pfad zum Dateiordner, der als Datenspeicher für lokale (nicht-Roaming) Applikationen dient.

%MyPicturesFolder%

Vollständiger Pfad zum Ordner "Meine Bilder" (oder "Bildbibliothek" in Windows 7).

 

Funktionsweise von Katalogen: DTDs

Kataloge dienen normalerweise dazu, einen Aufruf von einer DTD auf eine lokale URI umzuleiten. Dies geschieht in der Katalogdatei durch Mappen von Public und System Identifiers auf die gewünschte lokale URI. Wenn also die DOCTYPE-Deklaration in einer XML-Datei gelesen wird, findet der Public oder System Identifier über das Katalogdatei-Mapping die gewünschte lokale Ressource.

 

Für gebräuchliche Schemas ist der PUBLIC Identifier normalerweise vordefiniert, sodass nur die URI in der Katalogdatei in die Adresse der richtigen lokalen Kopie geändert werden muss. Wenn das XML-Dokument geparst wird, wird der PUBLIC Identifier darin gelesen. Wenn dieser Identifier in einer Katalogdatei gefunden wird, wird die entsprechende URL in der Katalogdatei nachgeschlagen und das Schema wird von dort aus gelesen. Angenommen Sie verwenden 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 width="20" height="20" xml:space="preserve">

  <g style="fill:red; stroke:#000000">

     <rect x="0" y="0" width="15" height="15"/>

     <rect x="5" y="5" width="15" height="15"/>

  </g>

</svg>

 

Dieses Dokument wird gelesen und der Katalog wird nach dem PUBLIC Identifier durchsucht. Angenommen, die Katalogdatei enthält den folgenden Eintrag:

 

 

<catalog>

  ...

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

  ...

</catalog>

 

In diesem Fall gibt es einen Treffer für den PUBLIC Identifier, sodass der Lookup-Mechanismus für die SVG DTD auf die URI schemas/svg/svg11.dtd umgeleitet wird; (dieser Pfad ist relativ zur Katalogdatei). Diese lokale Datei wird dann als DTD verwendet. Wenn im Katalog kein passender Treffer gefunden wird, wird die URL im XML-Dokument verwendet (im Beispiel oben: http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd).

 

Funktionsweise von Katalogen: Schemas

In StyleVision können Sie eine Umleitung zu einem XML-Schema auch mit Hilfe von Katalogen durchführen. In der XML-Instanzdatei erfolgt die Referenz zum Schema im xsi:schemaLocation Attribut des Dokument-Elements der obersten Ebene des XML-Dokuments. Beispiel,
 

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

 

Normalerweise ist der URI-Teil des Attributwerts (im Beispiel oben fett) der tatsächliche Pfad zum Schema. Wenn das Schema jedoch über einen Katalog referenziert wird, muss der URI-Teil nicht auf das tatsächliche XML-Schema verweisen. Allerdings muss das Schema existieren, damit das xsi:schemaLocation Attribut lexikalisch gültig bleibt. So würde z.B. der Wert foo als URI-Teil des Attributwerts genügen. Die Angabe des Schemapfads im Katalog erfolgt über den Namespace-Teil des Werts des Attributs xsi:schemaLocation. Im Beispiel oben ist der Namespace-Teil http://www.altova.com/schemas/orgchart. Im Katalog würde das Schema auf Basis des Namespace-Teils mit dem folgenden Eintrag gefunden.

 

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

 

 


 

 

Die von StyleVision unterstützte Katalogteilmenge

Wenn Sie Einträge für CustomCatalog.xml (oder jede andere Katalogdatei, die von StyleVision gelesen werden soll)  erstellen, verwenden Sie nur die folgenden Elemente der OASIS-Katalogspezifikation. Jedes der unten angeführten  Elemente wird mit einer Erläuterung der Attributwerte aufgelistet. Eine ausführlichere Beschreibung finden Sie in der XML Catalogs Specification. Bitte beachten Sie: Jedes Element kann das Attribut xml:base erhalten, welches dazu dient, die Basis-URI dieses Elements zu definieren.

 

<public publicId="PublicID of Resource" uri="URL of local file"/>
<system systemId="SystemID of Resource" uri="URL of local file"/>
<uri name="filename" uri="URL of file identified by filename"/>
<rewriteURI uriStartString="StartString of URI to rewrite" rewritePrefix="String to replace StartString"/>
<rewriteSystem systemIdStartString="StartString of SystemID" rewritePrefix="Replacement string to locate resource locally"/>

 

In Fällen, in denen es wie z.B. bei den meisten Stylesheets keinen Public Identifier gibt, kann der System Identifier einer URL direkt über das system Element zugewiesen werden. Außerdem kann eine URI auch über das uri Element einer anderen URI zugewiesen werden. Mit Hilfe der Elemente rewriteURI und rewritsSystem kann der Anfangsteil einer URI bzw. eines System Identifier neu geschrieben werden. Auf diese Art kann der Beginn eines Dateipfads ersetzt werden, wodurch ein anderes Verzeichnis als Ziel definiert werden kann. Nähere Informationen zu diesen Elementen finden Sie in der XML Catalogs Specification.

 

Weitere Informationen

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

 

 

 


© 2019 Altova GmbH