Sklep sprzedaje płyty DVD. Każda płyta ma swój tytuł i cenę. Płyty, które aktualnie są na wyprzedaży (i tylko takie) mają przypisany rabat w pewnej wysokości. Opis płyty przecenionej powinien wygladać tak:
<dvd> <title>Alternatywy 4</title> <price>10</price> <discount>5</discount> </dvd>
Opis płyty nieprzecenionej powinien wygladać tak:
<dvd> <title>Zmiennicy</title> <price>10</price> </dvd>
Zaproponuj odpowiednią regułę DTD opisującą zawartość elementu dvd, tak aby móc ją wykorzystać do walidowania plików o następującym formacie. Postaraj się wymusić jak największą zgodność ze wzorem. W razie problemów zaproponuj ew. modyfikacje formatu.
<shop> <ordinary> <!-- wyłącznie płyty nieprzecenione --> <dvd> <title>Zmiennicy</title> <price>10</price> </dvd> <!-- itd --> </ordinary> <onsale> <!-- wyłącznie płyty przecenione --> <dvd> <title>Alternatywy 4</title> <price>10</price> <discount>5</discount> </dvd> <!-- itd --> </onsale> </shop>
<?xml version="1.0" ?> <!DOCTYPE shop [ <!ELEMENT ordinary (dvd-ord)> <!ELEMENT onsale (dvd-sale)> <!ELEMENT dvd-ord (title, price)> <!ELEMENT dvd-sale (title, price, discount)> <!ELEMENT title (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ELEMENT discount (#PCDATA)> ]> <shop> <ordinary> <dvd-org> <title>Zmiennicy</title> <price>10</price> </dvd-org> </ordinary> <onsale> <dvd-sale> <title>Alternatywy 4</title> <price>10</price> <discount>5</discount> </dvd-sale> </onsale> </shop>