Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 2x main tag
wassago
post 4.11.2003, 20:20:13
Post #1





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


sprawa wyglada tak mamy 2 main tagi:
[xml:1:abbc23d2ce]
<x>
<x1></x1>
<x1></x1>
</x>
<y>
<y1></y1>
<y1></y1>
</y>
[/xml:1:abbc23d2ce]
jak okreslic DTD w takim przypadku?


--------------------
Go to the top of the page
+Quote Post
adwol
post 5.11.2003, 23:05:32
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
sprawa wyglada tak mamy 2 main tagi:
[xml:1:17aa7e432c]
<x>
<x1></x1>
<x1></x1>
</x>
<y>
<y1></y1>
<y1></y1>
</y>
[/xml:1:17aa7e432c]
jak okreslic DTD w takim przypadku?

[xml:1:17aa7e432c]<!ELEMENT x (x1+)>
<!ELEMENT y (y1+)>
<!ELEMENT x1 (#PCDATA)>
<!ELEMENT y1 (#PCDATA)>[/xml:1:17aa7e432c]
lub
[xml:1:17aa7e432c]<!ELEMENT x (x1, x1)>
<!ELEMENT y (y1, y1)>
<!ELEMENT x1 (#PCDATA)>
<!ELEMENT y1 (#PCDATA)>[/xml:1:17aa7e432c]
Pierwsza definicja określa że w elementach <x> i <y> muszą wystąpić conajmniej jeden raz elementy odpowiednio <x1> i <y1>. Druga natomiast wymusza wyłącznie dwukrotne wystąpienie elementów <x1> i <y1> wewnątrz elementów <x> i <y>
Go to the top of the page
+Quote Post
Dominik
post 7.11.2003, 13:03:11
Post #3





Grupa: Zarejestrowani
Postów: 339
Pomógł: 0
Dołączył: 17.06.2003
Skąd: Białystok

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


Zaraz zaraz pierwsza i najwazniejsza zasada XML-a mowi, ze moze byc tylko jeden glowny znacznik. I teraz tak:
Po pierwsze dokument jest niepoprawny (w hierarhii pod wzgledem niepoprawnosci zajmuje pierwsze miejsce) wiec nie jest XML-em dlatego nie moze miec DTD
Po drugie po co Ci DTD skoro nie da sie wstawic takiego DOCTYPE smile.gif Przypominam ze doctype zawiera root element (a na mocy tego co napisalem wyzej moze on byc tylko jeden).
Podsumowujac to kod ktory napisales jest zly. Poprawnie jest tak:
[xml:1:12cffaf812]
<z>
<x>
<x1></x1>
<x1></x1>
</x>
<y>
<y1></y1>
<y1></y1>
</y>
</z>
[/xml:1:12cffaf812]
Tutaj znacznik z jest glownym znacznikiem. Dopiero teraz trzeba dopisac do tego DTD. A wtedy DTD wygladalo by tak:
[xml:1:12cffaf812]<!ELEMENT y1 (#PCDATA)>
<!ELEMENT y (y1)*>
<!ELEMENT x1 (#PCDATA)>
<!ELEMENT x (x1)*>
<!ELEMENT z (y|x)*>[/xml:1:12cffaf812]

A teraz na marginesie nie wystarczy well-fortamed?


--------------------
Go to the top of the page
+Quote Post
wassago
post 12.11.2003, 10:40:38
Post #4





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


@Dominik: no i wlasnie o taka odpowiedz mi chodzilo - wiem ze nie moga byc dwa glowne znaczniki. dlatego nie mozna ustawic DTD :wink: aaevil.gif


--------------------
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: 28.04.2024 - 14:27