Ricerca…


Elementi

Gli elementi sono forniti con parentesi angolari sono il componente principale più importante di XML.

Gli elementi possono essere vuoti, nel qual caso sono costituiti da un tag vuoto (notare la barra finale):

<an-empty-element/>

Oppure possono avere contenuti, nel qual caso hanno un tag di apertura (nessuna barra) e un tag di chiusura (barra iniziale):

<a-non-empty-element>Content</a-non-empty-element>

Gli elementi possono nidificare (ma solo tra i tag di apertura e di chiusura):

<parent-element>
  <child-element/>
  <another-child-element>
    Some more content.
  </another-child-element>
</parent-element>

I nomi degli elementi sono chiamati QNames (nomi qualificati). Tutti gli elementi di cui sopra non sono nello spazio dei nomi, ma i nomi degli elementi possono anche essere definiti in spazi dei nomi usando prefissi in questo modo:

<my-namespace:parent-element xmlns:my-namespace="http://www.example.com/">
  <my-namespace:child-element/>
  <my-namespace:another-child-element>
    Some more content.
  </my-namespace:another-child-element>
</my-namespace:parent-element>

Namespace e nomi di elementi sono descritti in maggiori dettagli in questa sezione della documentazione .

attributi

Gli attributi sono coppie nome-valore associate a un elemento.

Sono rappresentati da valori in virgolette singole o doppie all'interno del tag dell'elemento di apertura o del tag dell'elemento vuoto se si tratta di un elemento vuoto.

<document>
  <anElement foo="bar" abc='xyz'><!-- some content --></anElement>
  <anotherElement a="1"/>
</document>

Gli attributi non sono ordinati (a differenza degli elementi). I seguenti due elementi hanno gli stessi set di attributi:

<foo alpha="1" beta="2"/>

<foo beta="2" alpha="1"/>

Gli attributi non possono essere ripetuti nello stesso elemento (a differenza degli elementi). Il seguente documento non è ben formato: <foo a="x" a="y"/> perché l'attributo a appare due volte nello stesso elemento.

Il seguente documento è ben formato. I valori possono essere identici, è il nome dell'attributo che non può essere ripetuto.

<foo a="x" b="x"/> 

Gli attributi non possono essere nidificati (a differenza degli elementi).

Testo

Il testo è composto da tutti i caratteri al di fuori di qualsiasi markup (tag dell'elemento di apertura, tag dell'elemento di chiusura, ecc.).

<?xml version="1.0"?>
<document>
  This is some text and <b>this is some more text</b>.
</document>

La terminologia XML precisa per il testo sono i dati dei caratteri . La specifica XML utilizza effettivamente il testo della parola per l'intero documento XML o un'entità analizzata, poiché definisce XML a livello sintattico. Tuttavia alcuni modelli di dati come XDM (XQuery e XPath Data Model), che rappresentano i documenti XML come alberi, si riferiscono ai dati dei caratteri come nodi di testo , in modo tale che il testo è spesso inteso come sinonimo di dati di carattere nella pratica.

I dati di carattere non possono contenere un carattere < - questo sarebbe interpretato come il primo carattere di un tag di elemento di apertura - né può contenere la sequenza di caratteri ]]> . I caratteri appropriati devono essere sostituiti con un riferimento di entità.

<?xml version="1.0"?>
<document>
  It is fine to escape the &lt; character, as well as ]]&gt;.
</document>

Per praticità, è anche possibile sfuggire a una porzione maggiore di testo con una sezione CDATA (ma la sequenza ]]> è ancora consentita per ovvi motivi):

<?xml version="1.0"?>
<document>
  <![CDATA[
    In a CDATA section, it is fine to write < or even & and entity references
    such as &amp; are not resolved.
  ]]>
</document>

Commenti

I commenti in XML sembrano così:

<!-- This is a comment -->

Possono apparire nel contenuto dell'elemento o di livello superiore:

<?xml version="1.0"?>
<!-- a comment at the top-level -->
<document>
  <!-- a comment inside the document -->
</document>

I commenti non possono apparire all'interno di tag o attributi interni:

<element <!-- comment with -- inside --> />

o

<element attr="<!-- comment with -- inside -->"/>

non sono ben formati

La sequenza di caratteri -- non può apparire nel mezzo di un commento. Questo non è XML ben formato:

<!-- comment with -- inside -->

I commenti in XML, a differenza di altri linguaggi come C ++, fanno parte del modello di dati : vengono analizzati, inoltrati e visibili all'applicazione che consuma.

Istruzioni di elaborazione

Un'istruzione di elaborazione viene utilizzata per passare direttamente alcune informazioni o istruzioni all'applicazione tramite il parser.

<?my-application some instructions ?>

Il token dopo il punto interrogativo iniziale (qui la my-application ) è chiamato target e identifica l'applicazione a cui è rivolta l'istruzione. Quello che segue non è ulteriormente specificato e spetta all'applicazione interpretarlo. I riferimenti di entità e carattere non sono riconosciuti.

Può apparire al livello principale o nel contenuto dell'elemento.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow