Toto řešení je silně zjednodušené, pro implementaci v praxi by vyžadovalo zahrnout do modelů mnohem větší počet prvků.

Zadání 3 - Katalog produktů

Katalog produktů tvoří údaje o produktech uspořádaných do kategorií a o producentovi těchto produktů, který katalog publikuje. Každý katalog obsahuje jeden název a jednu sadu údajů o producentovi, které tvoří jméno a kontaktní údaje. Katalog musí obsahovat alespoň jednu kategorii, počet kategorií není omezen (každá kategorie se může dále členit na podkategorie). V každé kategorii musí být alespoň jeden produkt, počet produktů v kategorii není omezen. Produkt se zařazuje vždy jen do jedné kategorie nebo podkategorie. Údaje o  produktu se uvádějí vždy v tomto pořadí: 1. kód, 2. název produktu, 3. foto, 4. parametr, 5. cena. Každý produkt charakterizuje alespoň jeden parametr, počet parametrů není omezen.

Model stromové struktury

katalog-SGML

DTD - varianta s elementy DTD - varianta s atributy
<! DOCTYPE katalog produktů [
<! ELEMENT katalog produktů (název katalogu, producent, kategorie produktů+)>
<! ELEMENT název katalogu (#PCDATA)>

<! ELEMENT producent (jméno, kontakt)>
<! ELEMENT jméno (#PCDATA)>
<! ELEMENT kontakt (#PCDATA)>
<! ELEMENT kategorie produktů (#PCDATA|kategorie produktů*|produkt+)>
<! ELEMENT produkt (kód, název produktu, foto, parametr+, cena)>
<! ELEMENT kód (#CDATA)>
<! ELEMENT název produktu (#PCDATA)>
<! ELEMENT foto EMPTY>
<! ELEMENT cena (#CDATA)>
<! ELEMENT parametr (název parametru, hodnota parametru)>
<! ELEMENT název parametru (#PCDATA)>
<! ELEMENT hodnota parametru (#PCDATA)>

] >
 
<! DOCTYPE katalog produktů [
<! ELEMENT katalog produktů (producent, kategorie produktů+)>
<! ELEMENT producent (#PCDATA)>
<! ELEMENT kategorie produktů (#PCDATA|kategorie produktů*|produkt+)>
<! ELEMENT produkt (parametr+)>
<! ELEMENT parametr (#PCDATA)>
<! ATTLIST katalog produktů
   název katalogu #PCDATA>
<! ATTLIST producent
   jméno #PCDATA>
   kontakt #PCDATA>
<! ATTLIST produkt
   kód #CDATA
   název produktu #PCDATA
   foto EMPTY
   cena #CDATA>
<! ATTLIST parametr
   název parametru #PCDATA
   hodnota parametru #PCDATA>
] >



UML diagram tříd

katalog-UML

Modifié le: mardi 7 mai 2024, 21:29