CONTEXT OF SVG SUMMARY
========================
What uses svg-summary.xml ? How is it used ?
-----------------------------------------------
Snippets from the summary are grabbed by XQuery `$ss//svg:g[@id=$code]`
::
b2mc:h heprez$ vi ./hfag/mods/webapp/hfagc/xquery/rezs.xqm
307 declare function rezs:qdisp-svgs-ilcs($codes as xdt:anyAtomicType* , $scale as xs:string , $squeeze as xs:string , $trans as xs:string , $opt as xs:string) as node()*
308 {
309 let $ss := doc( "/db/hfagc_system/svg-summary.xml" )
310 let $ucodes := $codes
311 (:
312 if(fn:substring($codes,1,3) = "all") then
313 rezs:all-codes(fn:substring-after($codes,"all")) else fn:tokenize($codes,",")
314 :)
315 let $dscale := xs:double( $scale )
316 let $names := (for $code in $ucodes return rezx:code2name( $code))
317 let $svgs := (for $code in $ucodes return $ss//svg:g[@id=$code])
318 let $nsvg := fn:count($svgs)
Unfortunately, many other forms of use (this code predates my seeing the light regards SCM)::
b2mc:h heprez$ vi ./hfag/mods/webapp/hfagc/xquery/make-plot.xqm
1166 declare function rezs:qtset2svg( ## looks highly developed
Actually qtag2svgs.xml looks more relevant::
39 declare variable $rezs:qtag2svgs_index as xs:string { "/db/hfagc_system/qtag2svgs.xml" } ;
1637 declare function rezs:qt2svgsabel( $qt as xs:string , $opt as xs:string ) as element() {
1638
1639 let $sabel := if( doc-available($rezs:qtag2svgs_index) ) then
1640 doc($rezs:qtag2svgs_index)//qtag[@value=$qt]/svgs/sabel/*
1641 else
1642 no sabel[{$qt}]
1643 return
1644 if( not(empty($sabel))) then
1645 if( count($sabel) = 1 ) then
1646 $sabel
1647 else
1648 multisabel {$sabel}
1649 else
1650 rezs:qt2svgsabel error the index needs to be created
1651 };
1652
BUT that is constructed by `$ss//svg:g[@id=..]` lookups on the svg-summary::
1563 declare function rezs:qtag2svgs-makeindex( $pass as xs:string ) {
1564 let $hfagc := collection("/db/hfagc")
1565 let $col := xdb:collection( "/db/hfagc_system" , "admin" , $pass )
1566 let $ss := doc("/db/hfagc_system/svg-summary.xml")
1567 let $qtags := for $t in distinct-values( $hfagc//rez:qtag ) where $t castable as xs:string order by xs:string($t) return xs:string($t)
1568 return
1569 xdb:store( $col , "qtag2svgs.xml" ,
1570
1571 { t:now() }
1572 {
1573 for $qt at $pqt in $qtags
1574 let $qtn := rezu:qt2name( $qt )
1575 let $slqtn := concat("sl", $qtn )
1576 let $ss-sabel := $ss//svg:g[@id=$slqtn]
1577 let $ss-label := $ss//svg:g[@id=$qtn]