Inne działy

 

Przestrzenie nazw XML

 


Przestrzenie nazw XML dostarczają sposobu, aby uniknąć konfliktów nazw elementów.


 

Konflikt nazwy

W XML, nazwy elementów są zdefiniowane przez autora. To często prowadzi do konfliktu, gdy próbuje się używać dokumenty XML z różnych aplikacji XML.

Ten kod XML dostarcza informacje o tabeli HTML:

 

<table>
  <tr>
    <td>Jabłka</td>
    <td>Banany</td>
  </tr>
</table>

Ten kod XML zawiera informacje o tabeli (meble):

 

<table>
  <nazwa> Afrykański stolik </nazwa>
  <szerokość>80</szerokość>
  <długość>120</długość>
</table>

Jeśli te fragmenty XML dodano razem, nie byłoby konfliktu nazw. Oba zawierają element <table>, ale elementy mają różną treść i znaczenie

Parser XML nie będzie wiedzieć, jak obsługiwać te różnice.


 

Rozwiązywanie konfliktów nazw przy użyciu prefiksu

Konfliktów nazw w XML można łatwo uniknąć stosując prefiks.

Ten dokument XML zawiera informacje o tabeli HTML, i o meblach

 

<h:table>
  <h:tr>
    <h:td>Jabłka</h:td>
    <h:td>Banany</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name> Afrykański stolik </f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

W powyższym przykładzie, nie będzie żadnych konfliktów, bo dwa elementy <table> mają różne nazwy.


 

Przestrzenie nazw XML - atrybut xmlns

Przy użyciu prefiksów w XML, musi być zdefiniowana tzw. nazwa dla prefiksu.

Obszar nazw jest określony przez atrybut xmlns w tagu początkowym elementu.

Deklaracja obszaru nazw ma następującą składnię. xmlns:prefix="URI".

 

<root>

<h:table xmlns:h="http://www.w3.org/TR/html4/">
  <h:tr>
    <h:td>Jabłka</h:td>
    <h:td>Banany</h:td>
  </h:tr>
</h:table>

<f:table xmlns:f="http://www.uazz.pl/meble">
  <f:name> Afrykański stolik </f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

W powyższym przykładzie, atrybut xmlns w tagu <table> posiada prefiksy H: i F: kwalifikowanej przestrzeni nazw.

Gdy przestrzeń nazw jest określona dla elementu, wszystkie elementy podrzędne z tego samego prefiksu są powiązane z tą samą przestrzenią nazw.

Przestrzenie nazw mogą być zadeklarowane w elementach, gdzie są one wykorzystywane lub w elemencie głównym XML:

 

<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.uazz.pl/meble">

<h:table>
  <h:tr>
    <h:td>Jabłka</h:td>
    <h:td>Banany</h:td>
  </h:tr>
</h:table>

<f:table>
  <f:name> Afrykański stolik </f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>

</root>

Uwaga:Przestrzeń nazw URI nie jest wykorzystywana przez parser do wyszukiwania informacji

Celem jest zapewnienie, aby przestrzeń nazw miała unikalną nazwę. Jednak często firmy korzystają z przestrzeni nazw, jako wskaźnik do strony internetowej zawierającej informacje o przestrzeni nazw

Spróbuj przejść do http://www.w3.org/TR/html4/.


 

Uniform Resource Identifier (URI)(Jednolity identyfikator zasobu)

Jednolity identyfikator zasobów (URI) jest to ciąg znaków, który identyfikuje zasób Internetu.

Najczęstszym URI jest Uniform Resource Locator (URL), który identyfikuje adres domeny internetowej. Innym, nie tak popularny rodzajem URI jest Uniwersalna Nazwa Zasobu Universal Resource Name (URN)

W naszych przykładach używamy tylko adresy URL.


 

Domyślna przestrzeń nazw

 

Definiowanie domyślnej przestrzeni nazw dla elementu ratuje nas przed użyciem przedrostków dla wszystkich elementów podrzędnych. Oto składnia:

xmlns="namespaceURI"

Ten dokument XML przenosi informacje o tabeli HTML

 

<table xmlns="http://www.w3.org/TR/html4/">
  <tr>
    <td>Jabłka</td>
    <td>Banany</td>
  </tr>
</table>

Ten dokument XML przenosi informację o meblach:

 


 

Przestrzenie nazw rzeczywistego użytkowania

XSLT jest językiem XML, który może być używany do transformowania dokumentów XML do innych formatów, takich jak HTML.

W dokumencie XSLT poniżej można zobaczyć, że większość tagów to tagi HTML.

Tagi, które nie są znaczniki HTML są prefiksem xsl, identyfikowane przez obszar nazw xmlns:xsl="http://www.w3.org/1999/XSL/Transform":

 

<?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> Moja kolekcja CD </h2>
  <table border="1">
    <tr>
      <th align="left">Tytuł</th>
      <th align="left">Artysta</th>
    </tr>
    <xsl:for-each select="KATALOG/CD">
    <tr>
      <td><xsl:value-of select="TYTUŁ"/></td>
      <td><xsl:value-of select="ARTYSTA"/></td>
    </tr>
    </xsl:for-each>
  </table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.