2013-03-28 2 views

ответ

0

Вот что я нашел для XSLT 2.0

<x:transform version="2.0" 
     xmlns:x="http://www.w3.org/1999/XSL/Transform" 
     xmlns:find="http://user.com/namespace"> 

<x:output method="html"/> 

<x:function name="find:word"> 
    <x:param name="src"/> 
    <x:param name="word"/> 
    <x:sequence select="matches($src, concat('(^|\s)', $word, '(\s|$)'))"/> 
</x:function> 

<x:template match="//*[find:word(@class, 'items')]"> 
    <x:copy> 
     <x:copy-of select="@*"/> 
    </x:copy> 
</x:template> 

</x:transform> 
1

Существуют различные способы, вы можете сделать это, но самое простое решение для использовать XQuery, который позволяет определять функции в языке:

declare function local:word($a as xs:string, $b as xs:string) as xs:boolean { 
    matches($a, concat("(^|\s)", $b, "(\s|$)")) 
};