Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: DTD
Forum PHP.pl > Forum > XML, AJAX > XML
lzqm
Witam wszystkich
Mam prośbę o pomoc
co oznacza taki zapis jak należy go rozumieć:
<!ELEMENT pies (imie|rasa|kolor|wiek)*>
z góry dziękuje
Crozin
Oznacza, że element PIES, może zawierać elementy IMIE, RASA, KOLOR, WIEK w dowolnej ilości (włącznie z brakiem), czyli przykładowo:
  1. <pies>
  2. <imie>Azor</imie>
  3. <kolor>czarny</kolor>
  4. <kolor>szary</kolor>
  5. <wiek>5</wiek>
  6. </pies>
  7. <pies />
  8. <pies>
  9. <imie>Azor</imie>
  10. <rasa>Labrador</rasa>
  11. </pies>
lzqm
dzieki
a czy kolejnosc wystepowania ma znaczenie tzn czy muszą być w takiej samej kolejności ?
Crozin
Co prawda nigdy nie czytałem by kolejność (nie) miała znaczenia, ale stawiam, że jest to kompletnie nieistotne. Zresztą każdy dobry edytor z obsługą plików XML wywali Ci błąd, jeżeli tworzona treść nie będzie zgadzać się z DTD.
lzqm
czyli zapis:
1.<pies>
2. <imie>Azor</imie>
3. <kolor>czarny</kolor>
4. <rasa>owczarek</rasa>
5. <wiek>5</wiek>
6.</pies>
będzie zły ?
a zapis:
DTD:
(imie|rasa|kolor|wiek)*
musi mieć zapis
XML:
1.<pies>
2. <imie>Azor</imie>
3. <rasa>owczarek</rasa>
4. <kolor>czarny</kolor>
5. <wiek>5</wiek>
6.</pies>

witam
bardzo przepraszam 23 wyswietlenia i nic ?
moze ktos cos doda
wookieb
http://www.w3schools.com/dtd/dtd_elements.asp
Cytat
When children are declared in a sequence separated by commas, the children must appear in the same sequence in the document.

Polecam się zapoznać z całym "kursem".
lzqm
dzieki za takie rady (fora nie sa do podawania linkow) przed zadaniem pytania zapoznalem sie z kilkoma pozycjami wlacznie z ta strona ale nie ma tam mojego przykladu
ale moze sam sobie poczytaj
pytanie jest proste (mam nadzieje) więc poprosze o prosta odpowiedz czy kolejnosc w tym przykladzie ma znaczenie
wookieb
Jak już odgryzłeś moją reke to może podać Ci chusteczkę?
Podałem Ci cytat, który mówi KIEDY kolejność elementów jest ważna. Skoro to do Ciebie nie dociera to proszę. Na samym dole informacja.
Kod
<!ELEMENT note (#PCDATA|to|from|header|message)*>


Cytat
The example above declares that the "note" element can contain zero or more occurrences of parsed character data, "to", "from", "header", or "message" elements.

Jest tu informacja o kolejności? Nie. A dlaczego? Bo kolejność jest ważna przy innej deklaracji (czytaj wyżej).

Skoro nie umiesz docenić czyjejś cennej informacji bo nie potrafisz jej zrozumieć to wyjdź. Jeżeli jednak wolisz zostać to daruj sobie herezje typu "forum nie jest od podawania linków" bo się ośmieszasz.

P.s. bardzo mi przykro, że w przykładzie nie uwzględnili "konkretnie twoje przykładu" no ale cóż.
lzqm
czy tak trudno napisac czy kolejność w tym konkretnym przykladzie jest wazna ?
widze ze przy stosowaniu przecinkow jest ale samo uzywanie znakow or wprowadza zamet jedno lub drugi a nie cala lista a do tego kolejnosc
ps.
nie zadalem pytania o materialy do nauki tylko o konkretny przyklad uzycia wiec po co link w3schools wiec mialem nadzieje na prosta odpowiedz wiec po co teksty o odgryzaniu reki

czy tak trudno napisac czy kolejność w tym konkretnym przykladzie jest wazna ?
widze ze przy stosowaniu przecinkow jest ale samo uzywanie znakow or wprowadza zamet jedno lub drugi a nie cala lista a do tego kolejnosc
ps.
nie zadalem pytania o materialy do nauki tylko o konkretny przyklad uzycia wiec po co link w3schools wiec mialem nadzieje na prosta odpowiedz wiec po co teksty o odgryzaniu reki

witam ponownie
zeby juz zakonczyc temat
jak zwykle najlepiej wszystko sprawdzic praktycznie, tak tez zrobilem i co xml to beznadzieja.
zgodnie z przytoczonymi przykladami kolegi wookieb ze w dtd uzywajac przecinkow kolejnosc ma znaczenie to nie prawda sprawdzilem w zadnym przypadku nie ma to znaczenia czy bedzie to wybor czy przecinki.
beznadzieja dlatego ze jesli jest skladnia to powinno sie jej trzymac a tu jak chcesz dobra mniejsza z tym
testy na prostych przykladach w ie 9 i chrom:
pies.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE pies SYSTEM "pies.dtd">
<pies>
<wiek>Azor</wiek>
<imię>Jamnik</imię>
<kolor>brązowy</kolor>
<rasa>
<lata>4</lata>
<miesiące>3</miesiące>
</rasa>
</pies>
pies.dtd
<!DOCTYPE pies [
<!ELEMENT pies (rasa, imię, kolor, wiek)>
<!ELEMENT imię (#PCDATA)>
<!ELEMENT rasa (#PCDATA)>
<!ELEMENT wiek (#PCDATA)>
<!ELEMENT kolor (#PCDATA)> ]>
pozdrawiam i dzieki za zainteresowanie
wookieb
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE pies [
  3. <!ELEMENT pies (rasa, imię, kolor, wiek)>
  4. <!ELEMENT imię (#PCDATA)>
  5. <!ELEMENT rasa (#PCDATA)>
  6. <!ELEMENT wiek (#PCDATA)>
  7. <!ELEMENT kolor (#PCDATA)> ]>
  8. <pies>
  9. <wiek>Azor</wiek>
  10. <imię>Jamnik</imię>
  11. <kolor>brązowy</kolor>
  12. <rasa>
  13. <lata>4</lata>
  14. <miesiące>3</miesiące>
  15. </rasa>
  16. </pies>


Kod
XML validation started.
Checking file:/I:/test.xml...
Element type "lata" must be declared. [13]
Element type "miesiące" must be declared. [14]
The content of element type "rasa" must match "null". [15]
The content of element type "pies" must match "(rasa,imię,kolor,wiek)". [16]
XML validation finished.

Ale skoro się upierasz...
P.s. chyba nie muszę przypominać, że używanie polskich liter w nazwach tagów jest nierozsądne? Ale co ja tam wiem...
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-2024 Invision Power Services, Inc.