2013-11-04 8 views
5

Ich kenne den Standardnamespace in XML, z. deklarieren Sie xmlns = "xxx" für ein Element, und dieser Namespace wird auf alle untergeordneten Elemente ohne Präfix angewendet. Meine Frage ist, wenn anstelle von xmlns = "...", xmlns: pre = "..." im Element deklariert wird, sind unfixierte Child-Elemente immer noch dem Namespace des Elternteils zugeordnet? HierXML-Namespace des nicht untergeordneten untergeordneten Elements, für das der übergeordnete Parameter xmlns: Präfix deklariert wurde

ein Beispiel:

<?xml version="1.0" ?> 
<srv:tutorial xmlns:srv='http://www.w3resource.com/server-side-tutorial'> 
    <name>php</name> 
    <name>asp</name> 
    <name>jsp</name> 
</srv:tutorial> 

Was ist der Namensraum der drei inneren Namenselemente?

Antwort

3

Alle drei inneren 'name'-Elemente gehören zum' default'- oder 'empty'-Namespace, nicht zum Namespace mit dem Präfix' srv '.

+0

genau das, was ich hören wollte. Vielen Dank! – Brett

+2

Es gibt keine leere NS. Das gibt es nicht. Und hier gibt es keine Standard-NS. Sie gehören also keinem NS an. – lkuty

+0

Mit "default" und "empty" meinte ich "logisch", dass sie sich in diesem "Namensraum" befinden, was natürlich kein legitimer Namensraum ist. Für unsere Referenz können wir einen Blick auf http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-breakdown werfen, eine RESERVATION mit SEAT und DEPARTURE exampling, die unserer sehr ähnlich sind Fall. –

0

Ich kann keine Kommentare wegen meiner aktuellen Kredit ist nicht genug.

Aber ich bin nur neugierig, wie man das Sprichwort, dass innere 'Name' Elemente gehören nicht zu Namespace als "srv" Keyed validiert?

Jedes Standarddokument könnte diesen Spruch unterstützen (beweisen)?

Danke

+0

"[Eine Namespace-Deklaration, die ein Präfix deklariert], gilt für alle Element- und Attributnamen innerhalb ihres Gültigkeitsbereichs **, deren Präfix mit dem in der Deklaration angegebenen übereinstimmt." - https://www.w3.org/TR/xml-names/#scoping-defaulting – Spooky