Qt Reference Documentation

# statisticsInHTML.xq Example File

xmlpatterns/qobjectxmlmodel/queries/statisticsInHTML.xq

     <html>
       <head>
         <title></title>
       </head>
       <body>
         <p>In total the tree has {count($root//QObject)} QObject instances.</p>
         <p>Order by occurrence, the QObjects are:</p>

         <ol>
         {
           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 <li>{string($i/@className), $count} occurrences</li>
                  else ()
         }
         </ol>

         <h1>Properties</h1>
         {
           (: For each QObject, we create a table listing
            : the properties of that object. :)
           for $object in $root//QObject
             return (<h2>{let $name := string($object/@objectName)
                          return if(string-length($name))
                                 then $name
                                 else "[no name]",
                          '(', string($object/@className), ')'}</h2>,
                     <table border="1">
                       <thead>
                         <tr>
                           <td>Property Name</td>
                           <td>Value</td>
                         </tr>
                       </thead>
                       <tbody>
                       {
                         $object/@*/<tr>
                                      <td>
                                      {
                                        name()
                                      }
                                      </td>
                                      <td>
                                      {
                                        if(data(.))
                                        then string(.)
                                        else "N/A"
                                      }
                                      </td>
                                    </tr>
                       }
                       </tbody>
                     </table>)
         }
       </body>
     </html>