Esercitazione XML

XML CASA Introduzione XML XML Come usare Albero XML Sintassi XML Elementi XML Attributi XML Spazi dei nomi XML Visualizzazione XML Richiesta HTTP XML Analizzatore XML XML DOM XPath XML XML XSLT XQuery XML XML XLink Validatore XML DTD XML Schema XML Server XML Esempi XML Quiz XML Certificato XML

XML AJAX

Introduzione AJAX AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

XML DOM

DOM Introduzione Nodi DOM Accesso DOM Informazioni sul nodo DOM Elenco dei nodi DOM DOM attraversando Navigazione DOM DOM Ottieni valori Nodi di modifica DOM DOM Rimuovere i nodi DOM Sostituisci nodi DOM Crea nodi DOM Aggiungi nodi Clonazione dei nodi DOM Esempi DOM

Esercitazione XPath

Introduzione a XPath Nodi XPath Sintassi XPath Assi XPath Operatori XPath Esempi di XPath

Esercitazione XSLT

Introduzione a XSLT Lingue XSL Trasformazione XSLT XSLT <modello> XSLT <valore-di> XSLT <per-ciascuno> XSLT <ordina> XSLT <se> XSLT <scegli> Applicare XSLT XSLT sul Cliente XSLT sul server XSLT Modifica XML Esempi XSLT

Esercitazione XQuery

Introduzione a XQuery Esempio XQuery XQuery FLWOR XQuery HTML Termini di XQuery Sintassi XQuery Aggiungi XQuery XQuery Seleziona Funzioni XQuery

DTD XML

Introduzione alla DTD Blocchi di costruzione DTD Elementi DTD Attributi DTD Elementi DTD vs Attr Entità DTD Esempi di DTD

Schema XSD

Introduzione all'XSD XSD Come fare per XSD <schema> Elementi XSD Attributi XSD Restrizioni XSD

Complesso XSD

Elementi XSD XSD vuoto Solo elementi XSD Solo testo XSD XSD misto Indicatori XSD XSD <qualsiasi> XSD <qualsiasi attributo> Sostituzione XSD Esempio XSD

Dati XSD

Stringa XSD Data XSD Numerico XSD XSD Varie Riferimento XSD

Servizi Web

Servizi XML XML WSDL SAPONE XML XML RDF RSS XML

Riferimenti

Tipi di nodi DOM Nodo DOM Elenco nodi DOM DOM NamedNodeMap Documento DOM Elemento DOM Attributo DOM Testo DOM DOM CDATA Commento DOM DOM XMLHttpRichiesta Analizzatore DOM Elementi XSLT Funzioni XSLT/XPath

Attributi XML


Gli elementi XML possono avere attributi, proprio come HTML.

Gli attributi sono progettati per contenere dati relativi a un elemento specifico.


Gli attributi XML devono essere citati

I valori degli attributi devono essere sempre citati. È possibile utilizzare virgolette singole o doppie.

Per il sesso di una persona, l'elemento <person> può essere scritto in questo modo:

<person gender="female">

o così:

<person gender='female'>

Se il valore dell'attributo stesso contiene virgolette doppie, puoi utilizzare virgolette singole, come in questo esempio:

<gangster name='George "Shotgun" Ziegler'>

oppure puoi usare entità carattere:

<gangster name="George &quot;Shotgun&quot; Ziegler">

Elementi XML e attributi

Dai un'occhiata a questi due esempi:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

Nel primo esempio, il genere è un attributo. Nell'ultimo esempio, il genere è un elemento. Entrambi gli esempi forniscono le stesse informazioni.

Non ci sono regole su quando usare gli attributi o quando usare gli elementi in XML.



Il mio modo preferito

I seguenti tre documenti XML contengono esattamente le stesse informazioni:

Nel primo esempio viene utilizzato un attributo di data:

<note date="2008-01-10">
  <to>Tove</to>
  <from>Jani</from>
</note>

Nel secondo esempio viene utilizzato un elemento <data>:

<note>
  <date>2008-01-10</date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Nel terzo esempio viene utilizzato un elemento <data> espanso: (QUESTO È IL MIO PREFERITO):

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>Tove</to>
  <from>Jani</from>
</note>

Evitare gli attributi XML?

Alcune cose da considerare quando si utilizzano gli attributi sono:

  • gli attributi non possono contenere più valori (gli elementi possono)
  • gli attributi non possono contenere strutture ad albero (gli elementi possono)
  • gli attributi non sono facilmente espandibili (per modifiche future)

Non finire così:

<note day="10" month="01" year="2008"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

Attributi XML per i metadati

A volte i riferimenti ID vengono assegnati agli elementi. Questi ID possono essere utilizzati per identificare gli elementi XML più o meno allo stesso modo dell'attributo id in HTML. Questo esempio lo dimostra:

<messages>
  <note id="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note id="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note>
</messages>

Gli attributi id sopra servono per identificare le diverse note. Non fa parte della nota stessa.

Quello che sto cercando di dire qui è che i metadati (dati sui dati) dovrebbero essere archiviati come attributi e i dati stessi dovrebbero essere archiviati come elementi.