Witam. Próbuje napisać książkę telefoniczną w xml, ale wpierw potrzebny mi dokument dtd, ale niestety nie potrafię go napisać. ciąglę coś jest źle.
Chciałem aby to wyglądało tak
ale co dalej i czy to dobrze nie wiem... prosze o pomoc.
Przygotowanie DTD dla takiego schematu powinno już być bardzo, bardzo łatwe (same standardowe struktury). Możliwe też będzie wygodne skorzystanie z narzędzi mapujących XML na obiekty.
<wpisy> <wpis id="123" kategoria="A"><!-- "kategoria" (zła nazwa; do poprawy) do szybkiego segregowania wpisów --> <nazwisko>Andrych</nazwisko> <kontakty> <kontakt> <imie>Anna</imie> <telefon>123 321 123</telefon> <adres>Adres #1</adres> </kontakt> <kontakt> <imie>Paweł</imie> <telefon>123 321 123</telefon> <adres>Adres #2</adres> </kontakt> </kontakty> </wpis> </wpisy>
<!ELEMENT książka telefoniczna (wpisy, nazwisko?, kontakt?)> <!ATTLIST książka telefoniczna lang CDATA #REQUIRED > <!ELEMENT wpisy (#PCDATA|wpis)*> <!ELEMENT nazwisko(#PCDATA)> <!ELEMENT kontakty (#PCDATA|kontakt)*> <!ELEMENT kontakt (#PCDATA|imie|telefon|adres)*> <!ATTLIS ksiazka id ID #REQUIRED litera CDATA #REQUIRED nazwisko IDREFS #IMPLIED kontakty IDREFS #IMPLIED <!ENTITY nbsp " ">
<!ELEMENT książka telefoniczna (wpisy)*> <!ATTLIST książka telefoniczna lang CDATA #REQUIRED > <!ELEMENT wpisy (wpis)+> <!ELEMENT wpis (nazwisko|kontakty)+> <!ELEMENT nazwisko (#PCDATA)> <!ELEMENT kontakty (kontakt)+> <!ELEMENT kontakt (#PCDATA|imie|telefon|adres)*> <!ATTLIS ksiazka id ID #REQUIRED litera CDATA #REQUIRED nazwisko IDREFS #IMPLIED kontakty IDREFS #IMPLIED
<!ELEMENT ksiazka (wpisy)?> <!ATTLIST ksiazka lang CDATA #REQUIRED > <!ELEMENT wpisy (wpis)+> <!ELEMENT wpis (miasto)+> <!ELEMENT miasto (kontakty|br)+> <!ELEMENT kontakty (kontakt)+> <!ELEMENT kontakt (nazwisko|imie|telefon|ulica)*> <!ATTLIS ksiazka id ID #REQUIRED litera CDATA #REQUIRED miasto IDREFS #IMPLIED kontakty IDREFS #IMPLIED> <!ELEMENT nazwisko (#PCDATA)*> <!ELEMENT imie (#PCDATA)*> <!ELEMENT telefon (#PCDATA)*> <!ELEMENT ulica (#PCDATA)*> <!ELEMENT br EMPTY > <!ENTITY nbsp " " > <!ENTITY mdash "—" > <!ENTITY ndash "–" > <!ENTITY copy "" > <!ENTITY dots "…" > <!ENTITY bdquo "„" > <!ENTITY rdquo "”" > <!ENTITY raquo "ť" > <!ENTITY laquo "Ť" >