Dlaczego elementy potomne generujące tlen z pustymi atrybutami xmlns?

Próbuję zrozumieć techniczną stronę pracy z domyślną przestrzenią nazw, zaczynając od schematu (rozwijającego się) i rozważając realistyczny i poprawny odpowiedni plik XML.

Używam Oxygen do zaprojektowania schematu.

W idealnej sytuacji chciałbym, aby użytkownik plików XML nie musiał zajmować się domyślną przestrzenią nazw (ponieważ są bolesne, podczas próby użycia XPath w dokumentach, które zadeklarowały domyślną przestrzeń nazw). Jednak z tego, co przeczytałem do tej pory, wydaje się, że nie jest to możliwe?

Mój przykładowy schemat wygląda tak:

<?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>

a tlen generuje przykładowy XML, który wygląda tak:

<?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>

Moje pytanie brzmi:

Dlaczego Oxygen generuje elementy potomne z pustymi atrybutami xmlns?Jak mogę tego najlepiej unikać?Czy możliwe jest utworzenie schematu, który może poprawnie opisać i zweryfikować dokument XML, który raczej nie ma zadeklarowanej przestrzeni nazw (domyślnie lub inaczej).Jeśli odpowiedź na (c) brzmi „tak”, w jaki sposób zmodyfikowałbyś mój przykład schematuJaki jest naprawdę dobry dokument, aby wyjaśnić to wszystko głębiej, ale jednocześnie być czytelnym (tzn. Nie znajduję dokumentów whttp://www.w3.org/XML/ w ogóle łatwe do zrozumienia lub przeczytania).

questionAnswers(1)

yourAnswerToTheQuestion