2012-06-13 40 views
6

MSDN-XAML Namespaces ve MSDN-Understanding XAML Namespaces okunduktan sonra, hala bir Kalifiye Ad (QName) ürününün amacını anlamıyorum.Ad alanı bildiriminde nitelikli ad

örnek olarak aşağıdaki ad alanı beyanı atın:

xmlns: x = 'http: //www.w3.org/1999/XSL/Transform'

x öneki Tam URI (bu durumda, bir URL) için kısa: http://www.w3.org/1999/XSL/Transform. Daha sonra xmlns adı verilen bu QName var. önek dahil

Bu tam adı nitelikli adı (QName) sözcüksel şeklidir: mdsn içinde NitelAd için tanım olduğunu gerekiyordu ne

demek ve neden beri orada olduğunu Thet deyiminde, ad alanını ve kullanılacak adlarını tanımlamak için bir yer belirleyici ve bir önek zaten var mı?

cevap

1

Bunun bir XAML sorusu olmasından çok, bir XML ad alanı sorusu olduğunu düşünüyorum.

xmlns özniteliği (özel bir öznitelik) yalnızca bir ad alanını tanımlamak için XML'de kullanılan özniteliktir. "Burada bir isim-alanı bildirimi geliyor" yazıyor. Bir önek eklemezseniz, sayfanın varsayılan ad alanı olarak niteliğin değeri olan ad alanını ayarlamasını söylersiniz. Tamamen atlarsanız, varsayılan ad alanının özniteliğin değeri olduğu varsayılır (= ve tırnak işaretleri arasında).

XAML XML'dir ve ad alanı bildirmek için XML mekanizmasını kullanmayı seçer. Bunu yapmak için kendi mekanizmalarını oluşturmuş olabilirlerdi, ama yapmadıklarından beri, eğer xmlns :, xmlns olmadan, adınızı eklediğiniz gibi ad alanınızı eklediyseniz, XML'i işleyen uygulama (bu durumda .NET çerçevesi) , XAML dosyasını ayrıştırır) bir ad alanı tanımlamaya çalıştığınızı bilmiyordu; Tanımlandığı öğeye "x" adlı bir özellik eklediğinizi düşünür (bu, büyük olasılıkla bu öğe için tanımlanmış bir özellik olmayacaktır). XML ad

http://www.w3.org/TR/REC-xml/

http://www.w3schools.com/XML/xml_namespaces.asp

http://en.wikipedia.org/wiki/XML_namespace

+0

XAML bağlamında açıklayabilir hakkında daha fazlası için

? – KMC

+0

Özür dilerim, beynimde XHTML vardı, dün çok yaptım. Cevabı sadece XML (ve bir dereceye kadar XAML) hakkında konuşmak için değiştirdim –