• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

XSD schema namespaces

42 Warsaw Coding Academy
0 głosów
578 wizyt
pytanie zadane 30 listopada 2018 w Inne języki przez RafalS VIP (122,820 p.)

Czemu taki dokument xml:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<adres>
  <ulica>krakow</ulica>
  <nr>2</nr>
</adres>

przechodzi walidacje takim schematem:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="adres">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ulica" type="xs:string"/>
        <xs:element name="nr" type="xs:integer"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

ale gdy spróbuje dodać namespace w schemacie:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="dupa"
targetNamespace="dupa">

i w pliku:

<adres xmlns="dupa">

to walidator wywala: 

  • Cvc-complex-type.2.4.a: Invalid Content Was Found Starting With Element 'ulica'. One Of '{ulica}' Is Expected., Line '2', Column '10'.

1 odpowiedź

+1 głos
odpowiedź 30 listopada 2018 przez Comandeer Guru (607,060 p.)
wybrane 30 listopada 2018 przez RafalS
 
Najlepsza

Bo Twój schema chce przestrzeni nazw wyłącznie dla adres, a nie dla pozostałych elementów. A gdy przypinasz [xmlns] do całego adres, to wszystkie elementy wewnątrz niego z automatu też siedzą w tej przestrzeni nazw. Musiałbyś mieć taką konstrukcję:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<namespace:adres xmlns:namespace="namespace">
  <ulica>Whatever</ulica>
  <nr>2</nr>
</namespace:adres>

Przy okazji błąd powinien brzmieć tak:

cvc-complex-type.2.4.a: Invalid content was found starting with element '{"namespace":ulica}'. One of '{ulica}' is expected.

I dopiero teraz ma sens. 

Ogólnie AFAICT wymuszenie elementów z innego namespace ma sens wtedy, gdy mamy kilka XSD lub definiujemy namespace dla XSD → http://www.xfront.com/ZeroOneOrManyNamespaces.html

komentarz 30 listopada 2018 przez RafalS VIP (122,820 p.)
Wszystko jasne, dzieki.

Podobne pytania

0 głosów
0 odpowiedzi 465 wizyt
pytanie zadane 1 lutego 2019 w Inne języki przez Milesq Nałogowiec (32,020 p.)
0 głosów
0 odpowiedzi 316 wizyt
0 głosów
2 odpowiedzi 383 wizyt
pytanie zadane 21 kwietnia 2016 w Inne języki przez BerdPL Obywatel (1,190 p.)

93,389 zapytań

142,385 odpowiedzi

322,547 komentarzy

62,749 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...