2012-06-13 12 views
6

Dopo aver letto MSDN-XAML Namespaces e MSDN-Understanding XAML Namespaces, non riesco ancora a capire lo scopo di avere un nome qualificato .Nome qualificato nella dichiarazione dello spazio dei nomi

Prendere la seguente dichiarazione dello spazio dei nomi come un esempio:

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

x è il prefisso abbreviazione dell'URI completo (in questo caso, un URL): http://www.w3.org/1999/XSL/Transform. Poi c'è questo QName chiamato xmlns. La definizione di QName in MDSN è:

Questo nome completo compreso il prefisso è la forma lessicale di un nome qualificato (QName):

Che cosa vorrebbe dire e perché è lì dal la dichiarazione thet ha già un locatore e un prefisso per identificare lo spazio dei nomi e i suoi nomi da utilizzare?

risposta

1

Penso che più di una domanda XAML sia solo una domanda di spazio dei nomi XML.

L'attributo xmlns (un attributo speciale) è solo l'attributo utilizzato in XML per definire uno spazio dei nomi. Dice "ecco una dichiarazione di namespace". Se non si aggiunge un prefisso, si sta dicendo di impostare lo spazio dei nomi che è il valore dell'attributo come spazio dei nomi predefinito per la pagina. Se ometti completamente, si assume che il namespace predefinito sia il valore dell'attributo (dopo = e tra virgolette).

XAML è XML e sceglie di utilizzare il meccanismo XML per la dichiarazione degli spazi dei nomi. Immagino che avrebbero potuto creare il loro meccanismo per farlo, ma poiché non lo hanno fatto, se hai aggiunto il tuo spazio dei nomi come suggerito nella tua domanda, senza xmlns :, l'app che elabora l'XML (il framework .NET in questo caso , analizza il file XAML) non saprebbe che stavi cercando di definire uno spazio dei nomi; penserebbe che tu stia aggiungendo un attributo chiamato "x" all'elemento in cui è stato definito (che molto probabilmente non sarebbe un attributo che è definito per quell'elemento).

Per di più su namespace XML

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

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

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

+0

si può spiegare nel contesto di XAML? – KMC

+0

Scusate, ho avuto l'XHTML sul cervello come stavo facendo molto ieri. Ho cambiato la risposta per parlare solo di XML (e XAML in una certa misura) –

Problemi correlati