Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XML] XML Schema i brak weryfikacji
Koniczynka
post 2.12.2008, 22:33:51
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 24.05.2006

Ostrzeżenie: (0%)
-----


Witajcie,

Podstawy XMLa poznałem w kilka dni poprzednich wakacji, po czym zaprzestałem nauki, bo nie widziałem zbytniego zastosowania. Teraz wiem, że się myliłem i w wolnej chwili wróciłem do niego. Zainteresowałem się bliżej XML Schema i od kilku godzin mam jeden problem - tworzę schematy, które są ignorowane. Najpierw robiłem je sam, potem przepisałem z książki "XML na poważnie", a na samym końcu wziąłem z interentowej strony O'Reilly'ego i z w3schools. Stosowałem też podpowiedź splatcha z tego tematu http://forum.php.pl/index.php?showtopic=60...p;hl=xml+schema , ale za każdym razem nic. Mogę wpisywać obojętnie jakie dane, zmieniać kolejność elementów i nie pojawiał się żaden błąd.

  1. schemat.xsd
  2. <?xml version="1.0" encoding="utf-8"?>
  3. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  4.  
  5. <xs:element name="shiporder">
  6. <xs:complexType>
  7.  <xs:sequence>
  8.   <xs:element name="orderperson" type="xs:string"/>
  9.   <xs:element name="shipto">
  10.    <xs:complexType>
  11.     <xs:sequence>
  12.      <xs:element name="name" type="xs:string"/>
  13.      <xs:element name="address" type="xs:string"/>
  14.      <xs:element name="city" type="xs:string"/>
  15.      <xs:element name="country" type="xs:string"/>
  16.     </xs:sequence>
  17.    </xs:complexType>
  18.   </xs:element>
  19.   <xs:element name="item" maxOccurs="unbounded">
  20.    <xs:complexType>
  21.     <xs:sequence>
  22.      <xs:element name="title" type="xs:string"/>
  23.      <xs:element name="note" type="xs:string" minOccurs="0"/>
  24.      <xs:element name="quantity" type="xs:positiveInteger"/>
  25.      <xs:element name="price" type="xs:decimal"/>
  26.     </xs:sequence>
  27.    </xs:complexType>
  28.   </xs:element>
  29.  </xs:sequence>
  30.  <xs:attribute name="orderid" type="xs:string" use="required"/>
  31. </xs:complexType>
  32. </xs:element>
  33.  
  34. </xs:schema>


  1. doku.xml
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <shiporder orderid="889923"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:noNamespaceSchemaLocation="http://wwww.adresmojejstrony.pl/katalog/podkatalog/schemat.xsd">
  6. <orderperson>John Smith</orderperson>
  7. <shipto>
  8.  <name>Ola Nordmann</name>
  9.  <address>Langgt 23</address>
  10.  <city>4000 Stavanger</city>
  11.  <country>Norway</country>
  12. </shipto>
  13. <item>
  14.  <title>Empire Burlesque</title>
  15.  <note>Special Edition</note>
  16.  <quantity>-434</quantity>
  17.  <price>10.90</price>
  18. </item>
  19. <item>
  20.  <title>Hide your heart</title>
  21.  <quantity>-434</quantity>
  22.  <price>9.90</price>
  23. </item>
  24. </shiporder>
Go to the top of the page
+Quote Post
splatch
post 10.02.2009, 09:33:18
Post #2





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witaj,
Upewnij się że Twój parser poprawnie wczytuje schematy które są umieszczone na innych serwerach (Twoje noNamespaceSchemaLocation wskazuje na obcy adres), najprostszy sposób to umieszczenie pliku XSD obok XML, tak by przekazać nazwę mySchemax.xsd w atrybucie noNamespaceSchemaLocation.

W jaki sposób weryfikujesz zgodność dokumentu XML ze schematem?


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 01:57