Lütfen bu belgenin hata raporlarına da bakın, aralarında uyulması gereken düzeltmeler bulunabilir.
Belgenin başka dillere çevirileri de olabilir.
Copyright © 2006 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
Bu çeviri de diğer belirtim çevirileri gibi bilgilendirici mahiyettedir, hiçbir bağlamda belirleyici değildir. Bu belge anadili Türkçe olan Genel Ağ kullanıcılarının bu belirtim hakkında fikir edinebilmelerini sağlamak amacıyla Türkçeye çevrilmiştir. Bu belirtimin belirleyici tek sürümü W3C tarafından yayımlanan İngilizce sürümüdür.
Telif Hakkı © 2006 W3C® (MIT, ERCIM, Keio), Tüm hakları saklıdır. W3C sorumluluk reddi, ticari marka ve belge kullanımı kuralları uygulanır.
XML isim-alanları, Genişletilebilir İmlenim Dilindeki (İng: Extensible Markup Language, yani XML) belgelerde kullanılan eleman ve öznitelik isimlerini nitelemek için bunları uluslararası tanım-yeri başvurularına göre tanımlayan isim-alanlarıyla ilişkilendirmek için basit bir yöntem sunar.
Bu bölüm belgenin yayımı sırasındaki durumunu açıklar. Bu belgeyi geçersiz kılacak başka belgeler olabilir. Şu anki W3C yayınlarının ve bu teknik raporların en son sürümleri http://www.w3.org/TR/ adresindeki W3C teknik raporları dizininde bulunabilir.
Bu belge, W3C XML Etkinliğinin bir parçası olarak XML Çekirdek Çalışma Grubu tarafından üretilmiştir. Bu belirtimin fiilen geçerli (İng: normative) tek sürümü İngilizce sürümü olmakla birlikte bilgilendirici (İng: non-normative) mahiyette olarak bu belgenin başka dillere tercümeleri de mevcuttur.
Belgenin bilinen gerçeklenimleri 1.1 sürümü İsim-alanlarının gerçeklenim raporu olarak belgelenmiştir (1.1 sürümü İsim-alanlarının hepsi zaten 1.0 sürümü İsim-alanlarını desteklemektedir). Ayrıca, XML Sınama Uygulamaları sayfasından erişilebilen sınama uygulamaları da mevcuttur.
İkinci düzeltme ile yayımı tarihinde bilinen tüm hatalar giderilmiş ve 4 Şubat 2004 tarihli W3C Önergesi geçersiz kılınmıştır. Okuyuculara kolaylık olması için belgenin yapılan değişikliklerin renklerle vurgulandığı bir XHTML sürümü de mevcuttur
Bu belgede (İngilizce sürümünde) bulduğunuz hataları lütfen [email protected] listesine bildiriniz; listenin halka açık arşivleri de mevcuttur. Bu belge için bildirilen hataların listesine http://www.w3.org/XML/2006/xml-names11-errata adresinden erişilebilir.
Bu belge W3C üyeleri ve diğer ilgili taraflarca gözden geçirilmiş ve W3C Yönetimi tarafından bir W3C Önergesi olarak onaylanmıştır. Kararlı bir belge olup başka belgelerden uyulması gerekli bir kaynak olarak atıfta bulunarak veya bir başvuru malzemesi olarak kullanılabilir. W3C'nin Önergedeki rolü, belirtime dikkatleri çekmek ve geniş bir alanda kullanımını yaygınlaştırmaktır. Bu, Web'in işlevselliğini ve birlikte çalışabilirliğini arttırmaktadır.
Bu belge W3C Patent Politikası Geçiş İşlemleri tarafından değiştirilmiş olarak 24 January 2002 CPP'ye göre kullanılmaktadır. W3C, kendi çıktılarının barındırdığı patentler varsa bunları bir liste halinde ve patent açıklama talimatlarıyla birlikte duyurur. Temel Hak İddiasında bulunabilecek (başka) bir patent hakkında elinde somut bilgisi bulunanlar, W3C Patent Politikası 6. Bölümde belirtildiği şekilde ellerindeki bilgileri açıklamalıdırlar.
Çok sayıda yazılım modülü için tanımlanmış ve onlar tarafından kullanılan elemanları ve öznitelikleri (burada bunlardan "imlenim söz varlığı" olarak bahsedeceğiz) tek bir belgede içerebilen Genişletilebilir İmlenim Dili (XML) uygulamaları tahayyül ediyoruz. Bunun için bizi güdüleyen tek şey modülerlik: kullanışlı bir yazılım için ve kolay anlaşılabilen böyle bir imleme söz varlığı varsa, bu imlenimi yeni baştan oluşturmaktansa yeniden kullanmak daha iyidir.
Böyle, çok sayıda imlenim söz varlığı içeren belgeler, tanınma ve uyuşmazlık sorunları gösterirler. Bir yazılım modülü hangi eleman ve öznitelikler üzerinde işlem yapmaya tasarlandıysa onları, başka bir yazılım paketine ait imlenimlerde aynı isimde eleman veya öznitelikler kullanılmış olsa bile tanıyabilmelidir.
Bu itibarla, belgelerin, farklı imlenim söz varlıkları arasında uyuşmazlıklara yol açmayacak isimlerle oluşturulması gereği ortaya çıkar. Bu belirtim, eleman ve özniteliklere genişletilmiş isimler atayarak bunun üstesinden gelen ve kendine XML isim-alanları denilen bir mekanizmayı açıklar.
Bu çeviride, vurgulandıklarında, ZORUNLU, ÖNERİ ve SEÇİMLİK anahtar sözcükleri [RFC 2119]'un Türkçe çevirisinde açıklandığı gibi yorumlanır.
Bu belirtimin sözdizimi tanımlarındaki tanım terimlerinin çoğu burada değil XML belirtiminde [XML] tanımlanmıştır. Burada tanımlanan tanım terimlerinden (İng: nonterminals) XML belirtiminde de tanımlanmış olanlar aynı isimle burada da tanımlandığında, sözdizim tanımları, bunların XML belirtimindeki karşılıklarındaki dizge alt kümesi ile her durumda eşleşir.
Bu belgenin sözdizimi tanımlarındaki İAK kısaltması "İsim-alanı Kuralı" deyiminin kısaltması olup, bu belirtime uyumlu belgelerin uyması ZORUNLU kurallardan birini gösterir.
Bir XML isim-alanı bir uluslararası tanım-yeri (IRI) başvurusu [RFC 3987] ile tanımlanır; eleman ve öznitelik isimleri bir XML isim-alanına bu belirtimde açıklanan mekanizmalar kullanılarak yerleştirilebilir.
Bir genişletilmiş isim bir yerel ad ile bir isim-alanı yerinden oluşur. Bir isim alanındaki İ diye bir ismi Y diye bir uluslararası tanım-yeri (IRI) tanımlıyor olsun; burada isim-alanı Yeri Y'dir. İsim-alanında olmayan bir İ için isim-alanı yeri yoktur. Her iki durumda da yerel ad İ'dir. İsim ihtilafına düşmeme konusunda etkili olan, söz varlığının yerel adları ile evrensel olarak yönetilen uluslararası tanım-yeri (IRI) isim-alanının birleşimi işte bu birleşimdir.
Uluslararası tanım-yeri başvuruları isimlerde kullanımına izin verilmeyen karakterler içerebilir, hatta münasebetsizcesine uzun olabilirler; bu bakımdan genişletilmiş isimler XML belgelerde eleman ve öznitelik isimlendirmede doğrudan kullanılmazlar. Bunun yerine nitelikli adlar kullanılır. Bir nitelikli ad isim-alanı yorumuna konu olan addır. Bu belirtimle uyumlu belgelerde eleman ve öznitelik isimleri nitelikli adlar olarak karşımıza çıkar. Sözdizimsel olarak, ya önekli adlar
dır; ya da öneksiz adlar
dır. Özniteliğe dayalı bir bildirim sözdimi, önekli adları isim-alanı yerlerine ve öneksiz adları da öntanımlı isim-alanına bağlamayı sağlar; bu bildirimlerin etki alanı, içinde görüldükleri elemanla sınırlıdır, böylece bir belgenin farklı bölümlerine farklı bağıntılar uygulanabilir. Bu belirtimle uyumlu işlemcilerin bu bildirimleri ve önekleri tanıması ve buna göre davranması ZORUNLUdur.
Boş dizge, geçerli bir uluslararası tanım-yeri başvurusu olsa bile, bir isim-alanı yeri olarak kullanılamaz.
Göreli uluslararası tanım-yeri başvurularının, aynı elemana gönderimleri de içererek, isim-alanı bildirimlerinde kullanımı önerilmemektedir.
İsim-alanlarını tanımlayan uluslararası tanım-yeri başvuruları, bir ismin belirtilen bir isim-alanına ve iki ismin aynı isim-alanına ait olup olmadığı saptanırken karşılaştırılırlar. İki uluslararası tanım-yerinin aynı dizge olarak ele alınabilmesi için sadece ve sadece bu dizgeler birbirinin aynı, yani aynı karakterleri aynı sırayla içeriyor olmaları gerekir. Karşılaştırma harf büyüklüğüne duyarlıdır ve hiçbir %-öncelemesi yapılmaz veya bunlar yoksayılır.
Bunun bir sonucu olarak, bu anlamda aynı olmayan uluslararası tanım-yeri başvuruları aynı kaynaklara çözümlenebilir. Aşağıda, sadece harf büyüklüğü veya %-öncelemesi bakımından farklı uluslararası tanım yeri örnekleri ile uluslararası tanım-yeri başvuruları farklı temel tanım-yerine sahip harici öğelerde olan örneklere yer verilmiştir (yalnız dikkat edin; göreli uluslararası tanım-yerleri isim-alanı yerleri olarak önerilmemektedir).
Bir isim-alanı bildiriminde, uluslararası tanım-yeri başvurusu, özniteliğin normalleştirilmiş değeridir, yani herhangi bir karşılaştırmadan önce XML karakter ve öğe gönderimlerinin değişimi zaten yapılmış olur.
Örnekler:
Aşağıdaki uluslararası tanım-yeri başvurularının hepsi isim-alanlarını betimleme amacına yönelik olarak harf büyüklüklerinin farklı oluşu sebebiyle farklıdırlar:
http://www.example.org/wine
http://www.Example.org/wine
http://www.example.org/Wine
Aşağıdaki uluslararası tanım-yeri başvuruları da aynı amaca yönelik olarak farklıdırlar:
http://www.example.org/rosé
http://www.example.org/ros%c3%a9
http://www.example.org/ros%c3%A9
http://www.example.org/ros%C3%a9
http://www.example.org/ros%C3%A9
Bunlar da:
http://www.example.org/~wilbur
http://www.example.org/%7ewilbur
http://www.example.org/%7Ewilbur
Eğer eacute öğesi é olarak tanımlanmışsa, aşağıdaki başlangıç etiketlerinin hepsi p'yi aynı uluslararası tanım-yeri başvurusununa (http://example.org/rosé
) bağlayan isim-alanı bildirimleri içerir.
<p:foo xmlns:p="http://www.example.org/rosé">
><p:foo xmlns:p="http://www.example.org/rosé">
><p:foo xmlns:p="http://www.example.org/rosé">
><p:foo xmlns:p="http://www.example.org/rosé">
><p:foo xmlns:p="http://www.example.org/rosé">
Eşdeğer olması gereken tanım-yeri başvuruları arasındaki uyuşmazlık riskinden dolayı, isim-alanı yerlerinde %-öncelemeli karakterlerin kullanımı kesinlikle göz korkutucudur.
Bir isim-alanı (daha doğrusu, bir isim-alanı bağıntısı) bu işlem için ayrılmış bir öznitelik ailesi kullanılarak bildirilir. Böyle bir özniteliğin adı ya xmlns olmalı ya da xmlns: ile başlamalıdır. Bu öznitelikler diğer XML öznitelikleri gibi doğrudan veya öntanımlı olarak sağlanmış olabilir.
İsim-alanı Bildirimi için Öznitelik Adları[1] | İAÖzNitAdı | ::= |
| |
| | ||||
[2] | ÖnekliÖzNitAdı | ::= | 'xmlns:' | [İAK: Kayıtlı Önekler ve İsim-alanı Yerleri] |
[3] | ÖntanımlıÖzNitAdı | ::= | 'xmlns' | |
[4] | KısaAd | ::= |
| |
| /* ":" eksiğiyle XML Ad */ | |||
[5] | KısaAdKark | ::= |
| |
[6] | KısaAdBaşlKark | ::= |
|
Özniteliğin normalleştirilmiş değerinin ya bir uluslararası tanım-yeri başvurusu — isim-alanını tanımlayan isim-alanı yeri — ya da boş bir dizge olması ZORUNLUdur. İsim-alanı yerinin, tasarlandığı amaca hizmet etmesi için, eşsizlik ve kalıcılık özelliklerine sahip olması ÖNERİlir. Bir şemanın (varsa) doğrudan bulunup getirilmesi için kullanışlı olmak amaç için yeterli değildir. Tektip Özkaynak Adları [RFC2141] özünde bu hedefle tasarlanmış sözdizimine bir örnektir. Ancak, sıradan adreslerin de aynı amaç doğrultusunda yönetilebileceğine dikkat ediniz.
Eğer öznitelik adı ÖnekliÖzNitAdı
ile eşleşiyorsa, KısaAd
, bildirimin yapıldığı elemanın etki alanında öznitelik değeri olarak belirtilen isim-alanı yeri ile eleman ve öznitelik isimlerini ilişkilendirmek için bu isimlerin önüne getirilen isim-alanı önekini verir.
Eğer öznitelik adı ÖntanımlıÖzNitAdı
ile eşleşiyorsa, öznitelik değerindeki isim-alanı yeri bildirimin yapıldığı elemanın etki alanındaki öntanımlı isim-alanı yeridir. Öntanımlı isim-alanları ve bildirimlerin geçersiz kılınması İsim-alanlarının Elemanlara ve Özniteliklere Uygulanması bölümünde açıklanmıştır.
İsim-alanı öneki edi ile http://ecommerce.example.org/schema
isim-alanı yerini ilişkilendiren bir isim-alanı bildirimi örneği:
<x xmlns:edi='http://ecommerce.example.org/schema'> <!-- "edi" öneki "x" elemanı ve içeriği için http://ecommerce.example.org/schema adresine bağdır. --> </x>
xml öneki tanımı gereği http://www.w3.org/XML/1998/namespace
isim-alanı yerine bağlıdır. xml öneki bildirilebilir SEÇİMLİK, ancak bu gerekli değildir; ve xml öneki bildirilmemiş olmamalı ZORUNLU veya herhangi bir başka isim-alanına bağlı olmamalıdır ZORUNLU. Bu isim-alanı konumuna başka önekler bağlanmamalı ZORUNLU ve bu isim-alanı öntanımlı isim-alanı olarak bildirilmemelidir ZORUNLU.
xmlns: öneki sadece isim-alanı bağlantı bildirimlerinde isim-alanı önekinin başına getirilerek kullanılır ve tanımı gereği http://www.w3.org/2000/xmlns/
isim-alanı yerine bağlıdır. xmlns: öneki için ayrıca bir isim-alanı bildirimi yapılmamalı veya bildirilmemiş olmamalıdır ZORUNLU. xmlns: önekinin bağlı olduğu konuma başka isim-alanları bağlanmamalıdır ZORUNLU. xmlns: öneki öntanımlı isim-alanı olarak bildirilmemelidir ZORUNLU. xmlns: öneki eleman isimlerine önek yapılmamalıdır ZORUNLU. (Ç.N. - xmlns: dizgesi "isim-alanı önekinin öneki" olduğu halde xmlns "öznitelik ismi"dir ve özniteliği olduğu elemanın etki alanında etkin olacak öntanımlı isim-alanının bildiriminde kullanılır.)
x, m, l üçlüsünün bu sırayla harf büyüklüğü değiştirilerek elde edilen her türlü birleşimi önek olarak ayrılmış olup başka öneklerin başına getirilemezler. Bu, şu anlama gelir:
Sonraki belirtimlerce aksi belirtilmedikçe kullanıcılar bunları kullanmamalıdır ÖNERİ.
İşlemciler bunları ölümcül hatalar olarak ele almamalıdırlar ZORUNLU.
Bunlar kendilerini ayırmamışlarsa da, x, m, l üçlüsünün bu sırayla harf büyüklüğü değiştirilerek elde edilen her türlü birleşiminin bir önek olmaksızın kullanımına karşı bu isimler korunmuş olup yerel kısmı bunlarla başlayan önekli isimlerin kullanılması makul sayılmaz.
Bu belirtimle uyumlu XML belgelerde, bazı isimler (Ad
tanım terimini karşılayan oluşumlar) aşağıda tanımlandığı gibi nitelikli adlar olarak verilmelidir ZORUNLU.
[7] | NitelAd | ::= |
|
| | |||
[8] | ÖnekliAd | ::= |
|
[9] | ÖneksizAd | ::= |
|
[10] | Önek | ::= |
|
[11] | YerelKısım | ::= |
|
Önek
nitelikli adın isim-alanı öneki parçasını sağlar ve bir isim-alanı bildiriminde bir isim-alanının uluslararası tanım-yeri ile ilişkilendirilmesi ZORUNLUdur. YerelKısım
ise nitelikli adın yerel kısım parçasını sağlar.
Önekin bir isim-alanı yeri için sadece bir yer tutucu olarak işlev gördüğüne dikkat ediniz. Uygulamaların, etki alanı belge boyunca uzanan isimleri oluşturmak için öneki değil, isim-alanı yerini kullanmaları ÖNERİlir.
Bu belirtimle uyumlu XML belgelerde, eleman etiketleri aşağıdaki gibi nitelikli adlar olarak verilirler:
Eleman Etiketleri[12] | BaşlEtiketi | ::= | '<' | [İAK: Önek Bildirilmelidir] |
[13] | BitişEtiketi | ::= | '</' | [İAK: Önek Bildirilmelidir] |
[14] | BoşElemEtiketi | ::= | '<' | [İAK: Önek Bildirilmelidir] |
Bir eleman türü olarak bir nitelikli ad kullanım örneği:
<!-- 'price' elemanının isim-alanı yeri: http://ecommerce.example.org/schema --> <edi:price xmlns:edi='http://ecommerce.example.org/schema' units='Euro'>32.18</edi:price>
Öznitelikler ya isim-alanı bildirimleridir ya da isimleri nitelikli adlar olarak belirtilirler:
Öznitelik[15] | Öznitelik | ::= |
| |
| | [İAK: Önek Bildirilmelidir] |
Bir öznitelik ismi olarak bir nitelikli ad kullanım örneği:
<x xmlns:edi='http://ecommerce.example.org/schema'> <!-- 'taxClass' özniteliğinin isim-alanı yeri: http://ecommerce.example.org/schema --> <lineItem edi:taxClass="exempt">Bebek Maması</lineItem> </x>
xml
veya xmlns
olmadıkça isim-alanı öneki, ya önekin başına getirildiği elemanın başlangıç etiketinde ya da bir üstküme elemanında (yani önekli elemanı içeren elemanda) önekli isim-alanı bildirim özniteliği (ismi ÖnekliÖzNitAdı
ile tanımlanan öznitelik) kullanılarak bildirilmiş olmalıdır ZORUNLU. Bundan başka, böyle bir bildirimin en içteki öznitelik değeri bir boş dizge olmamalıdır ZORUNLU.
İsim-alanı bildirim özniteliği, doğrudan bir XML belge öğesinde değil de, bir harici öğedeki bir öntanımlı öznitelik üzerinden bildirilmişse, bu kural işlemsel zorluklara yol açabilir. Böyle bildirimler, geçerlilik sınaması yapmayan XML işlemciler tarafından okunamayabilir. Çoğu XML uygulaması, isim-alanına duyarlı olanların da buna dahil olduğu varsayımıyla, geçerliliği sınayan işlemci gerektiğinde başarısız olurlar. Böyle uygulamalarla doğru işlem gerekliyse, isim-alanı bildirimleri ya doğrudan ya da DTD'nin dahili altkümesinde bildirilmiş öntanımlı öznitelikler üzerinden yapılmalıdır ZORUNLU.
Eleman isimleri ve öznitelik türleri, DTD içindeki bildirimlerde nitelikli adlarla tanımlanmışlarsa XML belgelerde de nitelikli adlarıyla kullanılmalıdırlar:
DTD Bildirimlerinde Nitelikli Adlar[16] | belgetürübild | ::= | '<!DOCTYPE' |
[17] | elemanbild | ::= | '<!ELEMENT' |
[18] | içerikparçacığı | ::= | ( |
[19] | Karışık | ::= | '(' |
| '(' | |||
[20] | ÖznitListBild | ::= | '<!ATTLIST' |
[21] | ÖznitTanımı | ::= |
|
DTD'ye dayanarak doğrulamanın şöyle bir durumda, isim-alanı-bilir olmayacağına dikkat edilmelidir: Bir DTD, eleman ve özniteliklerin, bir belgede (isim-alanı yeri, yerel kısım) çiftleriyle değil de, yorumlanmamış isimleriyle görünebilmesini engelleyebilir. İsim-alanlarını kullanan bir belgeyi DTD'ye dayanarak doğrulatmak için, hem belgede hem de DTD'de aynı önekler kullanılmış olmalıdır. Bir DTD yine de doğrulanmış bir belgede isim-alanı kullanımını isim-alanlarının bildirildiği öznitelik için #FIXED
değeri atayarak dolaylı olarak engelleyebilir.
Bir önek bildiren bir isim-alanı bildiriminin etki alanı, bildirimi içeren başlangıç etiketinin başlangıcından, bu elemanın bitiş etiketinin sonuna kadar uzanır; aynı İAÖzNitAdı
parçası ile yapılan iç bildirimlerin etki alanları buna dahil değildir. Bir boş etiket için etki alanı etiketin kendisidir.
Böyle bir isim-alanı bildirimi, bu etki alanı içindeki, bildirimde belirtilen öneke sahip tüm eleman ve öznitelik adlarına uygulanır.
Bir önekli eleman ve öznitelik adının karşılığı olan bir genişletilmiş isim, isim alanı yerini önek
e, yerel adı yerel kısım
a bağlayan bir uluslararası tanım-yerine sahiptir.
<?xml version="1.1"?> <html:html xmlns:html='http://www.w3.org/1999/xhtml'> <html:head><html:title>Frobnostication</html:title></html:head> <html:body><html:p>Moved to <html:a href='http://frob.example.com'>here.</html:a></html:p></html:body> </html:html>
Çok sayıda isim-alanı öneki aşağıdaki örnekte gösterildiği gibi tek bir elemanın öznitelikleri olarak bildirilebilirler:
<?xml version="1.1"?> <!-- both namespace prefixes are available throughout --> <bk:book xmlns:bk='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <bk:title>Cheaper by the Dozen</bk:title> <isbn:number>1568491379</isbn:number> </bk:book>
Bir önek için bir isim-alanı bildirimindeki öznitelik değeri boş olabilir SEÇİMLİK. Bu, bildirimin içinde yer aldığı etki alanında önekin bir isim-alanı yeri ile ilişkisini ortadan kaldırmak gibi bir etkiye sahiptir. Başka bildirimlerle önek tekrar bildirilebilir SEÇİMLİK:
<?xml version="1.1"?> <x xmlns:n1="http://www.w3.org"> <n1:a/> <!-- geçerli; n1 öneki http://www.w3.org'u bağlıyor --> <x xmlns:n1=""> <n1:a/> <!-- geçersiz; burada n1 öneki birşey bağlamıyor --> <x xmlns:n1="http://www.w3.org"> <n1:a/> <!-- geçerli; n1 öneki tekrar aynı yeri bağlıyor --> </x> </x> </x>
Bir öntanımlı isim-alanı bildiriminin etki alanı, bildirimi içeren başlangıç etiketinin başlangıcından, bu elemanın bitiş etiketinin sonuna kadar uzanır; iç öntanımlı isim-alanı bildirimlerinin etki alanları buna dahil değildir. Bir boş etiket için etki alanı etiketin kendisidir.
Bir öntanımlı isim-alanı bildirimi, bu etki alanı içindeki tüm öneksiz eleman ve öznitelik adlarına uygulanır. Öntanımlı isim-alanı bildirimleri öznitelik isimlerine doğrudan uygulanmazlar; öneksiz özniteliklerin nasıl yorumlanacağı kullanıldıkları elemana göre belirlenir.
Eğer etki alanı içinde bir öntanımlı isim-alanı bildirimi varsa, bir öneksiz eleman isminin karşı düştüğü genişletilmiş isim, isim alanı yerini önek
e, yerel adı yerel kısım
a bağlayan bir uluslararası tanım-yerine sahiptir. Eğer etki alanı içinde hiçbir öntanımlı isim-alanı bildirimi yoksa, isim-alanı yeri bir değere sahip değildir. Bir öneksiz öznitelik adı için isim-alanı yeri asla bir değere sahip olmaz. Tüm durumlarda yerel kısım
yerel addır (yani, öneksiz adın ta kendisidir).
<?xml version="1.1"?> <!-- elemanlar, bu durumda öntanımlı olarak, HTML isim alanındadırlar --> <html xmlns='http://www.w3.org/1999/xhtml'> <head><title>Frobnostication</title></head> <body><p>Moved to <a href='http://frob.example.com'>here</a>.</p></body> </html>
<?xml version="1.1"?> <!-- öneksiz elemanlar bu sefer "books"tandırlar --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> </book>
İsim-alanının etki alanı için daha büyük bir örnek:
<?xml version="1.1"?> <!-- başlangıç olarak öntanımlı isim-alanı "books"tur --> <book xmlns='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <title>Cheaper by the Dozen</title> <isbn:number>1568491379</isbn:number> <notes> <!-- bazı açıklamalar için öntanımlı isim-alanı HTML yapılıyor --> <p xmlns='http://www.w3.org/1999/xhtml'> This is a <i>funny</i> book! </p> </notes> </book>
Bir öntanımlı isim-alanı bildiriminde öznitelik değeri boş olabilir SEÇİMLİK. Bu bildirimin etki alanı içinde hiçbir öntanımlı isim-alanının olmayışıyla aynı etkiye sahiptir.
<?xml version='1.1'?> <Beers> <!-- Tabloların içinde öntanımlı isim-alanı HTML'nin isim-alanıdır --> <table xmlns='http://www.w3.org/1999/xhtml'> <th><td>Name</td><td>Origin</td><td>Description</td></th> <tr> <!-- tablo gözeleri içinde hiç öntanımlı isim-alanı yoktur --> <td><brandName xmlns="">Huntsman</brandName></td> <td><origin xmlns="">Bath, UK</origin></td> <td> <details xmlns=""><class>Bitter</class><hop>Fuggles</hop> <pro>Wonderful hop, light alcohol, good summer beer</pro> <con>Fragile; excessive variance pub to pub</con> </details> </td> </tr> </table> </Beers>
Bu belirtimle uyumlu XML belgelerde, hiçbir etiket
isimleri aynı olan veya
nitelikli adları, aynı isim-alanı yerine bağlı öneke ve aynı yerel kısıma sahip
iki öznitelik içeremez.
Bu kural, hiçbir elemanın genişletilmiş adları aynı olan iki özniteliğe sahip olmaması gerekliliğine eşdeğerdir.
Örneğin, aşağıdaki bad
başlangıç etiketlerinin hepsi kuraldışıdır:
<!-- http://www.w3.org isim-alanı yeri olarak n1 ve n2'ye bağlanıyor --> <x xmlns:n1="http://www.w3.org" xmlns:n2="http://www.w3.org" > <bad a="1" a="2" /> <bad n1:a="1" n2:a="2" /> </x>
Bununla birlikte, aşağıdakilerin hepsi kurala uygundur. Öntanımlı isim-alanı öznitelik isimlerine uygulanmadığından ikincisi de kurala uygundur:
<!-- http://www.w3.org isim alanı yeri hem öntanımlıdır hem de n1'e bağlanmıştır --> <x xmlns:n1="http://www.w3.org" xmlns="http://www.w3.org" > <good a="1" b="2" /> <good a="1" n1:a="2" /> </x>
Bu belirtim XML 1.1 belgelere uygulanır. Bu belirtime uygun olması için, bir belgenin XML 1.1 belirtimine [XML 1.1] uygun olarak iyi biçimlenmiş olması ZORUNLUdur.
Bu belirtimle uyumlu XML belgelerde, eleman ve öznitelik isimlerinin NitelAd
sözdizimi tanımına uygun olması ZORUNLU olup "İsim-alanı Kuralları"nı yerine getirmesi de ZORUNLUdur. Belgedeki, XML 1.1 iyi biçimliliği için, XML Ad
sözdizimi tanımıyla eşleşmesi ZORUNLU diğer tüm dizgeciklerin bu belirtimin KısaAd
sözdizimi tanımına da uygun olması ZORUNLUdur.
Bir belge bu belirtime uygunsa isim-alanı iyi biçimli belgedir.
Bir isim-alanı iyi biçimli belgede şunlar doğrudur:
Tüm eleman ve öznitelik isimleri ya bir tane ikinokta imi içerir ya da hiç içermez;
Hiçbir öğe ismi, işlem yönergesi hedefi veya gösterim ismi ikinokta imi içermez.
Bunlara ek olarak, bir isim-alanı iyi biçimli belge aynı zamanda bir isim-alanı-doğrulanmış belge olabilir.
Bir isim-alanı iyi biçimli belge, eğer XML 1.1 belirtimine göre geçerliyse ve XML 1.1 geçerliliği için eleman ve öznitelik isimleri dışında kalan, XML Ad
sözdizimi tanımıyla eşleşmesi gereken tüm dizgecikleri bu belirtimin KısaAd
sözdizimi tanımına da uygunsa, o belge isim-alanı-geçerli bir belgedir.
Bir isim-alanı-geçerli belgede şunlar doğrudur:
ID, IDREF(S), ENTITY(IES) veya NOTATION türünde bildirilmiş hiçbir öznitelik ikinokta imi içermez.
Bu belirtimle uyumlu olması için bir işlemcinin kurala uygun uluslararası tanım-yerlerine sahip isim-alanlarının sınanmasının gerekmemesi ZORUNLU dışında isim-alanı iyi biçimliliğiyle uyumsuzlukları raporlaması gerekir ZORUNLU.
Bu belirtimle uyumlu geçerliliği sınayan XML işlemciler, ek olarak isim-alanı geçerliliğiyle uyumsuzlukları da raporluyorsa isim-alanı-doğrulayan işlemcilerdir.
Bu sürümde 6 Aralık 2002 tarihine kadar olan bütün hata raporları [1.0 Hataları] dikkate alınmıştır. Bellibaşlı iki değişiklik vardır:
Bildirilmeyen önekler için bir mekanizma sağlanmıştır;
İsim-alanları yerleri tek biçimli tanım-yerlerinden ziyade uluslararası tanım-yerleridir.
Düzeltmenlerce yapılmış çeşitli değişiklikler bulunmaktadır. Bunların bir kısmı terminoloji değişiklikleri ve bir kısmı da tutarlılığı arttırdığı düşünülen eklemelerdir. Ayrıca, bilgilendirici nitelikteki "XML İsim-alanlarının İçyapısı" ek bölümü silinmiştir.
Bu sürümde 1.1 sürümünün 1 Haziran 2006 tarihine kadar olan hata raporları dikkate alınmıştır [1.1 Hataları].
1.1 sürümü ilk yayınlandığında, uluslararası tanım-yeri RFC'sinin son sürümü henüz yayınlanmadığından, 1.1 sürümü kendi uluslararası tanım-yeri tanımını içeriyordu. Bu tanım belgeden silinip yerine RFC'ye bir gönderim yerleştirildi.