Cvičenie 2 (DTD + attributes + entities)

%------------------------------------------------------------------------------------------------------------------------------------------%
Úloha č.1: Vytvorte si DTD dokument pre XML subor programming.xml

Požiadavky na DTD:

koreňový element programming_languages obsahuje element: group raz alebo nekonečne veľa krát
   element group obsahuje alebo element language_C alebo language_Cpp
   element group obsahuje attribút type s hodnotou typu výber
      hodnota atribútu môže nadobúdať nasledovné hodnoty procedural, object-oriented
      prednastavená hodnota je procedural
     
element language_C aj element language_Cpp obsahuje sekvenciu elementov: libraries, commands, number_formats, data_types
         výskyt jednotlivých elementov môže byť nasledovný:
            libraries - 0 alebo 1-krát
            commands - raz alebo nekonečne veľa krát
            number_formats, data_types - 0, 1 alebo nekonečne veľa krát
         element libraries obsahuje element:lib raz alebo nekonečne veľa krát
         element commands obsahuje element:comd raz alebo nekonečne veľa krát
            obsah elementov lib a comd je reťazec
   element number_formats obsahuje sekvenciu elementov: NF1, NF2, NF3
      element NF1 obsahuje povinný atribút fm1 s fixnou hodnotou dec
      element NF2 obsahuje povinný atribút fm2 s fixnou hodnotou bin
      element NF3 obsahuje povinný atribút fm3 s fixnou hodnotou hex
         obsah elementov NF1, NF2, NF3 je reťazec
   element data_types obsahuje sekvenciu elementov: DT1, DT2, DT3, DT4, DT5
      element DT1 obsahuje povinný atribút dt1 s fixnou hodnotou void
      element DT2 obsahuje povinný atribút dt2 s fixnou hodnotou char
      element DT3 obsahuje povinný atribút dt3 s fixnou hodnotou double

      element DT4 obsahuje povinný atribút dt4 s fixnou hodnotou int
      element DT5 obsahuje povinný atribút dt5 s fixnou hodnotou float

         obsah elementov DT1, DT2, DT3, DT4, DT5 je reťazec

Úloha č.2: Zvalidujte XML súbor voči DTD dokumentu na jednej z nasledujúcich stránok:
              http://www.xmlvalidation.com/


Úloha č.3: Upravte si dtd súbor nasledovne:
                Zadefinujte si parametrickú entitu: sequence, ktorej obsahom bude obsah elementov language_C a language_Cpp
                Validitu novovytvoreného DTD dokumentu si opäť overte na nasledujúcej stránke http://www.xmlvalidation.com/

Bonusová úloha : Vytvorte si 2 XML súbory k príslušnému DTD dokumentu article.dtd

Poznámka: Vytvorené súbory sa musia líšiť minimálne v piatich prípadoch, pričom za rozdiely sa nerátajú dalšie výskyty elementov v dôsledku špecifikátorov: *,+ napr: keď xml súbor obsahuje element page a v DTD dokumente je jeho vyskýt špecifikovaný regulárnym výrazom + alebo *, tak pridanie daľšieho elementu page s iným obsahom sa nepovažuje za rozdiel.