Funkcia %XML_OpenDocument


Funkcia
Funkcia načíta XML dokument z disku.


Deklarácia
INT %XML_OpenDocument(
   TEXT in fileName,
   BOOL in validate[,
   TEXT in features := ""[,
   BOOL in preserveWhitespace := @TRUE]]
 )
Parametre
fileNameMeno XML súboru na disku.
validate@TRUE - vykonanie validácie XML dokumentu (v prípade, že XML dokument obsahuje DTD).
@FALSE - bez validácie XML dokumentu (v prípade, že XML dokument obsahuje DTD).
featuresNepovinný parameter typu Text, ktorý umožňuje zmeniť preddefinované hodnoty niektorých parametrov štandardného SAX Parsera a tým ovplyvniť jeho chovanie a následne aj obsah načítaného dokumentu v pamäti.
Parametre sa zapisujú vo dvojiciach v poradí meno a číselná hodnota. Jednotlivé časti sú oddelené znakom medzera.
Ak je hodnota 0, parameter bude vypnutý, inak zapnutý.
Zadanie neplatného mena parametra sa nevyhodnotí ako chyba.
Úplný zoznam parametrov je napríklad na http://xerces.apache.org/xerces2-j/features.html.
Aktuálna verzia podporuje nasledujúce dva parametre:


http://xml.org/sax/features/namespaces

True

Vykoná spracovanie menného (namespace) priestoru: predpony budú odstránené z názvov prvkov a atribútov a nahradené zodpovedajúcimi URI menného priestoru. V predvolenom nastavení budú tieto dve jednoducho zreťazené, ale vlastnosť jadra namespace-sep umožňuje aplikácii zadať oddeľovací reťazec na oddelenie časti URI a lokálnej časti.

FalseNevykonáva spracovanie menného priestoru.
Defaulttrue
NoteAk je funkcia overenia nastavená na hodnotu true, dokument musí obsahovať gramatiku, ktorá podporuje použitie menných priestorov.

alebo

http://xml.org/sax/features/namespace-prefixes

TrueNahlási pôvodné názvy s predponou a atribúty použité pre deklarácie priestoru názvov.
FalseNeuvádza atribúty používané pre deklarácie priestoru názvov a voliteľne neoznamuje pôvodné názvy s predponou.
Defaultfalse
preserveWhitespace@TRUE - textové uzly, ktoré obsahujú tzv. biele znaky (medzera, tabelátor, ..) ostanú zachované tak, ako sú v XML dokumente.
@FALSE - textové uzly, ktoré obsahujú tzv. biele znaky budú pri parsovaní dokumentu ignorované.
Návratová hodnota
Handle na otvorený XML dokument. Ak sa dokument nepodarí otvoriť, návratová hodnota bude neplatná.


Popis
Funkcia načíta zadaný XML dokument z disku a vráti jeho handle.

Podporované kódovania XML dokumentu sú:
  • UTF-8
  • UTF-16
  • US-ASCII
  • ISO-8859-1
  • Latin1
  • ISO-8859-2
  • Latin2
  • ISO-8859-3
  • ISO-8859-4
  • WINDOWS-1250
Príklad 1
 INT _doc
 
 _doc := %XML_OpenDocument("c:\data.xml", @TRUE) 
Príklad 2
Otvorenie XML dokumentu s nastavením parametra (http://xml.org/sax/features/namespace-prefixes) SAX Parsera:


 


 TEXT _features
 _features := "http://xml.org/sax/features/namespace-prefixes 1"
 _hXML := %XML_OpenDocument (_fileName, @FALSE, _features)
Poznámka
Ak je nastavený parameter namespace-prefixes, pri čítaní XML dokumentu sa nebudú ignorovať xmlns* atribúty. Nasledovný XML súbor bol čítaný so zapnutým parametrom http://xml.org/sax/features/namespace-prefixes.

Demo pre XML.

Write a comment...