Generazione schemi XML dai file DTD

La generazione di uno schema XML da un file DTD consente di creare uno schema XML che viene automaticamente completato con gli elementi e gli attributi dal file DTD. Questo può far risparmiare tempo se si desidera utilizzare uno schema XML piuttosto che un file DTD per convalidare il file XML, ma si desidera utilizzare le regole già impostate nel file DTD.

Le seguenti istruzioni sono state scritte per la prospettiva Risorsa, ma queste funzionano in molte altre prospettive.

Per generare un file dello schema XML da un file DTD, seguire la procedura di seguito riportata:

  1. Nella vista Navigator, fare clic con il pulsante destro del mouse sulla DTD e fare clic su Genera > Schema XML.
  2. Selezionare il progetto o la cartella che contiene lo schema.
  3. Accettare il nome predefinito o immetterne uno nuovo e fare clic su Avanti.
  4. Se si desidera creare uno schema XML che contiene il file DTD e tutti i file a cui la DTD fa riferimento, fare clic sul pulsante di scelta Crea uno schema XML che include tutti i file DTD.
  5. Altrimenti, se si desidera creare uno schema singolo per il file DTD e ogni file DTD al quale fa riferimento, fare clic sul pulsante di scelta Crea uno schema XML per ogni file DTD. Se viene selezionata questa opzione, ogni schema XML avrà lo stesso nome come la DTD di riferimento da cui è stato generato. Ad esempio, se la DTD viene chiamata Greetings.dtd e fa riferimento a Hello.dtd e Goodbye.dtd, si avrà uno schema generato da Greetings.dtd (con il nome specificato per questo) e due altri schemi chiamati Hello.xsd e Goodbye.xsd.
  6. Fare clic su Fine.

Gli schemi appaiono nella vista Navigator. Questi hanno lo stesso nome del file DTD da cui sono stati generati (se è stato accettato il valore predefinito nel campo Nome file dove è stato generato lo schema XML).

Tutte le entità che si trovavano nel file DTD non saranno nello schema XML (poiché le entità non sono supportate negli schemi XML). Tuttavia, tutti gli elementi o gli attributi che fanno riferimento ad un'entità porteranno avanti quel valore su uno schema XML.

Ad esempio, si dispone di una DTD chiamata "Legal" che contiene un'entità chiamata "Copyright". Il valore dell'entità è "Copyright 2004. MyCompany Publishing" . Nella propria DTD, si dispone di un elemento chiamato "MyCopyright", che fa riferimento al Copyright dell'entità. Dopo aver creato lo schema XML, l'entità del Copyright non appare nello schema XML, tuttavia, il suo valore viene portato avanti (cioè, MyCopyright ha il valore di: Copyright 2004. MyCompany Publishing ).

Tutti gli elementi e gli attributi che esistevano nel file DTD esistono nel file dello schema XML.

Gli elementi nella DTD con un modello del contenuto di (#PCDATA) (e nessun attributo) appaiono vuoti nell'editor dello schema XML. Questi sono indicati come Tipi semplici integrati di stringa. Cioè, un elemento DTD con un valore di (#PCDATA) si associa ad un elemento dello schema XML con una stringa del tipo primitivo dello schema XML.

Nota: Quando si genera uno schema XML da un file DTD che contiene elementi di Ebreo o di Arabo, alcuni nomi dell'elemento potrebbero essere codificati con i valori equivalenti esadecimali di codifica di Ebreo e Arabo. Per evitare questo problema, cambiare l'attributo di codifica della DTD originale o il file dello schema XML in UTF-8 prima di eseguire la generazione: Cioè, la dichiarazione XML dovrebbe essere: <?xml version="1.0" encoding="UTF-8"?> L'elenco dei valori di codifica interessati è: ISO-8859-8-I, ISO-8859-8, Windows-1256, e ISO-8859-6.
Attività correlate
Creazione DTD

Feedback