PHP
- 1 ответ
 - 0 вопросов
 
    0
    Вклад в тег
    
      
      
    
  
  
declare namespace w = "w";
declare function local:recursion ( $node as element() ) as xs:string {
  if ( $node/parent::* )
  then (
    local:recursion ( $node/parent::* ) || "/" || $node/name() ||
    "[" || count( $node/preceding-sibling::*[ name() = $node/name() ] )+1 || "]"
   )
  else ( $node/name() )
};
 
let $xml := 
   <w:body>
      <w:p>
          <w:text>Текст</w:text>
      </w:p>
      <w:p>
          <w:text>Текст</w:text>
          <w:text>Текст</w:text>
      </w:p>
  </w:body>
  
for $node in $xml//w:text
return
  local:recursion( $node )