Почему Oxygen генерирует дочерние элементы с пустыми атрибутами xmlns?

Я пытаюсь понять техническую сторону работы с пространством имен по умолчанию, когда начинаю со схемы (разрабатываю) и рассматриваю реалистичный и правильный соответствующий файл XML.

Я использую кислород для разработки схемы.

В идеале мне бы хотелось, чтобы пользователю файлов XML не приходилось иметь дело с пространством имен по умолчанию (потому что они болезненны при попытке использовать XPath в документах, которые объявили пространство имен по умолчанию). Однако из того, что я прочитал до сих пор, кажется, что это невозможно?

Мой пример схемы выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.example.com/" 
    xmlns="http://www.example.com/">
    <xs:element name="QueryResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Result"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Result">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Patient"/>
            </xs:sequence>
            <xs:attribute name="type" type="xs:NCName"/>
        </xs:complexType>
    </xs:element>
    <xs:element name="VisitNumber" type="xs:string"/>
    <xs:element name="Demographics">
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="1" name="firstNames" type="xs:string"/>
                <xs:element minOccurs="1" maxOccurs="1" name="surname" type="xs:string"/>
                <xs:element minOccurs="1" maxOccurs="1" name="dateOfBirth" type="xs:dateTime"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Patient">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Demographics"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

и кислород генерирует пример XML, который выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<QueryResponse xmlns="http://www.example.com/"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.example.com/ file:/home/me/simplifiedResponse.xsd">
    <Result>
        <Patient>
            <Demographics>
                <firstNames xmlns="">firstNames0</firstNames>
                <surname xmlns="">surname0</surname>
                <dateOfBirth xmlns="">2006-05-04T18:13:51.0Z</dateOfBirth>
            </Demographics>
        </Patient>
    </Result>
</QueryResponse>

Мой вопрос:

Почему Oxygen генерирует дочерние элементы с пустыми атрибутами xmlns?Как я могу наилучшим образом избежать этого?Можно ли создать схему, которая может правильно описывать и проверять документ XML, который, скорее, не имеет объявленного пространства имен (по умолчанию или иным образом).Если ответ (с) «да», как бы вы изменили мой пример схемыКакой действительно хороший документ, чтобы объяснить все это немного более подробно, но быть читаемым в то же время (т.е. я не нахожу документы наhttp://www.w3.org/XML/ вообще легко понять или прочитать).

Ответы на вопрос(1)

Ваш ответ на вопрос