XML İsim-alanları eleman adı çatışmaları önlemek için bir yöntem sağlar.
Ad çakışmaları
XML'de, eleman isimleri geliştirici tarafından tanımlanır. farklı XML uygulamalardan XML belgeleri karıştırmak için çalışırken Bu genellikle bir çatışma ile sonuçlanır.
Bu XML, HTML tablosu bilgilerini taşır:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
Bu XML tablo hakkında bilgi taşır (a piece of furniture) :
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Bu XML fragmanları birlikte ilave olsaydı, bir isim çakışması olur. İkisi de içerirler <table> elemanı, ama elemanlar farklı içerik ve anlamı vardır.
Bir kullanıcı, XML gibi bu farklılıkları nasıl ele bilmeyecektir.
Bir önek kullanma Adı Çatışma Çözme
XML İsim çatışmaları kolayca bir isim öneki kullanılarak önlenebilir.
Bu XML, HTML tablosunun ve 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>
İki çünkü Yukarıdaki örnekte, hiçbir çakışma olacaktır <table> elemanları farklı adları vardır.
XML İsim-alanları - xmlns Özellik
XML önekleri kullanırken, bir namespace öneki için tanımlanmalıdır.
Ad bir tanımlanabilir xmlns öğenin başlangıç etiketinde öznitelik.
ad alanı bildirimi sözdizimi aşağıdaki gibidir. 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="http://www.w3ii.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:
xmlns ilk özellik <table> elemanı h veriyor: nitelikli ad önek.
xmlns ikinci özellik <table> elemanı f veriyor: nitelikli ad önek.
Bir ad, bir element için tanımlandığında, aynı önek ile tüm alt öğeleri aynı ad ile ilişkilidir.
Ad alanları da XML kök elemanı bildirilebilir:
<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3ii.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>
Note: alanı tanım bilgi aramak için ayrıştırıcı tarafından kullanılmaz.
Bir URI kullanmanın amacı namespace benzersiz bir ad vermektir.
Ancak, şirketler genellikle ad bilgileri içeren bir web sayfasına bir işaretçi olarak ad kullanın.
Uniform Resource Identifier (URI)
Bir Uniform Resource Identifier (URI) bir Internet Kaynak tanımlayan bir karakter dizisidir.
En yaygın URI Uniform Resource Locator (URL) bir İnternet alan adresini tanımlar. URI bir başka, o kadar yaygın türüdür Universal Resource Name (URN) .
Varsayılan Ad
Bir elemanın için varsayılan bir ad alanını tanımlamak tüm alt öğeleri içinde önekleri kullanılarak bizi kurtarır. Bu sözdizimi aşağıdaki gibidir:
xmlns=" 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 mobilya parçası hakkında bilgi taşır:
<table xmlns="http://www.w3ii.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Gerçek Kullanımında Ad Alanları
XSLT diğer biçimlere XML belgeleri dönüştürmek için kullanılabilecek bir dildir.
Aşağıdaki XML belgesi, HTML içine XML dönüştürmek için kullanılan bir belgedir.
Ad "http://www.w3.org/1999/XSL/Transform" bir HTML belgesi içindeki XSLT elemanları 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'DE hakkında daha fazla bilgi edinmek istiyorsanız, bizim okuyunuz XSLT Eğitimi .