Katalogdateien

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

Startseite >  Anpassen von MapForce >

Katalogdateien

MapForce unterstützt einen Teil der OASIS XML-Kataloge. Mit Hilfe von Katalogen kann MapForce 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 MapForce funktioniert, wie unten beschrieben.

 

RootCatalog.xml

MapForce 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. Die in RootCatalog.xml inkludierten Katalogdateien werden durchsucht und die URIs werden entsprechend den Zuordnungen in den Katalogdateien aufgelöst.

 

<?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>

 

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 MapForce 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 MapForce Applikationsordner installiert. Die Datei CustomCatalog.xml befindet sich im OrdnerMyDocuments/Altova/MapForce. 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\CommonMapForce

%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 Dateisystemverzeichnis, 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 Dateiverzeichnis 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.

%CommonAppDataFolder%

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

%LocalAppDataFolder%

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

%MyPicturesFolder%

Vollständiger Pfad zum Ordner "Meine Bilder".

 

 

Funktionsweise von Katalogen

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. Wenn also die folgende SVG-Datei in MapForce geöffnet wird:

 

 

<?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).

 

Die von MapForce unterstützte Katalogteilmenge

Wenn Sie Einträge für CustomCatalog.xml (oder jede andere Katalogdatei, die von MapForce 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.

 

Dateierweiterungen und intelligente schemagemäße Bearbeitung

Mittels Katalogdateien können Sie auch festlegen, dass auf Dokumente mit einer bestimmten Dateierweiterung die intelligenten Bearbeitungsfunktionen von MapForce gemäß den Regeln des von Ihnen angegebenen Schemas angewendet werden. Wenn Sie z.B. eine benutzerdefinierte Dateierweiterung .myhtml für (HTML)-Dateien erstellen, die gemäß der HTML-DTD gültig sein sollen, können Sie die intelligente Editierung für Dateien mit dieser Erweiterung aktivieren, indem Sie das folgende Textelement als Child-Element des <catalog> Elements zu CustomCatalog.xml hinzufügen.

 

<spy:fileExtHelper ext="myhtml" uri="schemas/xhtml/xhtml1-transitional.dtd"/>

 

Damit werden die intelligenten Bearbeitungsfunktionen (Autokomplettierung, Eingabehilfen usw.) von .myhtml-Dateien in MapForce gemäß der XHTML 1.0 Transitional DTD aktiviert.

 

XML-Schema und Kataloge

XML-Schemainformationen sind in MapForce integriert und die Gültigkeit von XML-Schema-Dokumenten wird anhand dieser internen Informationen überprüft. Daher sollte in einem XML-Schema-Dokument kein Verweis auf ein Schema für XML-Schema vorgenommen werden.

 

Die Datei Catalog.xml im Ordner %AltovaCommonFolder%\Schemas\schema enthält Referenzen auf DTDs, die ältere XML-Schema-Spezifikationen implementieren. Zweck dieser beiden DTDs ist es einzig und allein, für die Eingabehilfen von MapForce zu Bearbeitungszwecken Informationen bereitzustellen, falls Sie Dateien gemäß diesen älteren Empfehlungen erstellen wollen.

 

Weitere Informationen

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

 


© 2019 Altova GmbH