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

Jmenné prostory XML


Jmenné prostory XML poskytují metodu, jak se vyhnout konfliktům názvů prvků.


Konflikty jmen

V XML jsou názvy prvků definovány vývojářem. To často vede ke konfliktu při pokusu o smíchání dokumentů XML z různých aplikací XML.

Tento XML nese informace o tabulce HTML:

<table>
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

Tento XML nese informace o stole (kusu nábytku):

<table>
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

Pokud by byly tyto fragmenty XML sečteny, došlo by ke konfliktu názvů. Oba obsahují prvek <table>, ale prvky mají odlišný obsah a význam.

Uživatel nebo aplikace XML nebude vědět, jak se s těmito rozdíly vypořádat.


Řešení konfliktu jmen pomocí předpony

Konfliktům názvů v XML lze snadno předejít použitím předpony názvu.

Tento XML nese informace o HTML tabulce a kusu nábytku:

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

Ve výše uvedeném příkladu nedojde ke konfliktu, protože dva prvky <table> mají různé názvy.



Jmenné prostory XML – Atribut xmlns

Při použití předpon v XML musí být definován jmenný prostor pro předponu.

Jmenný prostor lze definovat atributem xmlns v počáteční značce prvku.

Deklarace jmenného prostoru má následující syntaxi. xmlns: prefix =" URI ".

<root>

<h:table xmlns:h="http://www.w3.org/TR/html4/">
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table xmlns:f="https://www.w3schools.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

V příkladu výše:

Atribut xmlns v prvním prvku <table> dává předponě h: kvalifikovaný jmenný prostor.

Atribut xmlns ve druhém prvku <table> poskytuje předponě f: kvalifikovaný jmenný prostor.

Když je pro prvek definován jmenný prostor, všechny podřízené prvky se stejnou předponou jsou spojeny se stejným jmenným prostorem.

Jmenné prostory lze také deklarovat v kořenovém prvku XML:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/furniture">

<h:table>
  <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

Poznámka: URI jmenného prostoru analyzátor nepoužívá k vyhledání informací.

Účelem použití URI je dát jmennému prostoru jedinečný název.

Společnosti však často používají jmenný prostor jako ukazatel na webovou stránku obsahující informace o jmenném prostoru.


Uniform Resource Identifier (URI)

Uniform Resource Identifier ( URI) je řetězec znaků, který identifikuje internetový zdroj.

Nejběžnějším URI je Uniform Resource Locator (URL), který identifikuje adresu internetové domény. Dalším, ne tak běžným typem URI je Uniform Resource Name (URN).


Výchozí jmenné prostory

Definování výchozího jmenného prostoru pro prvek nás ušetří od používání předpon ve všech podřízených prvcích. Má následující syntaxi:

xmlns="namespaceURI"

Tento XML nese informace o tabulce HTML:

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Apples</td>
    <td>Bananas</td>
  </tr>
</table>

Tento XML nese informace o kusu nábytku:

<table xmlns="https://www.w3schools.com/furniture">
  <name>African Coffee Table</name>
  <width>80</width>
  <length>120</length>
</table>

Jmenné prostory v reálném použití

XSLT je jazyk, který lze použít k transformaci dokumentů XML do jiných formátů.

Níže uvedený dokument XML je dokument používaný k transformaci XML do HTML.

Jmenný prostor „http://www.w3.org/1999/XSL/Transform“ identifikuje prvky XSLT v dokumentu HTML:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
  <h2>My CD Collection</h2>
  <table border="1">
    <tr>
      <th style="text-align:left">Title</th>
      <th style="text-align:left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Chcete-li se o XSLT dozvědět více, přečtěte si prosím náš výukový program XSLT .