Výukový program XML

XML HOME Úvod do XML XML Jak používat XML strom Syntaxe XML Prvky XML Atributy XML Jmenné prostory XML Zobrazení XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLlink XML Validator XML DTD Schéma XML XML server Příklady XML XML kvíz XML certifikát

XML AJAX

Úvod do AJAX AJAX XMLHttp Požadavek AJAX Odpověď AJAX Soubor XML AJAX AJAX PHP AJAX ASP Databáze AJAX Aplikace AJAX Příklady AJAX

XML DOM

Úvod do DOM DOM uzly Přístup k DOM Informace o uzlu DOM Seznam uzlů DOM DOM Traversing Navigace DOM DOM získat hodnoty DOM změnit uzly DOM Remove Nodes DOM nahradit uzly DOM Vytvořte uzly DOM Přidat uzly Klonovací uzly DOM Příklady DOM

Výukový program XPath

Úvod do XPath Uzly XPath Syntaxe XPath osy XPath Operátoři XPath Příklady XPath

Kurz XSLT

Úvod do XSLT Jazyky XSL Transformace XSLT XSLT <šablona> XSLT <hodnota-of> XSLT <pro každého> XSLT <sort> XSLT <if> XSLT <vyberte> Použít XSLT XSLT u klienta XSLT na serveru XSLT Úprava XML Příklady XSLT

Výukový program XQuery

Úvod do XQuery Příklad XQuery XQuery FLWOR HTML XQuery Podmínky XQuery Syntaxe XQuery Přidat XQuery XQuery Select Funkce XQuery

XML DTD

Úvod do DTD Stavební bloky DTD DTD prvky Atributy DTD DTD Elements vs Attr DTD entity Příklady DTD

XSD schéma

Úvod do XSD XSD Jak na to XSD <schéma> XSD prvky XSD atributy Omezení XSD

XSD komplex

XSD prvky XSD Prázdné Pouze prvky XSD Pouze text XSD XSD smíšené XSD indikátory XSD <libovolné> XSD <jakýkoliAtribut> Náhrada XSD Příklad XSD

XSD data

XSD řetězec Datum XSD Číselné XSD XSD Různé XSD reference

Webové služby

Služby XML XML WSDL XML SOAP XML RDF XML RSS

Reference

Typy uzlů DOM Uzel DOM DOM NodeList DOM NamedNodeMap Dokument DOM Prvek DOM Atribut DOM Text DOM DOM CDATA Komentář DOM DOM XMLHttpRequest DOM Parser Prvky XSLT Funkce XSLT/XPath

Prvky XML vs. atributy


V XML neexistují žádná pravidla o tom, kdy použít atributy a kdy použít podřízené prvky.


Použití prvků vs. atributů

Data mohou být uložena v podřízených prvcích nebo v atributech.

Podívejte se na tyto příklady:

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

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

V prvním příkladu je sex atributem. V posledním případě je sex dětským prvkem. Oba příklady poskytují stejné informace.

Neexistují žádná pravidla o tom, kdy použít atributy a kdy použít podřízené prvky. Moje zkušenost je, že atributy jsou užitečné v HTML, ale v XML byste se jim měli snažit vyhnout. Pokud se informace cítí jako data, použijte podřízené prvky.


Můj oblíbený způsob

Rád ukládám data do podřízených prvků.

Následující tři dokumenty XML obsahují přesně stejné informace:

V prvním příkladu je použit atribut data:

<note date="12/11/2002">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Ve druhém příkladu je použit prvek data:

<note>
  <date>12/11/2002</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Prvek rozšířeného data je použit ve třetím: (THIS IS MOJE OBLÍBENÉ):

<note>
  <date>
    <day>12</day>
    <month>11</month>
    <year>2002</year>
  </date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>


Vyhnout se používání atributů?

Měli byste se vyhnout používání atributů?

Některé z problémů s atributy jsou:

  • atributy nemohou obsahovat více hodnot (podřízené prvky mohou)
  • atributy nelze snadno rozšířit (pro budoucí změny)
  • atributy nemohou popisovat struktury (podřízené prvky mohou)
  • atributy jsou obtížněji manipulovatelné programovým kódem
  • hodnoty atributů není snadné testovat proti DTD

Pokud používáte atributy jako kontejnery pro data, skončíte s dokumenty, které je obtížné číst a udržovat. Zkuste použít prvky k popisu dat. Atributy používejte pouze k poskytování informací, které nejsou relevantní pro data.

Neskončete takto (takto by se XML nemělo používat):

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

Výjimka z mého pravidla atributů

Pravidla mají vždy výjimky.

Moje pravidlo o atributech má jednu výjimku:

Někdy prvkům přiřazuji ID reference. Tyto odkazy ID lze použít pro přístup k prvkům XML v podstatě stejným způsobem jako atributy NAME nebo ID v HTML. Tento příklad to ukazuje:

<messages>
<note id="p501">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

<note id="p502">
  <to>Jani</to>
  <from>Tove</from>
  <heading>Re: Reminder</heading>
  <body>I will not!</body>
</note>
</messages>

ID v těchto příkladech je pouze počítadlo nebo jedinečný identifikátor k identifikaci různých poznámek v souboru XML, nikoli část dat poznámky.

Snažím se zde říci, že metadata (data o datech) by měla být uložena jako atributy a samotná data by měla být uložena jako prvky.