XML Ad Alanları

XML Adı Uzantısı element adlandırma çatışmalarını önlemek için bir yöntem sağlar.

Ad Çatışması

XML'de, element adları geliştirici tarafından tanımlanır. Farklı belgeler aynı element adını kullanırsa ad çatışması olur.

Bu XML belgesi bir tablo içindeki bilgiyi taşır:

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

Bu XML belgesi masa (bir mobilya) hakkında bilgi içerir:

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

Bu iki XML belgesi birlikte kullanılırsa, iki belge de farklı içerik ve tanımlara sahip <table> elementleri içerdiği için ad çatışması olur.

Kullanıcı veya XML uygulaması bu tür çatışmaların nasıl çözüleceğini belirleyemez.

Ad çatışmasını önlemek için önek kullanma

Ad öneki kullanarak XML'deki ad çatışmalarını kolayca önleyebilirsiniz.

Bu XML HTML tablosu ve bir mobilya hakkında bilgi içerir:

<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>

Şimdi, ad çatışması yok, bu da iki belge aynı <table> elementlerini farklı isimlerle adlandırdıkları için<h:table> ve <f:table>)。

Önek kullanarak iki farklı türdeki <table> elementi oluşturduk.

XML Adı Uzantısı - xmlns Özelliği

XML'de önek kullanılırken, öneğin tanımlanmalıdır.Ad alanlarıisim alanları (Namespaces) kullanılarak tanımlanabilir.

Ad alanları element başlangıç etiketindeki xmlns özniteliği ile tanımlanır.

Ad alanı beyanı bu gramerle yapılır: xmlns:önek="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.codew3c.com/furniture">
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
</f:table>
</root>

Yukarıdaki örnekte:

ilk <table> elementindeki xmlns öznitelikleri h: Önek, sınırlı bir ad alanı sağlar.

ikinci <table> elementindeki xmlns öznitelikleri f: Önek, sınırlı bir ad alanı sağlar.

Bir elemente ad alanı tanımlandığında, aynı önek tüm alt elementler aynı ad alanıyla ilişkilidir.

Ad alanları XML kök elemanında da tanımlanabilir:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.codew3c.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>

Dikkat:Araçlama, ad alanı URI'sini bilgi aramak için kullanmaz.

URI kullanım amacı sadece ad alanına benzersiz bir ad sağlamaktır.

Ancak, birçok şirket, gerçek var olan web sayfasına işaret etmek için ad alanlarını kullanarak, bu web sayfası ad alanı hakkında bilgi içerir.

Eşitlik Kaynak Tanımlayıcı (URI)

Eşitlik Kaynak Tanımlayıcı (Uniform Resource Identifier,URI) İnternet kaynaklarını tanımlayan bir dizi karakterdir.

) en yaygın URI'dirEşitlik Kaynak Belirleyici (Uniform Resource Locator,URL),İnternet alan adı adresini tanımlar.

Daha az yaygın URI türlerinden biriEşitlik Kaynak Adı (Uniform Resource Name,URN)。

Öntanımlı ad alanı (Default Namespaces)

Bir öğeye varsayılan bir adres alanı tanımlamak, tüm alt öğelerde öneki kullanmamızı sağlar.

Aşağıdaki grameri kullanarak:

xmlns="namespaceURI"

Bu XML belgesi HTML tablo bilgilerini taşır:

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

Bu XML, bir mobilya hakkında bilgi taşıyan bir XML'dir:

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

Adres alanının gerçek uygulaması

XSLT, XML belgelerini diğer formatlara dönüştürebilecek bir dildir.

Aşağıdaki XML belgesi XML'yi HTML'e dönüştürmek için kullanılır.

Altıncı sınıfı dikkatlice gözlemlediğinizde, çoğu etiketin HTML etiketi olduğunu göreceksiniz.

HTML olmayan etiketler öneki xsl'ye sahiptir ve bu alan adı ile işaretlenmiştir: "http://www.w3.org/1999/XSL/Transform":

Adres alanı "http://www.w3.org/1999/XSL/Transform" HTML belgesindeki XSLT öğelerini tanımlar:

<?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>

XSLT hakkında daha fazla bilgi edinmek istiyorsanız, bizim XSLT Eğitimi.