Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml] błędy w validacji
Forum PHP.pl > Forum > XML, AJAX
february
Dzień dobry,

O kurcze, myślałem, że wstawiłem w "samego xml'a" - bardzo przerpaszam za mój błąd, sam tego nie naprawię, więc bardzo prosze moderatora o usunięcie albo przeniesienie do prawidłowego działu.
Mam taki mały pliczek xml, który w procesie validacji - np. online - niechce przejść zwraca błędy, braku znaczników zamykających element, sequence, complexType itd. Jako, że to mój kompletny początek z xml'em i tym forum, prosił bym o wyrozumiałość. Celowo student jes x2 z róznymi typami ponieważ moje zadanie polegało na tym by podzielić strukturę na osobne typy. Kierując się tutorialami internetowymi o xml'u definicje moich elementów powinny być prawidłowe, a jednak nie jest. Będę bardzo wdzięczny za pomoc.

  1. <?xml version="1.0"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3.  
  4. <xs:element name="student" type="sinfo"/>
  5.  
  6. <xs:complexType name="sinfo">
  7. <xs:sequence>
  8. <xs:element name="id" type="xs:decimal"/>
  9. <xs:element name="firstname" type="xs:string"/>
  10. <xs:element name="lastname" type="xs:string"/>
  11. <xs:element name="maths" type="xs:integer">
  12. <xs:element name="geographic" type="xs:integer">
  13. <xs:element name="history" type="xs:integer">
  14. <xs:element name="student" maxOccurs="unbounded">
  15. </xs:sequence>
  16. </xs:complexType>
  17.  
  18. <xs:element name="student" type="holiday"/>
  19.  
  20. <xs:complexType name="holiday">
  21. <xs:sequence>
  22. <xs:element name="country" type="xs:string"/>
  23. <xs:element name="city" type="xs:string"/>
  24. <xs:element name="days" type="xs:integer"/>
  25. <xs:element name="transport" type="xs:string">
  26. </xs:sequence>
  27. </xs:complexType>
  28.  
  29. <xs:element name="employee" type="einfo"/>
  30. <xs:complexType name="einfo">
  31. <xs:sequence>
  32. <xs:element name="duties" type="xs:string">
  33. <xs:element name="time" type="xs:integer">
  34. <xs:element name="area" type="xs:string">
  35. <xs:element name="new" type="xs:boolean">
  36. </xs:sequence>
  37. </xs:complexType>
  38. </xs:schema>
tolomei
Witaj.

Jest parę błędów dotyczących domknięć elementów.

  1. <?xml version="1.0"?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3.  
  4. <xs:element name="student" type="sinfo"/>
  5.  
  6. <xs:complexType name="sinfo">
  7. <xs:sequence>
  8. <xs:element name="id" type="xs:decimal"/>
  9. <xs:element name="firstname" type="xs:string"/>
  10. <xs:element name="lastname" type="xs:string"/>
  11. <xs:element name="maths" type="xs:integer"/>
  12. <xs:element name="geographic" type="xs:integer"/>
  13. <xs:element name="history" type="xs:integer"/>
  14. <xs:element name="student" maxOccurs="unbounded"/>
  15. </xs:sequence>
  16. </xs:complexType>
  17.  
  18. <xs:element name="student" type="holiday"/>
  19.  
  20. <xs:complexType name="holiday">
  21. <xs:sequence>
  22. <xs:element name="country" type="xs:string"/>
  23. <xs:element name="city" type="xs:string"/>
  24. <xs:element name="days" type="xs:integer"/>
  25. <xs:element name="transport" type="xs:string"/>
  26. </xs:sequence>
  27. </xs:complexType>
  28.  
  29. <xs:element name="employee" type="einfo"/>
  30. <xs:complexType name="einfo">
  31. <xs:sequence>
  32. <xs:element name="duties" type="xs:string"/>
  33. <xs:element name="time" type="xs:integer"/>
  34. <xs:element name="area" type="xs:string"/>
  35. <xs:element name="new" type="xs:boolean"/>
  36. </xs:sequence>
  37. </xs:complexType>
  38.  
  39. </xs:schema>


Układ taki ma sens jedynie jeśli pomiędzy znacznikami xs:element(tymi na wyższym poziomie) oraz xs:complexType występuje relacja jeden do wielu lub wiele do jednego. Jeśli zaś będzie to relacja jeden do jednego - tak jak w tym przypadku - należałoby te znaczniki zagnieździć lub połączyć ze sobą.

Znaczniki xs:sequence użyte jedynie w takim zakresie jak powyżej - nie mają także sensu - nie wnoszą żadnej informacji.

Pozdrawiam.
february
Wszystko już udało się zrobic, dziękuje za pomoc.

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.