Changeset 746 for MDRepository


Ignore:
Timestamp:
10/04/10 16:33:08 (14 years ago)
Author:
ljo
Message:

cmd-model.xqm - some small adjustments on queryModel.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • MDRepository/trunk/xquery/cmd-model.xqm

    r744 r746  
    4747      return
    4848        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
     53declare 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
    6062        <Term path="{fn:concat("//", $path)}" name="{text:groups($path, "/([^/]+)$")[last()]}" count="{$path-count}" count_text="{$text-count}"  count_distinct_text="{$text-count-distinct}">{
    6163          if ($depth > 0) then
Note: See TracChangeset for help on using the changeset viewer.