Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 30th, 2012  |  syntax: None  |  size: 0.86 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. How to select a node referenced by an other node with XPath?
  2. <root>
  3. <purchact hhid="xxx">
  4.   <purchase pgnr="41">
  5.    <purchvalues field_name="Number" field_value="1"/>
  6.   </purchase>
  7.   <purchase pgnr="KEY9802">
  8.    <purchvalues field_name="Number" field_value="2"/>
  9.   </purchase>
  10.  <purchase pgnr="9802c">
  11.    <purchvalues field_name="Number" field_value="3"/>
  12.   </purchase>
  13.  </purchact>
  14. </root>
  15.        
  16. root/purchact/purchase[@pgnr=concat(substring-after(@pgnr, "KEY"), "c")]
  17.        
  18. root/purchact/purchase[
  19.     @pgnr = concat(
  20.         substring-after(
  21.             ../purchase[
  22.                 contains(@pgnr, 'KEY')
  23.                 ]/@pgnr,
  24.             'KEY'
  25.             )
  26.         , 'c')
  27.     ]
  28.        
  29. root/purchact/purchase[
  30.    @pgnr[substring(.,string-length()) = 'c']
  31. ][
  32.    concat(
  33.       'KEY',
  34.       substring-before(
  35.          @pgnr,
  36.          'c'
  37.       )
  38.    ) = ../purchase/@pgnr
  39. ]