Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml] błędy w validacji
february
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 15.04.2012

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


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>


Ten post edytował february 15.04.2012, 13:25:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
tolomei
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


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.

Ten post edytował tolomei 15.04.2012, 13:46:41
Go to the top of the page
+Quote Post
february
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 15.04.2012

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


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

Pozdrawiam.

Ten post edytował february 15.04.2012, 21:49:06
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 14:15