Když je soubor XML přidružen k DTD nebo schématu XML, je soubor vázán případnými strukturálními pravidly obsaženými v DTD nebo schématu XML. Má-li být soubor XML považován za platný, musí být společně s dokumentem k dispozici soubor DTD nebo schéma XML a tento soubor musí vyhovovat všem deklaracím v DTD nebo ve schématu XML.
Existují dva různé způsoby přiřazování souborů XML k DTD nebo schématům XML.
<!DOCTYPE root-name PUBLIC "IdFaktury" "C:\mydtds\Invoice.dtd">
IdFaktury je veřejný identifikátor souboru DTD. Používá se k přidružení souboru XML k souboru DTD (v tomto případě soubor DTD odpovídá souboru Invoice.dtd). Pokud veřejný identifikátor InvoiceId odpovídá proměnné Klíč položky katalogu XML pro soubor Invoice.dtd, URI položky katalogu XML (které obsahuje informace o umístění souboru Invoice.dtd) se použije k vyhledání DTD. Jinak se k vyhledání DTD použije identifikátor systému DOCTYPE ( "C:\mydtds\Invoice.dtd"), který odkazuje přímo na umístění systému souborů DTD.
Poznámka: Můžete také použít identifikátor systému jako Klíč v položce katalogu XML. Pokud použijete identifikátor systému jako Klíč, do souboru XML se vloží značka DOCTYPE následujícího typu:
<!DOCTYPE Root-name SYSTEM "MyDTD.dtd">
kde MyDTD.dtd je identifikátor systému, který odpovídá Klíči položky katalogu XML.
Pokud je soubor XML přidružen ke schématu XML, do souboru XML se vloží jeden nebo více atributů umístění schématu. Informace v umístění schématu jsou poskytovány jako "hint" procesoru XML. Následující příklady zobrazují atributy umístění schématu.
<purchaseOrder xmlns="http://www.ibm.com" xsi:schemaLocation="http://www.ibm.com C:\myschemas\PurchaseOrder.xsd"> <shipTo country="US"> ...
<purchaseOrder xmlns="http://www.ibm.com" xsi:schemaLocation="http://www.ibm.com PO.xsd"> <shipTo country="US"> ....
V příkladě 1 'hint' schemaLocation ('C:\myschemas\PurchaseOrder.xsd') odkazuje přímo na umístění systému souborů nebo URI schématu XML. V tomto případě bude soubor schématu vyhledán přímo procesorem XML.
V příkladě 2, 'hint' schemaLocation ('PO.xsd') odkazuje na položku katalogu XML. PO.xsd odpovídá proměnné Klíč položky katalogu XML pro PurchaseOrder.xsd a URI položky katalogu XML (které obsahuje informace o umístění PurchaseOrder.xsd) se použije k vyhledání schématu XML.
V obou příkladech je http://www.ibm.com ve značce xsi:schemaLocation URI, které označuje obor názvů pro schéma XML.
<purchaseOrder xmlns:="www.ibm.com" xsi:schemaLocation="http://www.ibm.com po/xsd/PurchaseOrder.xsd ">
Atribut schemaLocation ukazuje na Klíč i na skutečné umístění schématu.
Schéma DTD nebo XML je umístěno na vzdáleném serveru
Některé funkce v editoru XML, jako například asistence ověřování platnosti a obsahová asistence, vyžadují dostupnost schématu DTD nebo XML. Dokumentace produktu poskytuje informace o použití pro případy, kdy se schéma DTD nebo XML nachází na vašem lokálním počítači. Avšak v mnoha případech se může schéma DTD nebo XML nacházet na vzdáleném serveru, například:
<!DOCTYPE Catalog PUBLIC "abc/Catalog" "http://xyz.abc.org/dtds/catalog.dtd">
Za normálních okolností tato skutečnost neznamená žádný problém, protože schéma DTD nebo XML může být načteno ze vzdáleného serveru. Avšak pokud se nacházíte za bránou firewall a nemáte systém s uplatněním SOCKS, pracovní plocha aktuálně neposkytuje žádný způsob, jak určit server socks pro načítání schématu DTD nebo XML. Pokud nejste schopni uplatnit SOCKS ve vašem systému, náhradní řešení tohoto problému spočívá v načtení kopie schématu DTD nebo XML (například s použitím webového prohlížeče) a uložení této kopie na vašem lokálním počítači. Poté můžete lokální kopii umístit buďto ve stejném projektu jako váš soubor XML, nebo můžete použít katalog XML k přidružení veřejného identifikátoru k (místnímu) umístění DTD.
Poznámka: Pokud jste přidružili soubor XML ke schématu XML nebo k DTD, které se nachází na jiném místě v síti, a pracujete na počítači, který je odpojen od sítě, můžete postupovat dle dříve popsaných kroků, chcete-li použít obsahovou asistenci nebo ověřit váš soubor XML.
Pokud vytvoříte přímé přidružení souboru XML k souboru schématu XML nebo k DTD, při každé změně umístění schématu nebo DTD musíte vyhledat a aktualizovat všechny referenční soubory XML novým umístěním DTD nebo schématu. Avšak pokud přidružíte soubor XML ke schématu XML nebo ke klíči DTD, při změně umístění schématu nebo DTD musíte aktualizovat pouze položku katalogu XML, namísto aktualizace každého jednotlivého souboru XML.
Například pokud máte DTD s názvem "Building.dtd", které je přidruženo k pěti souborům XML - Office.xml, House.xml, Apartment.xml, Bank.xml a PostOffice.xml. Přesunete soubor DTD Building.dtd do nového umístění. Máte-li přidružení směru mezi Building.dtd a všemi soubory XML, budete muset aktualizovat deklaraci <DOCTTYPE> v každém souboru XML tak, aby odrážela nové umístění Building.dtd. Avšak pokud máte přidružení katalogu XML a všechny soubory XML odkazují pouze na Klíč Building.dtd, musíte aktualizovat pouze URI a všechny soubory XML budou ukazovat do nového umístění Building.dtd.
Poté, co aktualizujete
položku v katalogu XML, budete možná potřebovat obnovení zobrazení editoru XML tak, aby používal nové informace. Tento krok provedete tak, že klepnete na tlačítko panelu nástrojů Znovu načíst závislosti a
zobrazení bude aktualizováno s použitím aktuálních nastavení katalogu XML. Zobrazení
editoru XML musíte obnovit pouze tehdy, pokud máte otevřen soubor XML, který odkazuje
na položku katalogu XML, která byla aktualizována.
Další informace viz související úlohy.
(c) Copyright 2001, World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University).