Ufff... Tady zalezi, jak s daty pracujes. Na XPath je to hoooodne slozita
konstrukce, kterou bez vlastnich fci budes resit fakt dost obtizne v jednom
kroku. U XQuery by to melo jit.

Z hlavy to nedam.

Pokud ale bude ten dokument nacteny do pameti a tech dotazu se bude
delat nekolik, doporucil bych SAXem naparsovat a poskladat si strukturu
do HashMap.

tapik

On Tue, May 20, 2008 at 03:12:33PM +0200, Martin Jedlička wrote:
> Zdravim,
> 
>   mam dotaz ohledne hledani elementu v XML souboru.
> Mam nize uvedeny XML soubor (tento soubor je upraveny format DWARF2), ktery 
> obsahuje jednotlive elementy. Kazdy element ma nejake 'idref', ktery 
> odkazuje da dalsi element.
> Priklad : variable -> volatile_type -> far_type -> typedef -> structure_type
> A potrebuju zjistit nejakym dotazem nazev struktury (t_bitStruktura), jeji 
> polozky (b0, b1) atd...
> Mam na toto pouzit XPath nebo XQuery? Co je lepsi? Nejaky priklad?
> 
> Diky moc.
> 
> Martin
> 
> 
>       <variable id='0x6b'>
>               <location>
>                       0x00000000
>               </location>
>               <name>
>                       promenna1
>               </name>
>               <ref idref='0x5ab'/>
>       </variable>
> 
>       <volatile_type id='0x5ab'>
>               <ref idref='0x5b0'/>
>       </volatile_type>
> 
>       <far_type id='0x5b0'>
>               <ref idref='0x596'/>
>       </far_type>
> 
>       <typedef id='0x596'>
>               <name>
>                       t_bitStruktura
>               </name>
>               <ref idref='0x4b8'/>
>       </typedef>
> 
>       <structure_type id='0x4b8'>
>               <name>
>                       t_bitStruktura
>               </name>
>               <byte_size>
>                       0x1
>               </byte_size>
>               <member id='0x4cc'>
>                       <name>
>                               b0
>                       </name>
>                       <bit_offset>
>                               0xf
>                       </bit_offset>
>                       <bit_size>
>                               0x1
>                       </bit_size>
>                       <member_location>
>                               0x00000000
>                       </member_location>
>                       <ref idref='0x35e'/>
>               </member>
>               <member id='0x4e4'>
>                       <name>
>                               b1
>                       </name>
>                       <bit_offset>
>                               0xd
>                       </bit_offset>
>                       <bit_size>
>                               0x2
>                       </bit_size>
>                       <member_location>
>                               0x00000000
>                       </member_location>
>                       <ref idref='0x35e'/>
>               </member>
>       </structure_type>
> 
>       <typedef id='0x35e'>
>               <name>
>                       t_uint16
>               </name>
>               <ref idref='0x2d0'/>
>       </typedef>
> 
>       <basetype id='0x2d0'>
>               <name>
>                       unsigned int
>               </name>
>               <byte_size>
>                       0x1
>               </byte_size>
>               <encoding>
>                       0x7
>               </encoding>
>       </basetype>

Odpovedet emailem