2013-06-25 4 views
15

En iyi schema öğesinde hem targetNamespace hem de xmlns:tns özniteliğini bildiren bazı XSD şema belgelerini görüyorum. Örneğin. Aşağıdaki kişi from here alınmıştır. Ayrıca aynı dize değerine sahipler. targetNamespace'un rolünü anlıyorum ama xmlns:tns bunun üstünde ne yapıyor?xmln: tns ve targetNamespace

<?xml version="1.0" encoding="UTF-8"?> 
<schema 
    xmlns="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.example.org/Product" 
    xmlns:tns="http://www.example.org/Product" 
    elementFormDefault="qualified"> 
... 

cevap

25

Daha sonra şemadaki ad alanına başvurmanızı sağlar. Sonra adlandırılmış tür ilan edip Örneğin, ayrıca http://www.w3.org/2001/XMLSchema içinde someType

<complexType name="someType"> 
    <!-- ... --> 
</complexType> 

<element name="someElement" type="tns:someType" /> 

Basitçe ki (varolmayan) atıfta olacağını çünkü type="someType" işe yaramaz diyerek bu tür bir öğe ilan etmek istiyorum http://www.example.org/Product ad boşluğundaki ad alanı yerine, ad alanı (şema dosyasının xmlns="...").

+0

Tamam, bu anlamda 'tns' bir ad alanına bağlı diğer bir önek gibidir, diğer tüm önekler gibi, özel bir önem taşımamaktadır, değil mi? –

+1

@MarcusJuniusBrutus gerçekten, istediğiniz herhangi bir öneki kullanabilirsiniz. "Tns" öneki bu bağlamda "hedef ad alanı" için bir anımsatıcı olarak yaygındır, ancak "ürün", "ns0" veya her neyse aynı zamanda kullanabilirsiniz. –

İlgili konular