Sezione 2: Utenti esistenti
Q 2.2: Che aspetto ha XML (all’interno)?
Simboli minore e maggiore come HTML
La struttura di base di XML è simile ad altre applicazioni del SGML, incluso XML. I componenti base possono essere visti negli esempi che seguono. Un documento XML inizia con un Prologo opzionale, che può avere due parti (opzionali):
- La Dichiarazione XML :
<!DOCTYPE report SYSTEM "http://sales.acme.corp/dtds/salesrep.dtd">
Questo specifica che questo è un documento XML e che usa il repertorio di caratteri UTF-8 (il default; altri sono disponibili ma il supporto è obbligatori solo per UTF-8);
2. Ua Dichiarazione del Tipo di Documentose stai usando un DTD:
<!DOCTYPE report SYSTEM "http://sales.acme.corp/dtds/salesrep.dtd">
che identifica il tipo di documento (qui, ‘report’) e indica dove viene memorizzata laDescrizionedel Tipo di Documento (DTD);
Il Prologo è seguito dall’Istanza di Documento:
- Un elemento radice, che è l’elemento (tag di inizio e tag di fine) più esterno (livello più alto) che racchiude tutto il resto: nell’esempio sotto gli elementi radice sono conversatione titlepage;
- Un mix strutturato di elementidescrittivi o prescrittivi che racchiudono il contenuto dei dati carattere (testo), e opzionalmente qualsiasi attributo (coppie ‘name=”value”’) dentro alcuni tag di inizio.
I documenti XML possono essere molto semplici, con markup nidificati diretti del tuo design:
<?xml version="1.0" standalone="yes"?> <conversation> <greeting>Hello, world!</greeting> <response>Stop the planet, I want to get off!</response> </conversation>
O possono essere più complicati, con uno Schema o DTD, e magari un subset interno (cambiamenti al DTD locale in [parentesi quadre] all’interno della Dichiarazione del Tipo di Documento come la dichiarazione di ENTITÀ qui sotto);un una struttura nidificata arbitrariamente complessa:
<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE titlepage SYSTEM "http://www.foo.bar/dtds/typo.dtd" [<!ENTITY % active.links "INCLUDE">]> <titlepage xml:id="BG12273624"> <white-space type="vertical" amount="36"/> <title font="Baskerville" alignment="centered" size="24/30">Hello, world!</title> <white-space type="vertical" amount="12"/> <!-- In some copies the following decoration is hand-colored, presumably by the author --> <image location="http://www.foo.bar/fleuron.eps" type="URI" alignment="centered"/> <white-space type="vertical" amount="24"/> <author font="Baskerville" size="18/22" style="italic">Vitam capias</author> <white-space type="vertical" role="filler"/> </titlepage>
O possono essere nel mezzo: molti dipenderanno da come vuoi definire il tuo tipo di documento (o quelli che usi) e per cosa saranno usati. I documenti XML generati da database o da programmi usati nell’e-commerce sono solitamente non formattati perché sono per l’utilizzo da parte di macchine, non per la lettura umana, e potrebbero essere usati nomi molto lunghi o valori, con ridondanza multipla e a volte nessun contenuto di dati carattere, solo valori negli attributi:
<?xml version="1.0"?> <ORDER-UPDATE AUTHMD5="4baf7d7cff5faa3ce67acf66ccda8248" ORDER-UPDATE-ISSUE="193E22C2-EAF3-11D9-9736-CAFC705A30B3" ORDER-UPDATE-DATE="2005-07-01T15:34:22.46" ORDER-UPDATE-DESTINATION="6B197E02-EAF3-11D9-85D5-997710D9978F" ORDER-UPDATE-ORDERNO="8316ADEA-EAF3-11D9-9955-D289ECBC99F3"> <ORDER-UPDATE-DELTA-MODIFICATION-DETAIL ORDER-UPDATE-XML:ID="BAC352437484"> <ORDER-UPDATE-DELTA-MODIFICATION-VALUE ORDER-UPDATE-ITEM="56" ORDER-UPDATE-QUANTITY="2000"/> </ORDER-UPDATE-DELTA-MODIFICATION-DETAIL> </ORDER-UPDATE>