Un documento XML contiene elementi XML.
Che cosa è un elemento XML?
Un elemento XML è tutto da (including) tag iniziale dell'elemento a (including) tag finale dell'elemento.
<price>29.99</price>
Un elemento può contenere:
- testo
- attributi
- altri elementi
- o una combinazione di quanto sopra
<bookstore>
<book category="children">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Nell'esempio sopra:
<title>, <author>, <year> , e <price> avere text content perché contengono testo (like 29.99) .
<bookstore> e <book> hanno element contents , perché contengono elementi.
<book> ha un attribute (category="children") .
Elementi XML vuoti
Un elemento con nessun contenuto è detto di essere vuota.
In XML, è possibile indicare un elemento vuoto in questo modo:
<element></element>
È inoltre possibile utilizzare una cosiddetta tag di chiusura automatica:
<element />
Le due forme producono risultati identici a software XML (lettori, parser, browser).
Gli elementi vuoti possono avere attributi.
Regole di naming XML
elementi XML devono seguire queste regole di denominazione:
- I nomi degli elementi sono case-sensitive
- I nomi degli elementi devono iniziare con una lettera o di sottolineatura
- I nomi degli elementi non possono iniziare con l'XML lettere (or XML, or Xml, etc)
- I nomi degli elementi possono contenere lettere, cifre, trattini, caratteri di sottolineatura e periodi
- I nomi degli elementi non possono contenere spazi
Ogni nome può essere utilizzato, non ci sono parole sono riservati (except xml) .
Best Practices di denominazione
Creare nomi descrittivi, in questo modo: <person>, <firstname> , <lastname> .
Creare nomi brevi e semplici, come questo: <book_title> non in questo modo: <the_title_of_the_book> .
Evitare "-" . Se il nome qualcosa "first-name" , alcuni software potrebbe pensare che si vuole sottrarre "name" da "first" .
Evitare "." . Se il nome qualcosa "first.name" , alcuni software può pensare che "name" è una proprietà dell'oggetto "first" .
Evitare ":" . I due punti sono riservati per gli spazi dei nomi (more later) .
lettere non inglesi come EOA sono perfettamente legali in XML, ma attenzione per i problemi se il software non li supporta.
Naming Styles
Non ci sono stili di denominazione definiti per gli elementi XML. Ma qui ci sono alcuni comunemente utilizzati:
Stile | Esempio | Descrizione |
---|---|---|
Lower case | <firstname> | Tutte le lettere minuscole |
Upper case | <FIRSTNAME> | Tutte le lettere maiuscole |
Underscore | <first_name> | Underscore separa le parole |
Pascal case | <FirstName> | Maiuscole prima lettera di ogni parola |
Camel case | <firstName> | Maiuscole prima lettera di ogni parola, tranne la prima |
Se si sceglie uno stile di denominazione, è bene essere coerenti!
documenti XML hanno spesso un database corrispondente. Una pratica comune è quella di utilizzare le regole di denominazione del database per gli elementi XML.
caso cammello è una regola di denominazione comune in JavaScript.
Gli elementi XML sono Extensible
elementi XML possono essere estesi a trasportare più informazioni.
Guardate il seguente esempio XML:
<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>
Immaginiamo che abbiamo creato un'applicazione che estrae il <a>, <da>, e <body> elementi del documento XML per produrre questo output:
MESSAGE To: Tove Non mi dimenticare questo fine settimana! |
Immaginate che l'autore del documento XML aggiunto qualche informazione in più per esso:
<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Dovrebbe rompere l'applicazione o in crash?
No. L'applicazione dovrebbe essere ancora in grado di trovare la <to>, <from> , e <body> elementi nel documento XML e produrre la stessa uscita.
Questa è una delle bellezze di XML. Può essere esteso senza rompere le applicazioni.