In total the tree has {count($root//QObject)} QObject instances.
Order by occurrence, the QObjects are:
{
for $i in $root/preceding-sibling::metaObjects/metaObject
let $count := count($root//QObject[@className eq $i/@className])
stable order by $count descending
return if($count > 1)
then - {string($i/@className), $count} occurrences
else ()
}
Properties
{
(: For each QObject, we create a table listing
: the properties of that object. :)
for $object in $root//QObject
return ({let $name := string($object/@objectName)
return if(string-length($name))
then $name
else "[no name]",
'(', string($object/@className), ')'}
,
Property Name |
Value |
{
$object/@*/
{
name()
}
|
{
if(data(.))
then string(.)
else "N/A"
}
|
}
)
}