XML-Standard-Namespace-Problem

George

Angenommen, ich habe die folgende XML-Schemadatei und die folgende XML-Dokumentdatei. Ich habe zwei Fragen,

  1. Da in der XML-Schemadatei kein Zielnamensbereich angegeben ist, in welchem Namespace wird Informationselement verwendet?

  2. In der XML-Dokumentdatei, welcher Namespace gehört bei verwendung von Information? Bitte beachten Sie in diesem Fall, dass ich nicht auf XML-Schema-Datei aus der XML-Dokumentdatei beziehe.

XML-Schemadatei:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="Information" type="xs:string"/>
</xs:schema>

XML-Dokumentdatei:

<?xml version="1.0" encoding="utf-8"?>
<Information>Hello XML</Information>

dank im Voraus,

Antwort auf "XML-Standard-Namespace-Problem " 2 von antworten

Das Informationselement befindet sich in keinem Namespace. Um es in einen Standardnamespace zu setzen, müssen Sie diesen Namespace im Tag angeben.

<Information xmlns="http://www.mydefaultnamespace.com">

Von einem Oracle article: :

Kein Namespace

Kein Namespace vorhanden, wenn kein Standardnamespace im Gültigkeitsbereich vorhanden ist. Ein "Default Namespace" ist ein Namespace, der explizit mit xmlns deklariert wird. Wenn ein "Standardnamespace" überhaupt nicht mit xmlns deklariert wurde, ist es falsch zu sagen, dass sich die Elemente in der Datei "default >namespace" befinden. In solchen Fällen sagen wir, dass sich die Elemente in "kein Namespace" befinden. "kein Namespace" >gilt auch, wenn ein bereits deklarierter "Standardnamespace" nicht deklariert ist.

Hier ist eine ziemlich umfassende Namespace-Ressource:

XML Namespaces FAQ

Warum definieren Sie ein Schema für kein Ziel? Das macht keinen Sinn.