Špecifikácia XML filtra vyhovuje štruktúre XML súboru, pričom:
- môže obsahovať voliteľnú sekciu <FILTER_OPTIONS> nastavujúcu chovanie filtra
- musí obsahovať rezervovanú sekciu <CFGRECORDS> nastavujúcu atribúty filtra
- nesmie obsahovať inú rezervovanú sekciu ako rezervovanú sekciu <CFGRECORDS>
Vlastnosti voliteľnej sekcie <FILTER_OPTIONS>
- parameter <Operator> má povolenú hodnotu AND alebo OR
- hodnota AND určuje, že objekt vyhovuje filtru len za predpokladu, že mu vyhovujú všetky zadané atribúty filtra
- hodnota OR určuje, že objekt vyhovuje filtru za predpokladu, že mu vyhovuje aspoň jeden zadaný atribút filtra
- výnimkou je atribút pre typ objektu (element <Typ>), ktorý filtruje objekty vždy
- ak táto voliteľná sekcia nie je súčasťou filtra, alebo neobsahuje parameter <Operator>, default je AND verzia
Vlastnosti rezervovanej sekcie <CFGRECORDS>
- obsahuje atribúty filtra, pomocou ktorých sa určuje, či objekt vyhovuje alebo nevyhovuje filtru
- základné atribúty filtra sú uvedené v štruktúre <TObjItemData>
- atribút pre typ objektu (element <Typ>) určuje, ktoré typy objektov sa filtrujú
- doplňujúce atribúty filtra, uvedené v príslušnej štruktúre, závisia od typu objektov, ktoré sa filtrujú
- doplňujúce atribúty filtra z dvoch rôznych typov objektov sa nemôžu kombinovať, vtedy sa všetky objekty automaticky považujú za nevyhovujúce
- štruktúry nesmú obsahovať atribúty s reťazovými hodnotami typu SDT_EXPRESSION alebo SDT_RAW_DATA
Príklad XML súboru reprezentujúceho XML filter
<?xml version="1.0" encoding="windows-1250"?> <ROOT> <FILTER_OPTIONS> <Operator>AND</Operator> </FILTER_OPTIONS> <CFGRECORDS> <TObjItemData> <Name>A*</Name> <Typ>ARCH_VAL</Typ> <VHL>100</VHL> </TObjItemData> <TArchivData_Full> <TArchivData> <Periode>60</Periode> <Offset>0</Offset> </TArchivData> </TArchivData_Full> </CFGRECORDS> </ROOT>
Filtru vyhovuje objekt typu ARCH_VAL, ktorý spĺňa aspoň jednu z uvedených podmienok: meno vyhovuje maske A*, atribút VHL je rovný 100, atribút Periode je rovný nule alebo atribút Offset je rovný nule. V prípade, že by nebol zadaný operátor OR, alebo by bol zadaný operátor AND, vzťah medzi atribútmi filtra by sa zmenil na vzťah AND.
Súvisiace stránky:
0 komentárov