File: parts-queries-results-q1.xq

package info (click to toggle)
qtxmlpatterns-opensource-src 5.15.2-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 309,144 kB
  • sloc: xml: 360,343; cpp: 91,994; ansic: 388; sh: 53; sed: 31; makefile: 23
file content (22 lines) | stat: -rw-r--r-- 503 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(: insert-start :)
declare variable $input-context external;
(: insert-end :)

declare function local:one_level($p as element()) as element()
{
    <part partid="{ $p/@partid }"
          name="{ $p/@name }" >
        {
            for $s in $input-context//part
            where $s/@partof = $p/@partid
            return local:one_level($s)
        }
    </part>
};

<parttree>
  {
    for $p in $input-context//part[empty(@partof)]
    return local:one_level($p)
  }
</parttree>