XML Ad Alanları
XML Ad Alanları, öğe adı çakışmalarını önlemek için bir yöntem sağlar.
İsim Çakışmaları
XML'de eleman adları geliştirici tarafından tanımlanır. Bu, farklı XML uygulamalarından XML belgelerini karıştırmaya çalışırken genellikle bir çakışmayla sonuçlanır.
Bu XML, HTML tablosu bilgilerini taşır:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
Bu XML, bir masa (bir mobilya parçası) hakkında bilgi taşır:
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Bu XML parçaları birlikte eklenirse, bir ad çakışması olur. Her ikisi de bir <table> öğesi içerir, ancak öğelerin içeriği ve anlamı farklıdır.
Bir kullanıcı veya bir XML uygulaması bu farklılıkları nasıl ele alacağını bilemez.
Bir Önek Kullanarak Ad Çakışmasını Çözme
XML'deki ad çakışmaları, bir ad öneki kullanılarak kolayca önlenebilir.
Bu XML, bir HTML tablosu ve bir mobilya parçası hakkında bilgi taşır:
<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>
Yukarıdaki örnekte, iki <table> öğesi farklı adlara sahip olduğu için çakışma olmayacaktır.
XML Ad Alanları - xmlns Özelliği
XML'de önekler kullanılırken, önek için bir ad alanı tanımlanmalıdır.
Ad alanı , bir öğenin başlangıç etiketindeki bir xmlns özniteliği ile tanımlanabilir .
Ad alanı bildirimi aşağıdaki sözdizimine sahiptir. 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.w3schools.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:
İlk <table> öğesindeki xmlns özelliği, h: önekine nitelikli bir ad alanı verir.
İkinci <table> öğesindeki xmlns niteliği, f: önekine nitelikli bir ad alanı verir.
Bir öğe için bir ad alanı tanımlandığında, aynı ön eke sahip tüm alt öğeler aynı ad alanıyla ilişkilendirilir.
Ad alanları, XML kök öğesinde de bildirilebilir:
<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>
Not: Ad alanı URI'si, ayrıştırıcı tarafından bilgi aramak için kullanılmaz.
URI kullanmanın amacı, ad alanına benzersiz bir ad vermektir.
Ancak, şirketler genellikle ad alanını, ad alanı bilgilerini içeren bir web sayfasına bir işaretçi olarak kullanır.
Tekdüzen Kaynak Tanımlayıcısı (URI)
Tekdüzen Kaynak Tanımlayıcısı (URI), bir İnternet Kaynağını tanımlayan bir karakter dizisidir.
En yaygın URI, bir İnternet etki alanı adresini tanımlayan Tekdüzen Kaynak Konum Belirleyicidir (URL). Çok yaygın olmayan başka bir URI türü, Tekdüzen Kaynak Adıdır (URN).
Varsayılan Ad Alanları
Bir öğe için varsayılan bir ad alanı tanımlamak, bizi tüm alt öğelerde önek kullanmaktan kurtarır. Aşağıdaki sözdizimine sahiptir:
xmlns="namespaceURI"
Bu XML, HTML tablosu bilgilerini taşır:
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
Bu XML, bir mobilya parçası hakkında bilgi taşır:
<table xmlns="https://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Gerçek Kullanımdaki Ad Alanları
XSLT, XML belgelerini diğer biçimlere dönüştürmek için kullanılabilen bir dildir.
Aşağıdaki XML belgesi, XML'i HTML'ye dönüştürmek için kullanılan bir belgedir.
"http://www.w3.org/1999/XSL/Transform" ad alanı, bir HTML belgesi içindeki 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, lütfen XSLT Eğitimimizi okuyun .