Revision 4f6006440f085c84bda5c2676d5dfbe27b06440a authored by sabine seifert on 24 September 2022, 13:15:56 UTC, committed by sabine seifert on 24 September 2022, 13:15:56 UTC
1 parent f19599e
Raw File
attsbyclass.xql
declare namespace tei="http://www.tei-c.org/ns/1.0";
declare namespace rng="http://relaxng.org/ns/structure/1.0";
declare namespace request="http://exist-db.org/xquery/request";
let $e := request:get-parameter("name", "")
let $lang := request:get-parameter("lang", "")
for $c in collection("/db/TEI")//tei:classSpec[@ident=$e]
<Element>
{
for $a in $c//tei:attDef
let $Desc:=
    if ($a/tei:desc[@xml:lang=$lang]) then
        $a/tei:desc[@xml:lang=$lang]
    else
        $a/tei:desc[not(@xml:lang)]
return
 <att>
    <name>
    {$a/@usage}
    {data($a/@ident)}</name>
    <desc>{data($Desc)}</desc>
    <defaultVal>{data($a/tei:defaultVal)}</defaultVal>
     { for $d in  $a/tei:datatype 
        return
	 <datatype>
	    { $d/@minOccurs }
	    { $d/@maxOccurs }
	    { $d/* }
         </datatype>
     }
     {  
      for $d in $a/tei:valList  return
       <valList>
         {for $dv in $d/tei:valItem return
             <valItem>
	        { $dv/@ident }
             </valItem>
       </valList>
      }
</att>
}
</Element>
back to top