Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 2x main tag
wassago
post
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
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
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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: (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif)
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: 22.08.2025 - 16:46