Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
XML ad alanları, xml belgesindeki öğe ve öznitelik adlarını özel ve önceden tanımlanmış URI'lerle ilişkilendirir. Bu ilişkilendirmeleri oluşturmak için, ad alanı URI'leri için ön ekler tanımlarsınız ve bu ön ekleri kullanarak XML verilerindeki öğe ve öznitelik adlarını nitelersiniz. Ad alanları, öğe ve öznitelik adı çakışmalarını önler ve aynı ada sahip öğelerin ve özniteliklerin farklı şekilde işlenip doğrulanmasını sağlar.
Ad alanlarını bildirme
Bir öğede ad alanı bildirmek için özniteliğini xmlns:
kullanırsınız:
xmlns:<name>=<"uri">
burada <name>
ad alanı ön ekidir ve <"uri">
ad alanını tanımlayan URI'dir. Ön eki bildirdikten sonra, bir XML belgesindeki öğeleri ve öznitelikleri niteleyip ad alanı URI'si ile ilişkilendirmek için kullanabilirsiniz. Bir belgenin tamamında ad alanı ön eki kullanıldığından, kısa uzunlukta olmalıdır.
Bu örnek iki BOOK
öğe tanımlar. İlk öğe önekiyle mybook
nitelenmiş, ikinci öğe ise önekiyle bb
nitelenmiş. Her ön ek farklı bir ad alanı URI'siyle ilişkilendirilir:
<mybook:BOOK xmlns:mybook="http://www.contoso.com/books.dtd">
<bb:BOOK xmlns:bb="urn:blueyonderairlines" />
</mybook:BOOK>
Bir öğenin belirli bir ad alanının parçası olduğunu göstermek için ad alanı ön ekini ekleyin. Örneğin, bir Author
öğe ad alanına aitse mybook
olarak <mybook:Author>
bildirilir.
Bildirim kapsamı
Ad alanı, bildirim noktasından bildirildiği öğenin sonuna kadar etkilidir. Bu örnekte, BOOK
öğesinde tanımlanan ad alanı, BOOK
öğesi dışındaki öğelere, örneğin Publisher
öğesine, uygulanmaz.
<Author>Joe Smith</Author>
<BOOK xmlns:book="http://www.contoso.com">
<title>My Wonderful Day</title>
<price>$3.95</price>
</BOOK>
<Publisher>
<Name>MSPress</Name>
</Publisher>
Ad alanının kullanılabilmesi için önce bildirilmesi gerekir, ancak XML belgesinin en üstünde görünmesi gerekmez.
Xml belgesinde birden çok ad alanı kullandığınızda, daha temiz görünümlü bir belge oluşturmak için bir ad alanını varsayılan ad alanı olarak tanımlayabilirsiniz. Varsayılan ad alanı kök öğesinde bildirilir ve belgedeki tüm nitelenmemiş öğelere uygulanır. Varsayılan ad alanları özniteliklere değil yalnızca öğelere uygulanır.
Varsayılan ad alanını kullanmak için, öğe üzerindeki deklarasyondan ön eki ve iki nokta üst üsteyini çıkarın.
<BOOK xmlns="http://www.contoso.com/books.dtd">
...
</BOOK>
Ad alanlarını yönetme
XmlNamespaceManager sınıfı bir ad alanı URI'leri koleksiyonunu ve bunların ön eklerini depolar ve bu koleksiyondaki ad alanlarını aramanıza, eklemenize ve kaldırmanıza olanak tanır. Belirli bağlamlarda, bu sınıf daha iyi XML işleme performansı için gereklidir. Örneğin, XsltContext sınıfı XPath desteği için kullanır XmlNamespaceManager .
Ad alanı yöneticisi ad alanları üzerinde herhangi bir doğrulama gerçekleştirmez, ancak ön eklerin ve ad alanlarının zaten doğrulandığını ve W3C Ad Alanları belirtimine uygun olduğunu varsayar.
Uyarı
LINQ TO XML, C# ve Visual Basic ad alanlarını yönetmek için XmlNamespaceManager kullanmaz. LINQ to XML kullanırken ad alanlarını yönetme hakkında bilgi için LINQ belgelerinde XML Ad Alanlarıyla Çalışma (C#) ve XML Ad Alanlarıyla Çalışma (Visual Basic) konularına bakın.
Sınıfıyla gerçekleştirebileceğiniz yönetim ve arama görevlerinden bazıları aşağıdadır XmlNamespaceManager . Daha fazla bilgi ve örnek için, her yöntem veya özelliğin başvuru sayfasının bağlantılarını izleyin.
İçin | Kullan |
---|---|
Ad alanı ekleme | AddNamespace yöntemi |
Ad alanını kaldırma | RemoveNamespace yöntemi |
Varsayılan ad alanının URI'sini bulma | DefaultNamespace özellik |
Ad alanı ön ekinin URI'sini bulma | LookupNamespace yöntemi |
Ad alanı URI'sinin ön ekini bulma | LookupPrefix yöntemi |
Geçerli düğümdeki ad alanlarının listesini alma | GetNamespacesInScope yöntemi |
Alan adının kapsamını belirle | PushScope ve PopScope yöntemleri |
Bir ön ekin geçerli kapsamda tanımlanıp tanımlanmadığını denetleyin | HasNamespace yöntemi |
Ön ekleri ve URI'leri aramak için kullanılan ad tablosunu alma | NameTable özellik |