XML súbor má nasledujúcu štruktúru:
- na začiatku súboru je informácia o kódovaní dát
- pred <ROOT> tagom sú CVS tagy umiestnené v poznámke
- na konci súboru sú štrukturované XML dáta, ktoré obaľuje koreňový <ROOT> element
Poznámka: Informácia o kódovaní dát a CVS tagy nie sú povinné.
Kódovanie dát
Ak XML súbor obsahuje informáciu o kódovaní, musí sa v ňom nachádzať práve raz a to hneď na jeho začiatku. Pred touto informáciou nie sú povolené ani prázdne znaky.
Dáta XML súboru sú v kódovaní:
- windows-1250
- ak obsahuje informáciu o kódovaní v tvare <?xml version="1.0" encoding="windows-1250"?>,
- alebo neobsahuje informáciu o kódovaní a na začiatku súboru sa nenachádza BOM pre utf-8
- utf-8
- ak obsahuje informáciu o kódovaní v tvare <?xml version="1.0" encoding="utf-8"?>,
- alebo neobsahuje informáciu o kódovaní a na začiatku súboru sa nachádza BOM pre utf-8
Poznámka: BOM (Byte Order Mark) pre utf-8 je postupnosť znakov (hexa) EF, BB, BF na začiatku súboru. Tieto znaky nie sú viditeľné pri zobrazení textu.
Upozornenie: Pokiaľ užívateľ ručne prepíše typ kódovania v hlavičke XML súboru, hoci obsah súboru je zakódovaný inak, vystavuje sa riziku, že budú problémy s čítaním znakov s diakritikou!
CVS tagy
CVS tagy sa po exporte objektu do XML súboru v dátach:
- nenachádzajú, ak bol objekt exportovaný nižšou verziou systému D2000 ako V7.02.011.
- nachádzajú bez hodnôt, ak bol exportovaný objekt s nedefinovanými hodnotami CVS atribútov.
- nachádzajú s hodnotami, ak bol exportovaný objekt s definovanými hodnotami CVS atribútov.
Príklad bez hodnôt: <!--$Date $ $Revision $ $Author $ $ExpSubDir $-->
Príklad s hodnotami: <!--$Date: 2009/10/07 14:19:07 $ $Revision: 1.2 $ $Author: jstafen $ $ExpSubDir: Common\Planner $-->
Hodnoty CVS tagov predstavujú CVS informácie o:
- verzii objektu - hodnota tagu CVS Revision
- dátume tejto verzie - hodnota tagu CVS Date
- autorovi tejto verzie - hodnota tagu CVS Author
Ak sa CVS tagy v XML súbore nenachádzajú, môžu byť pridané ručne, ale len v tvare bez hodnôt!
Akékoľvek iné ručné zásahy do CVS tagov sú neprípustné a narušujú funkčnosť XML Repository.
Posledný tag ExpSubDir nie je CVS tagom. V tomto tagu je uchovaný parameter "Exportovací podadresár" daného objektu. Hodnota tohto tagu naplní výlučne XML Export.
Využitie CVS tagov je bližšie popísané v XML Repository.
Štruktúra XML dát
Dáta XML súboru sú obalené v koreňovom <ROOT> elemente, pre ktorý platí:
- musí sa v súbore nachádzať práve raz (je povinný)
- jeho vynechanie má za následok neplatnosť dát
- všetky ostatné elementy sú v ňom vnorené
V prvej úrovni vnorenia sú XML dáta rozdelené do rezervovaných sekcií, pre ktoré platí:
- musia sa vyskytovať v nasledujúcom povinnom poradí: REFERENCES, CFGRECORDS, MEMBEROFLOGGROUP, MEMBEROFRESGROUP, CRC a OBJLIFELOGS
- každá rezervovaná sekcia sa môže v dokumente vyskytovať iba jeden krát
- iba rezervovaná sekcia CFGRECORDS je povinná, ostatné rezervované sekcie sa v elemente nemusia vyskytovať
Rezervované sekcie sa podľa ďalšieho vnárania delia na:
- rezervované sekcie REFERENCES, CFGRECORDS a OBJLIFELOGS, ktoré obsahujú vnorené štruktúry s hodnotami atribútov
- rezervované sekcie MEMBEROFLOGGROUP a MEMBEROFRESGROUP, ktoré obsahujú hodnoty umiestnené v pomocných member elementoch
- rezervovaná sekcia CRC, ktorá obsahuje priamo CRC hodnotu
Popis obsahu jednotlivých sekcií je v špecifikácii XML dát.
Okrem uvedených rezervovaných sekcií sa môžu v dátach XML súboru vyskytovať aj užívateľom nadefinované sekcie. Ich poradie a vnáranie je voliteľné. Ich názov nesmie byť zhodný s názvom rezervovaných sekcií. Tieto voliteľné sekcie však nie sú súčasťou spracovania XML dát a ich význam môže spočívať v dodatočnom riadení iných funkcií pre programátora alebo užívateľa.
Súčasne platí, že ak v rámci spracovania rezervovaných sekcií bude identifikovaný neznámy element, ktorý do rezervovanej sekcie alebo vnorenej
štruktúry tejto sekcie nepatrí, objaví sa varovanie.
V rezervovaných sekciách môžu existovať iba jednoduché neznáme elementy, čo znamená,
že neznámy element, vyskytujúci sa v rezervovanej sekcii, nesmie obsahovať vnorené elementy.
Súvisiace stránky:
Pridať komentár