Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE book SYSTEM "schemat.dtd">
- <!DOCTYPE book [
- <!ELEMENT book ((author|editor)+,title,publisher,chapter+)>
- <!ELEMENT author (#PCDATA)>
- <!ELEMENT editor (#PCDATA)>
- <!ELEMENT title (#PCDATA)>
- <!ELEMENT publisher (#PCDATA)>
- <!ELEMENT chapter (title,((chapter,chapter+)|content))>
- <!ATTLIST author id ID #REQUIRED>
- <!ATTLIST book lang (eng|ger|rus|pol|fr|it) #REQUIRED>
- <!ATTLIST book logo NOTATION JPG #IMPLIED>
- <!ENTITY offer SYSTEM "offer.xml">
- <!ENTITY img SYSTEM "logo.jpg ">
- <!NOTATION JPG SYSTEM "image/jpeg">
- ]>
- <!-- trochę komentarza, polecam przeczytać zadanie pierwsze najpierw
- 1: nieco bardziej rozbudowany nagłówek XML, o kodowanie znaków
- 2: to jest jedyna linia jaka powinna być w tym dokumencie dot. DTD, ponieważ podobie jak w przypadku CSS w HTML tutaj DTD do XML powinno zostać pobrane z zewnętrznego pliku. wszystko co jest 5..23 powinno się znaleźć w "schemat.dtd"
- 7: deklarujemy znacznik <book>,a w nim: jeden lub więcej znaczników author lub editor "(author|editor)+", oraz: title, publisher, jeden bądź więcej chapter (chapter+)
- 8-11: poszczególnie znaczniki (<author>,<editor>,<title>,<publisher>) mogą przechowywać dane typu #PCDATA
- 12: znacznik <chapter> ma dzieci: title, 2x chapter bądź więcej i jeden content
- 14: atrybut id ze znacznika <author> jest typu ID (typ danych identyfikator, analogicznie jak #PCDATA), który jest wymagany
- 15: atrybut lang ze znacznika <lang> może przybierać narzucone przez nas argumenty (eng|ger|rus|pol|fr|it) i JEST wymagany
- 19: deklarujemy encję "!ENTITY", to tak jakby taka "zmienna lokalna", która pod swoją nazwą "offer" przechowuje ciąg znaków "offer.xml"
- 20: dokładnie jak wyżej
- 21: !NOTATION służy do określania pewnych obiektów MIME dostępnych w systemie. w tym wypadku pod nazwą "JPG" będzie przechowywany typ analogiczny jak dla zwykłego obrazu jpg. dzięki temu w wierszu 16. możemy do argumentu logo w znaczniku <book> przypisać (nieobowiązkowo bo #IMPLIED) obiekt zdjęcia - okładkę książki.
- -->
- <book lang="" logo="">
- <author id=""></author>
- <editor></editor>
- <title></title>
- <publisher></publisher>
- <chapter>
- <title></title>
- <chapter></chapter>
- <!--albo-->
- <title></title>
- <content></content>
- </chapter>
- </book>
Advertisement
Add Comment
Please, Sign In to add comment