Changeset 746 for MDRepository
- Timestamp:
- 10/04/10 16:33:08 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
MDRepository/trunk/xquery/cmd-model.xqm
r744 r746 47 47 return 48 48 util:eval(fn:concat("$collection/ft:query(descendant::IsPartOf, <query><term>", xdb:decode($coll), "</term></query>)/ancestor-or-self::CMD/descendant-or-self::", $path)) 49 return 50 cmd-model:elem-r($path-nodes, $path, $depth, $depth) 51 }; 52 53 declare function cmd-model:elem-r($path-nodes as node()+, $path as xs:string, $max-depth as xs:integer, $depth as xs:integer) as element() { 54 let $path-count := count($path-nodes) 55 let $subs := distinct-values($path-nodes/child::element()/name()) 56 let $text-nodes := for $node in $path-nodes[child::element()[not(child::element())]] return $node//text() 57 let $text-count := count($text-nodes) 58 let $text-count-distinct := count(distinct-values($text-nodes)) 59 return 49 return 50 cmd-model:elem-r($path-nodes, $path, $depth, $depth) 51 }; 52 53 declare function cmd-model:elem-r($path-nodes as node()*, $path as xs:string, $max-depth as xs:integer, $depth as xs:integer) as element() { 54 let $path-count := count($path-nodes), 55 $child-elements := $path-nodes/child::element(), 56 $subs := distinct-values($child-elements/name()), 57 $nodes-child-terminal := if (empty($child-elements)) then $path-nodes else $child-elements[not(element())], 58 $text-nodes := $nodes-child-terminal/text(), 59 $text-count := count($text-nodes), 60 $text-count-distinct := count(distinct-values($text-nodes)) 61 return 60 62 <Term path="{fn:concat("//", $path)}" name="{text:groups($path, "/([^/]+)$")[last()]}" count="{$path-count}" count_text="{$text-count}" count_distinct_text="{$text-count-distinct}">{ 61 63 if ($depth > 0) then
Note: See TracChangeset
for help on using the changeset viewer.