Problémy se syntaxí XML a propojení s .dtd souborem – XML / XSL(T) – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problémy se syntaxí XML a propojení s .dtd souborem – XML / XSL(T) – Fórum – Programujte.comProblémy se syntaxí XML a propojení s .dtd souborem – XML / XSL(T) – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Taelo0
Duch
30. 5. 2013   #1
-
0
-

Ahoj,

   jsem nováčkem v oblasti XML a chtěl bych požádat o pomoc. Dostal jsem úkolem vytvořit XML soubor s připojením .dtd nebo XMLSchema a následně naformátovat pomocí XSLT - HTML výstup. Kód v XML souboru a .dtd mám vytvořený, ale překladač mi stále hlásí nějaké chyby. Většinou jsou to hlášení neznámého elementu či nedeklarovaných atributu pro daný element. Vliv na to bude mít určitě to, že mi nejde připojit soubor .dtd k souboru .xml za použití:

<!DOCTYPE nazev_souboru "nazev_souboru.dtd"  "nazev_souboru.dtd>

u obou souborech je název shodný. Chybu mi překladač hlásí, že je očekáváno systémové nebo veřejné id. Zkuste mě prosím navést, když tak dotazem, je mi jasný, že jsem toho moc nenapsal. Budu vděčný za každou pomoct...Děkuju.   

Nahlásit jako SPAM
IP: 217.117.209.–
Reklama
Reklama
liborb
~ Redaktor
+18
Guru
31. 5. 2013   #2
-
0
-

 Nejběžněji se používá tento zápis:

<!DOCTYPE jmenoKorenovehoTagu SYSTEM "naze_souboru.dtd resp. jeho URI">

Stačí hledat u zdroje.

Nahlásit jako SPAM
IP: 188.75.135.–
Taelo0
Duch
31. 5. 2013   #3
-
0
-

XML už mi nehlásí chybu, ale v dtd mám špatnou syntaxi, což jde vidět hned na začátku kódu u prvního elementu. Téma není nic moc, ale kde není múza ani konkrétní zadaný téma...;). Děkuju za shlédnutí.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE Vystava_tanku SYSTEM "Vystava_tanku.dtd">

<Vystava_tanku>
<!-- První tank -->
<nazev>T 71</nazev>
<id_tanku>1</id_tanku>
<kategorie>lehký tank</kategorie>
<hmotnost jednotky="kg">18.000</hmotnost>
<datum_vyroby datum = "dd.mm.yy"> 01.01.50 </datum_vyroby>
<zeme>Amerika</zeme>
<predek>T21</predek>
<potomek>T69</potomek>
<posadka>
    <clen_1>velitel</clen_1>
    <clen2>nabíječ</clen2>
    <clen3>řidič</clen3>
</posadka>
<zasobnik>ANO</zasobnik>
<parametry>
    <delo_1>76 mm dělo T185</delo_1>
    <delo_2>76 mm M1A2</delo_2>
    <motor_1>Continental AOI-628-1</motor_1>
    <motor_2>Continental AOI-628-2</motor_2>
    <radio_1>AN/GRC-3</radio_1>
    <radio_2>AN/GRC-7</radio_2>
</parametry>
<popis_kratky>Experimentální lehký tank se speciálním tvarováním turetu</popis_kratky>
<popis>Nějaký popis</popis>

<!-- Druhý tank -->
<nazev>T110E5</nazev>
<id_tanku>2</id_tanku>
<kategorie>težký tank</kategorie>
<hmotnost jednotky="kg">60.000</hmotnost>
<datum_vyroby datum="dd.mm.yy">01.01.55</datum_vyroby>
<zeme>Amerika</zeme>
<predek>m103</predek>
<posadka>
    <clen_1>velitel</clen_1>
    <clen2>nabíječ</clen2>
    <clen3>řidič</clen3>
    <clen_4>střelec</clen_4>
</posadka>
<zasobnik>NE</zasobnik>
<parametry>
    <delo_1>120 mm Gun M58</delo_1>
    <motor_1>AOI-1490</motor_1>
    <radio_1>AN/GRC-3</radio_1>
    <radio_2>AN/VRC-3</radio_2>
    <turet>t53</turet>
    <podvozek>T110E27</podvozek>
</parametry>
<popis_kratky>Těžký tank vyvynutý v 50. letech minulého století.</popis_kratky>
<popis>Nějaký popis</popis>

<!-- Třetí tank -->
<nazev>E75</nazev>
<id_tanku>3</id_tanku>
<kategorie>težký tank</kategorie>
<hmotnost jednotky="kg">75.000</hmotnost>
<datum_vyroby datum="dd.mm.yy">01.01.45</datum_vyroby>
<zeme>Německo</zeme>
<predek>Tiger 2</predek>
<potomek>E100</potomek>
<posadka>
    <clen_1>velitel</clen_1>
    <clen2>nabíječ</clen2>
    <clen3>řidič</clen3>
    <clen_4>střelec</clen_4>
    <clen_5>radista</clen_5>
</posadka>
<zasobnik>NE</zasobnik>
<parametry>
    <delo_1>8,8 cm KwK 43 L/71</delo_1>
    <delo_2>10,5 cm KwK 45 L/52</delo_2>
    <delo_3>10,5 cm KwK 46 L/68</delo_3>
    <delo_4>12,8 cm KwK 44 L/55</delo_4>
    <motor_1>Maybach HL 210 P 30</motor_1>
    <motor_2>Maybach HL 230 P 45</motor_2>
    <motor_3>Maybach HL 234</motor_3>
    <motor_4>Maybach HL 295 Ausf. A</motor_4>
    <radio_1>FuG 7</radio_1>
    <radio_2>FuG 12</radio_2>
    <turet>E-75-Turm Ausf. F</turet>
    <podvozek>MAN-Ketten Ausf. A</podvozek>
    <podvozek>MAN-Ketten Ausf. B</podvozek>
</parametry>
<popis_kratky>Roku 1945 nahradil těžký tank Tiger 2 a stal se součástí Panzerwaffe.</popis_kratky>
<popis>Nějaký popis</popis>

</Vystava_tanku>

  

<!DOCTYPE Vystava_tanku 
[
<!ELEMENT Vystava_tanku (nazev, id_tanku, kategorie, hmotnost, datum_vyroby, zeme, predek, potomek, posadka, zasobnik, parametry)>
<!ELEMENT nazev (#PCDATA)>
<!ELEMENT id_tanku (#PCDATA)>
<!ELEMENT kategorie (#PCDATA)>
<!ELEMENT hmotnost (#PCDATA)>
<!ELEMENT datum_vyroby (#PCDATA)>
<!ELEMENT zeme (#PCDATA)>
<!ELEMENT predek (#PCDATA)>
<!ELEMENT potomek (#PCDATA)>
<!ELEMENT posadka (clen_1, clen_2, clen_3, clen_4, clen_5)>
    <!ELEMENT clen_1 (#PCDATA)>
    <!ELEMENT clen_2 (#PCDATA)>
    <!ELEMENT clen_3 (#PCDATA)>
    <!ELEMENT clen_4 (#PCDATA)>
    <!ELEMENT clen_5 (#PCDATA)>
<!ELEMENT zasobnik (#PCDATA)>
<!ELEMENT parametry (delo_1, delo_2, delo_3, delo_4, motor_1, motor_2, motor_3, motor_4, radio_1, radio_2, turet, podvozek_1, podvozek_2)>
    <!ELEMENT delo_1 (#PCDATA)>
    <!ELEMENT delo_2 (#PCDATA)>
    <!ELEMENT delo_3 (#PCDATA)>
    <!ELEMENT delo_4 (#PCDATA)>
    <!ELEMENT motor_1 (#PCDATA)>
    <!ELEMENT motor_2 (#PCDATA)>
    <!ELEMENT motor_3 (#PCDATA)>
    <!ELEMENT motor_4 (#PCDATA)>
    <!ELEMENT radio_1 (#PCDATA)>
    <!ELEMENT radio_2 (#PCDATA)>
    <!ELEMENT turet (#PCDATA)>
    <!ELEMENT podvozek_1 (#PCDATA)>
    <!ELEMENT podvozek_2 (#PCDATA)>
<!ELEMENT popis_kratky (#PCDATA)>
<!ELEMENT popis (#PCDATA)>
    
    
	<!ATTLIST id_tanku id CDATA #REQUIRED>
	<!ATTLIST datum_vyroby datum CDATA #REQUIRED>
	<!ATTLIST vaha jednotky CDATA #REQUIRED>
	<!ATTLIST id_tanku cislo CDATA #REQUIRED>
	<!ATTLIST nazev text CDATA #REQUIRED>
]>

Nahlásit jako SPAM
IP: 85.70.229.–
liborb
~ Redaktor
+18
Guru
31. 5. 2013   #4
-
0
-

Jenom jsem to tak zběžně proběhl, ale mám vidím tam jeden problém. XML jsou strukturovaná data a ta struktura by se měl dodržet. Řekněme tedy, že vystavuješ tanky, takže máš tento seznam. Kořenový tag tedy necháme VystavaTanku.

Ale pak dál ... co vystavuješ? No přece tanky, takže VystavaTanku by měla obsahovat jednotlivé vystavené tanky. Takže DTD bude obsahovat něco takového: 

<!ELEMENT VystavaTanku(Tank+)>

Tím se říká, že VystavaTanku obsahu jeden nebo více tagu Tank (výstava bez jediného tanku by byla hodně smutná, takže proto jeden a více).

Takže pak XML bude vypadat:

<VystavaTanku>
	<Tank>
	</Tank>
	<Tank>
	</Tank>
	<Tank>
	</Tank>
	<Tank>
	</Tank>
	...
<VystavaTanku>

A takhle dále strukturuješ data. Je to o tom rozdělení, výstava tanků obsahuje tanky. Tank má popis, posádku, parametry. Popis je ..., posádka se skládá .... parametry jsou .... atd.

No a ještě jedna poznámka. Není potřeba používat tagy na všechno, ale je dobré používat i atributy, takže u toho tanku by to mohlo potom vypadat takto:

<VystavaTanku>
	<Tank nazev="T 71" id="1">
	</Tank>
	<Tank nazev="T110E5" id="2">
	</Tank>
	<Tank nazev="E75" id="3">
	</Tank>
</VystavTanku>

Těch možností je samozřejmě spousta, hlavní je aby to logicky sedělo.

Nahlásit jako SPAM
IP: 188.75.135.–
Taelo0
Duch
1. 6. 2013   #5
-
0
-

Tak jsem kódy přepracoval, snad je to už logičtější s více atributy. U DTD mi to nyní píše:

1. Chybná struktura dokumentu

2. Hlavní dokument XML nesmí být prázdný.

U XML:

1. Očekáván komentář nebo CDATA.

2. Očekáváno ukončení tagu xsl:stylesheet, což mě trápit nejspíš nemusí, protože soubor XSL budu muset vytvořit vlastní. To co jsem použil, je stažený z internetu a skrylo mi to poměrně hodně chybových hlášení. Ale předpokládám, že logický sled by měl být zaprvé vytvoření bezchybného XML a DTD a následně XSL. Třeba je to ale také hloupost. U DTD jsem přiřadil, tak jako k tanku, znaménko + k: parametrum, posadce atd. a odměněn jsem byl akorát spoustou chyb. Myslel jsem, že tyto elementy celkem používám v kódu třikrát, tak by u nich + mělo být. Ohlášený chyby jsem se na internetu snažil najít, ale vesměs mi to moc nepomohlo. Opět děkuji za shlédnutí a komentář. 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
<xsl:output method="xml" omit-xml-declaration="yes"/>

<!DOCTYPE Vystava_tanku SYSTEM "Vystava_tanku.dtd">
<Vystava_tanku>
<nazev nazev="ExpositionOfTanks"></nazev>
<stat stat="Francie"></stat>
<mesto mesto="Paříž"></mesto>
<ulice ulice="Avenue des Champs-Élysées"></ulice>
<misto misto="Pl. de la Concorde"></misto>
<listek cena="120" mena="EUR"></listek>
<datum_vystavy datum = "dd.mm.yy"> 12.6.13 </datum_vystavy>
<rocnik id="11"></rocnik>
<datum_zalozeni datum = "dd.mm.yy"> 31.3.85 </datum_zalozeni>

<!-- První tank -->
<tank nazev="T 71" id="1">
<parametry>
	<kategorie>lehký tank</kategorie>
	<hmotnost jednotky="kg">18.000</hmotnost>
	<datum_vyroby datum = "dd.mm.yy"> 01.01.50 </datum_vyroby>
	<zeme>Amerika</zeme>
</parametry>
<predek>T21</predek>
<potomek>T69</potomek>
<posadka>
    <clen funkce="velitel"></clen>
    <clen funkce="nabíječ"></clen>
    <clen funkce="řidič"></clen>
</posadka>
<zasobnik>ANO</zasobnik>
<vybaveni>
    <delo nazev="76 mm dělo T185"></delo>
    <delo nazev="76 mm M1A2"></delo>
    <motor nazev="Continental AOI-628-1"></motor>
    <motor nazev="Continental AOI-628-2"></motor>
    <radio nazev="AN/GRC-3"></radio>
    <radio nazev="AN/GRC-7"></radio>
</vybaveni>
<popis_kratky>Experimentální lehký tank se speciálním tvarováním turetu</popis_kratky>
<popis>Nějaký popis</popis>
</tank>

<!-- Druhý tank -->
<tank nazev="T110E5" id="2">
<parametry>
	<kategorie>težký tank</kategorie>
	<hmotnost jednotky="kg">60.000</hmotnost>
	<datum_vyroby datum="dd.mm.yy">01.01.55</datum_vyroby>
	<zeme>Amerika</zeme>
</parametry>
<predek>m103</predek>
<posadka>
    <clen funkce="velitel"></clen>
    <clen funkce="nabíječ"></clen>
    <clen funkce="řidič"></clen>
    <clen funkce="střelec"></clen>
</posadka>
<zasobnik>NE</zasobnik>
<vybaveni>
    <delo nazev="120 mm Gun M58"></delo>
    <motor nazev="AOI-1490"></motor>
    <radio nazev="AN/GRC-3"></radio>
    <radio nazev="AN/VRC-3"></radio>
    <turet nazev="t53"></turet>
    <podvozek nazev="T110E27"></podvozek>
</vybaveni>
<popis_kratky>Těžký tank vyvynutý v 50. letech minulého století.</popis_kratky>
<popis>Nějaký popis</popis>
</tank>

<!-- Třetí tank -->
<tank nazev="E 75" id="3">
<parametry>
	<kategorie>težký tank</kategorie>
	<hmotnost jednotky="kg">75.000</hmotnost>
	<datum_vyroby datum="dd.mm.yy">01.01.45</datum_vyroby>
	<zeme>Německo</zeme>
</parametry>
<predek>Tiger 2</predek>
<potomek>E100</potomek>
<posadka>
    <clen funkce="velitel"></clen>
    <clen funkce="nabíječ"></clen>
    <clen funkce="řidič"></clen>
    <clen funkce="střelec"></clen>
    <clen funkce="radista"></clen>
</posadka>
<zasobnik>NE</zasobnik>
<vybaveni>
    <delo nazev="8,8 cm KwK 43 L/71"></delo>
    <delo nazev="10,5 cm KwK 45 L/52"></delo>
    <delo nazev="10,5 cm KwK 46 L/68"></delo>
    <delo nazev="12,8 cm KwK 44 L/55"></delo>
    <motor nazev="Maybach HL 210 P 30"></motor>
    <motor nazev="Maybach HL 230 P 45"></motor>
    <motor nazev="Maybach HL 234"></motor>
    <motor nazev="Maybach HL 295 Ausf. A"></motor>
    <radio nazev="FuG 7"></radio>
    <radio nazev=">FuG 12"></radio>
    <turet nazev="E-75-Turm Ausf. F"></turet>
    <podvozek nazev="MAN-Ketten Ausf. A"></podvozek>
    <podvozek nazev="MAN-Ketten Ausf. B"></podvozek>
</vybaveni>
<popis_kratky>Roku 1945 nahradil těžký tank Tiger 2 a stal se součástí Panzerwaffe.</popis_kratky>
<popis>Nějaký popis</popis>
</tank>
</Vystava_tanku>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Vystava_tanku 
[
<!ELEMENT Vystava_tanku (nazev, zeme, mesto, datum_vystavy, rocnik, datum_zalozeni, ulice, misto, tank+, parametry, predek, potomek, posadka, zasobnik, vybaveni,popis_kratky, popis)>
<!ELEMENT nazev (#PCDATA)>
<!ELEMENT stat (#PCDATA)>
<!ELEMENT mesto (#PCDATA)>
<!ELEMENT ulice (#PCDATA)>
<!ELEMENT misto (#PCDATA)>
<!ELEMENT listek (#PCDATA)>
<!ELEMENT datum_vystavy (#PCDATA)>
<!ELEMENT rocnik (#PCDATA)>
<!ELEMENT datum_zalozeni (#PCDATA)>
<!ELEMENT tank (#PCDATA)>
<!ELEMENT parametry (kategorie, hmotnost, datum_vyroby, zeme)>
	<!ELEMENT kategorie (#PCDATA)>
	<!ELEMENT hmotnost (#PCDATA)>
	<!ELEMENT datum_vyroby (#PCDATA)>
	<!ELEMENT zeme (#PCDATA)>
<!ELEMENT predek (#PCDATA)>
<!ELEMENT potomek (#PCDATA)>
<!ELEMENT posadka (clen+)>
    <!ELEMENT clen (#PCDATA)>
<!ELEMENT zasobnik (#PCDATA)>
<!ELEMENT vybaveni (delo+, motor+, radio+, turet, podvozek+)>
    <!ELEMENT delo (#PCDATA)>
    <!ELEMENT motor (#PCDATA)>
    <!ELEMENT radio (#PCDATA)>
    <!ELEMENT turet (#PCDATA)>
    <!ELEMENT podvozek (#PCDATA)>
<!ELEMENT popis_kratky (#PCDATA)>
<!ELEMENT popis (#PCDATA)>

<!ATTLIST nazev nazev CDATA #REQUIRED>
<!ATTLIST stat stat CDATA #REQUIRED>
<!ATTLIST mesto mesto CDATA #REQUIRED>
<!ATTLIST ulice ulice CDATA #REQUIRED>
<!ATTLIST misto misto CDATA #REQUIRED>
<!ATTLIST datum_vystavy datum CDATA #REQUIRED>
<!ATTLIST listek cena CDATA #REQUIRED>
<!ATTLIST datum_zalozeni datum CDATA #REQUIRED>
<!ATTLIST rocnik id CDATA #REQUIRED>
<!ATTLIST tank nazev CDATA #REQUIRED>
<!ATTLIST hmotnost jednotky CDATA #REQUIRED>
<!ATTLIST delo nazev CDATA #REQUIRED>
<!ATTLIST motor nazev CDATA #REQUIRED>
<!ATTLIST radio nazev CDATA #REQUIRED>
<!ATTLIST turet nazev CDATA #REQUIRED>
<!ATTLIST podvozek nazev CDATA #REQUIRED>
<!ATTLIST clen funkce CDATA #REQUIRED>
]>
Nahlásit jako SPAM
IP: 217.117.209.–
liborb
~ Redaktor
+18
Guru
3. 6. 2013   #6
-
0
-

To DTD je šatně. Synovské tagy kořenového tagu máš jenom tyto: nazev, zeme, mesto, datum_vystavy, rocnik, datum_zalozeni, ulice, misto, tank. Ty další (parametry, predek, potomek, posadka, zasobnik, vybaveni,popis_kratky, popis) jsou synovské tagy tagu tank. Takže by to mělo být nějak takto: 

<!ELEMENT Vystava_tanku (nazev, zeme, mesto, datum_vystavy, rocnik, datum_zalozeni, ulice, misto, tank+)>
<!ELEMENT nazev (#PCDATA)>
<!ELEMENT stat (#PCDATA)>
<!ELEMENT mesto (#PCDATA)>
<!ELEMENT ulice (#PCDATA)>
<!ELEMENT misto (#PCDATA)>
<!ELEMENT listek (#PCDATA)>
<!ELEMENT datum_vystavy (#PCDATA)>
<!ELEMENT rocnik (#PCDATA)>
<!ELEMENT datum_zalozeni (#PCDATA)>
<!ELEMENT tank (parametry, predek, potomek, posadka, zasobnik, vybaveni,popis_kratky, popis)>

atd.

Ale měl bych ještě další výtku. XML je hezké i v tom, že ty data můžeš ještě lépe strukturovat, takže zeme, mesto, misto, ulice můžeš shluknout pod jeden tag adresa. Bude se ti to hodit až přes XSL budeš pracovat s adresou výstavy. A dále, když ti to takhle rozšířil, tak bych to rozdělil u kořenového tagu na informace a seznamTanku, protože tak to máš - XML o tvojí výstava tanků obsahuje informace o výstavě a seznam vystavovaných tanků, takže DTD by vypadalo nějak takto:

<!ELEMENT vystavaTanku (informace, seznamTanku)>
  <!ELEMENT informace (nazev, datumVystavy, rocnik, datumZalozeni, adresa)>
    <!ELEMENT nazev (#PCDATA)>
    <!ELEMENT datumVystavy (#PCDATA)>
    <!ELEMENT rocnik (#PCDATA)>
    <!ELEMENT datumZalozeni (#PCDATA)>
    <!ELEMENT adresa (stat, mesto, ulice, misto)>             
      <!ELEMENT stat (#PCDATA)>
      <!ELEMENT mesto (#PCDATA)>
      <!ELEMENT ulice (#PCDATA)>
      <!ELEMENT misto (#PCDATA)>      
  <!ELEMENT seznamTanku (tank+)>
    <!ELEMENT tank (parametry, predek, potomek, posadka, zasobnik, vybaveni, popisKratky, popis)>
      <!ELEMENT parametry (kategorie, hmotnost, datumVyroby, zeme)>
	<!ELEMENT kategorie (#PCDATA)>
	<!ELEMENT hmotnost (#PCDATA)>
	<!ELEMENT datumVyroby (#PCDATA)>
	<!ELEMENT zeme (#PCDATA)>
      <!ELEMENT predek (#PCDATA)>
      <!ELEMENT potomek (#PCDATA)>
      <!ELEMENT posadka (clen+)>
        <!ELEMENT clen (#PCDATA)>
      <!ELEMENT zasobnik (#PCDATA)>
      <!ELEMENT vybaveni (turet, delo+, motor+, radio+, podvozek+)>
        <!ELEMENT turet (#PCDATA)>
        <!ELEMENT delo (#PCDATA)>
        <!ELEMENT motor (#PCDATA)>
        <!ELEMENT radio (#PCDATA)>
        <!ELEMENT podvozek (#PCDATA)>
      <!ELEMENT popisKratky (#PCDATA)>
      <!ELEMENT popis (#PCDATA)>

A samozřejmě ještě musím zmínit chybu, kdy neudržíš ani název tagu, takže jednou máš zeme, pak stát nebo tam máš tag, který nikde není uveden (listek) apod. Možná by to stálo za to dělat postupně, kořenový tag + jeden až dva synovské a zkusit vytvořit XML a předhodit stroji ke kontrole a pak teprve pokračovat.

Nahlásit jako SPAM
IP: 188.75.135.–
Taelo0
Duch
5. 6. 2013   #7
-
0
-

Tak jsem postupoval krok za krokem a hlásí mi to již správnou formu  i bez chyb. Musel jsem udělat interní DTD, protože s externím mi to stále zlobí. Nyní už tedy jen zadám v programu vytvoření XSLT a připojím:

<?xsl-stylesheet type="text/xsl" rel="nofollow" href="vystavaTanku.xsl"> a bude hotovo. Večer vyzkouším a pokud se vše podaří, tak Vám chci poděkovat za pomoc a ochotu, bez které by mi to trvalo mnohem déle. Taelo. 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vystavaTanku [
  <!ELEMENT vystavaTanku (informace, seznamTanku)>
  <!ELEMENT informace (nazev, datumVystavy, rocnik, datumZalozeni, adresa)>
    <!ELEMENT nazev (#PCDATA)>
    <!ELEMENT datumVystavy (#PCDATA)>
    <!ELEMENT rocnik (#PCDATA)>
    <!ELEMENT datumZalozeni (#PCDATA)>
    <!ELEMENT adresa (stat, mesto, ulice, misto)>
      <!ELEMENT stat (#PCDATA)>
      <!ELEMENT mesto (#PCDATA)>
      <!ELEMENT ulice (#PCDATA)>
      <!ELEMENT misto (#PCDATA)>
  <!ELEMENT seznamTanku (tank+)>
    <!ELEMENT tank (parametry, predek, potomek?, posadka, zasobnik, vybaveni, popisKratky, fotka, popis)>
      <!ELEMENT parametry (kategorie, hmotnost, datumVyroby, zeme)>
	       <!ELEMENT kategorie (#PCDATA)>
	       <!ELEMENT hmotnost (#PCDATA)>
	       <!ELEMENT datumVyroby (#PCDATA)>
	       <!ELEMENT zeme (#PCDATA)>
      <!ELEMENT predek (#PCDATA)>
      <!ELEMENT potomek (#PCDATA)>
      <!ELEMENT posadka (clen+)>
         <!ELEMENT clen (#PCDATA)>
      <!ELEMENT zasobnik (#PCDATA)>
      <!ELEMENT vybaveni (delo, motor, radio)>
         <!ELEMENT turet (#PCDATA)>
         <!ELEMENT delo (#PCDATA)>
         <!ELEMENT motor (#PCDATA)>
         <!ELEMENT radio (#PCDATA)>
         <!ELEMENT podvozek (#PCDATA)>
      <!ELEMENT popisKratky (#PCDATA)>
      <!ELEMENT fotka (#PCDATA)>
      <!ELEMENT popis (#PCDATA)>

<!ATTLIST nazev
          nazev CDATA #REQUIRED>
<!ATTLIST stat
          stat CDATA #REQUIRED>
<!ATTLIST mesto
          mesto CDATA #REQUIRED>
<!ATTLIST ulice
          ulice CDATA #REQUIRED>
<!ATTLIST misto
          misto CDATA #REQUIRED>
<!ATTLIST datumVystavy
          datum CDATA #REQUIRED>
<!ATTLIST datumZalozeni
          datum CDATA #REQUIRED>
<!ATTLIST datumVyroby
          datum CDATA #REQUIRED>
<!ATTLIST rocnik
          id CDATA #REQUIRED>
<!ATTLIST tank
          nazev CDATA #REQUIRED>
<!ATTLIST hmotnost
          jednotky CDATA #REQUIRED>
<!ATTLIST tank
          id CDATA #REQUIRED>
<!ATTLIST fotka
          obrazek CDATA #REQUIRED>
<!ATTLIST clen
          funkce CDATA #REQUIRED>
<!ATTLIST delo
          nazev CDATA #REQUIRED>
<!ATTLIST motor
          nazev CDATA #REQUIRED>
<!ATTLIST radio
          nazev CDATA #REQUIRED>
]>
<vystavaTanku>
<informace>
<nazev nazev = "ExpositionOfTanks"/>
<datumVystavy datum = "dd.mm.yy">12.6.13</datumVystavy>
<rocnik id = "11"/>
<datumZalozeni datum = "dd.mm.yy">31.3.85</datumZalozeni>
<adresa>
     <stat stat = "Francie"/>
     <mesto mesto = "Paris"/>
     <ulice ulice = "Avenue des Champs-Elyses"/>
     <misto misto = "Pl. de la Concorde"/>
</adresa>
</informace>

<seznamTanku>
<!-- Prvni tank -->
<tank nazev = "T 71" id = "1">
<parametry>
	<kategorie>lehky tank</kategorie>
	<hmotnost jednotky = "kg">18.000</hmotnost>
	<datumVyroby datum = "dd.mm.yy">01.01.50</datumVyroby>
	<zeme>Amerika</zeme>
</parametry>
<predek>T21</predek>
<potomek>T69</potomek>
<posadka>
    <clen funkce = "velitel"/>
    <clen funkce = "nabijec"/>
    <clen funkce = "ridic"/>
</posadka>
<zasobnik>ANO</zasobnik>
<vybaveni>
    <delo nazev = "76 mm delo T185"/>
    <motor nazev = "Continental AOI-628-1"/>
    <radio nazev = "AN/GRC-3"/>
</vybaveni>
<popisKratky>Experimentlni lehky tank se specilnim tvarovnim turetu</popisKratky>
<fotka obrazek="T71.jpg"/>
<popis>Nejaky text</popis>
</tank>

<!-- Druhy tank -->
<tank nazev = "T110E5" id ="2">
<parametry>
	<kategorie>tezky tank</kategorie>
	<hmotnost jednotky = "kg">60.000</hmotnost>
	<datumVyroby datum = "dd.mm.yy">01.01.55</datumVyroby>
	<zeme>Amerika</zeme>
</parametry>
<predek>m103</predek>
<posadka>
    <clen funkce = "velitel"/>
    <clen funkce = "nabijec"/>
    <clen funkce = "ridic"/>
    <clen funkce = "strelec"/>
</posadka>
<zasobnik>NE</zasobnik>
<vybaveni>
    <delo nazev = "120 mm Gun M58"/>
    <motor nazev = "AOI-1490"/>
    <radio nazev = "AN/GRC-3"/>
</vybaveni>
<popisKratky>Tezky tank vyvinut v 50. letech minuleho stoleti.</popisKratky>
<fotka obrazek="T110E5.jpg"/>
<popis>Nejaky text</popis>
</tank>

<!-- Treti tank -->
<tank nazev = "E 75" id="3">
<parametry>
	<kategorie>tezky tank</kategorie>
	<hmotnost jednotky = "kg">75.000</hmotnost>
	<datumVyroby datum = "dd.mm.yy">01.01.45</datumVyroby>
	<zeme>Nemecko</zeme>
</parametry>
<predek>Tiger 2</predek>
<potomek>E100</potomek>
<posadka>
    <clen funkce = "velitel"/>
    <clen funkce = "nabijec"/>
    <clen funkce = "ridic"/>
    <clen funkce = "strelec"/>
    <clen funkce = "radista"/>
</posadka>
<zasobnik>NE</zasobnik>
<vybaveni>
    <delo nazev = "12,8 cm KwK 44 L/55"/>
    <motor nazev = "Maybach HL 295 Ausf. A"/>
    <radio nazev = "FuG 12"/>
</vybaveni>
<popisKratky>Roku 1945 nahradil tezky tank Tiger 2 a stal se soucasti Panzerwaffe.</popisKratky>
<fotka obrazek="E75.jpg"></fotka>
<popis>Nejaky text</popis>
</tank>
</seznamTanku>
</vystavaTanku>
Nahlásit jako SPAM
IP: 85.70.229.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

DTD?! — založil daemontus

Chyba v syntaxi SQL — založil endless

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý