Ist es illegal, nicht verwendete Namespace-Deklarationen in einem XML-Dokument zu haben?

StackOverflow https://stackoverflow.com/questions/982745

  •  13-09-2019
  •  | 
  •  

Frage

Zum Beispiel wird das folgende XML-Dokument gültig gemäß der W3C XML 1.0 Empfehlung? Beachten Sie, dass der Namespace ‚Zukunft‘ ist nicht überall in dem Dokument verwiesen wird.

Dies ist zwar nicht gut Stil betrachtet werden kann, ist meine Überzeugung, dass das Dokument noch gültig ist, unabhängig von dem nicht verwendeten Namespace. Kann jemand bestätigen oder widerlegen diese Annahme?

Danke, Matt

<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns='http://foo.org/v1'  xmlns:future='http://bar.org/v1'>
    <child>1</child>
</root>
War es hilfreich?

Lösung

Die Standard scheint nicht anders zu bezeichnen. Abschnitt 7, „Conformance von Documents“ gibt ein paar Anforderungen, um ein Dokument „Namespace-well-formed“ und „Namespace-gültig“ zu nennen, aber nichts sagt, dass Sie nicht eine nicht verwendete Namespace-Deklaration haben.

In Abschnitt 3 wird ein Beispiel gegeben, das einen nicht verwendeten Namespace enthält:

<x xmlns:edi='http://ecommerce.example.org/schema'>
    <!-- the "edi" prefix is bound to http://ecommerce.example.org/schema
         for the "x" element and contents -->
</x>

Andere Tipps

Nein, ist es nicht illegal nicht verwendete Namespace-Deklarationen in einem XML-Dokument zu haben.

W3C hat tatsächlich einen Validator Service rel="nofollow. Dies bestätigt mit zwei Warnungen, die Codierung und das Fehlen einer Doctype.

Während die meisten clean-up-Tools nicht verwendeten Namespaces entfernen werde ich mich nicht erinnern, etwas auf XML-Spezifikation sagen, es ist illegal, sie zu halten. Und ich weiß nicht, jeder XML-Parser, die nicht ein solches Dokument übernehmen (und es gibt eine Menge solcher Dokumente im Umlauf).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top