Changeset 2234 for SMC


Ignore:
Timestamp:
09/19/12 10:35:47 (12 years ago)
Author:
vronk
Message:

added new numbers and tables (mainly in summary-cmd)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • SMC/trunk/SMC/src/scripts/smc_stats.xsl

    r1650 r2234  
    2020currently the main map is produced in a separate step and loaded from static-xml (map_file)</purpose>
    2121<params>
    22 
     22main input file is expected dcr-cmd-map.xml
    2323</params>
    2424<history>
     
    2929<!--<xsl:import href="cmd_commons.xsl"/>-->
    3030   
    31 <xsl:output method="xml" indent="yes" />
    32        
    33 <xsl:include href="smc_commons.xsl"/>
     31
     32<xsl:import href="smc_commons.xsl"/>
     33
     34        <xsl:output method="html" indent="yes" />
    3435       
    3536  <xsl:param name="title" select="'SMC Stats'" />
     
    3738    <!--
    3839 <xsl:param name="map_file" select="'../../../../SMC/output/map_full.xml'" /> 
    39  <xsl:variable name="map" select="document($map_file)" />
     40 <xsl:variable name="map" select="document($dcr-cmd-map_file)" />
    4041    -->
    4142   
    42 <xsl:template name="continue-root">
     43<!--<xsl:template name="continue-root">-->
     44        <xsl:template match="/">
    4345        <xsl:call-template name="summary-overall"></xsl:call-template>
    44     <xsl:call-template name="summary-terms"></xsl:call-template>
    45     <xsl:call-template name="summary-cmd"></xsl:call-template>
    46 <!--    <xsl:call-template name="summary-concepts"></xsl:call-template>-->
     46                <xsl:call-template name="summary-concepts"></xsl:call-template>
     47                <xsl:call-template name="summary-terms"></xsl:call-template>   
     48        <xsl:call-template name="summary-cmd"></xsl:call-template>
     49                <xsl:call-template name="ambigue-elems"></xsl:call-template>
     50   
    4751 </xsl:template>                       
    4852       
     
    5155                <table>
    5256                <tbody>
     57                        <tr><td>dcr-terms</td><td ><xsl:value-of select="document-uri($dcr-terms)"/></td></tr>
    5358                    <tr><td>creation date</td><td align="right"><xsl:value-of select="current-date()"/></td></tr>
    54                     <tr><td>available Concepts</td><td align="right"><xsl:value-of select="count($dcr_terms//Concept)"/></td></tr>
    55                     <tr><td>used Concept</td><td align="right"><xsl:value-of select="count($map//Concept)"/></td></tr>             
     59                    <tr><td>available Concepts</td><td align="right"><xsl:value-of select="count($dcr-terms//Concept)"/></td></tr>
     60                        <tr><td>used Concept</td><td align="right"><xsl:value-of select="count($dcr-cmd-map//Concept)"/></td></tr>                 
    5661                    <tr><td>blind Concepts (not in isocat)</td><td align="right"><xsl:value-of select="count(//Concept[not(Term[@set='isocat'])])"/></td></tr>
    57                     <tr><td>unused Concepts</td><td align="right"><xsl:value-of select="count($dcr_terms//Concept except $dcr_terms//Concept[@id=$map//Concept/@id])"/></td></tr>
    58                     <tr><td>Term</td><td align="right"><xsl:value-of select="count($map//Term)"/></td></tr>
     62                        <tr><td>unused Concepts</td><td align="right"><xsl:value-of select="count($dcr-terms//Concept except $dcr-terms//Concept[@id=$dcr-cmd-map//Concept/@id])"/></td></tr>
     63                        <tr><td>Term</td><td align="right"><xsl:value-of select="count($dcr-cmd-map//Term)"/></td></tr>
    5964                        <!--
    6065                    <tr><td>profileDescription</td><td align="right"><xsl:value-of select="count(//profileDescription)"/></td></tr>                     
     
    8691<xsl:template name="summary-terms">
    8792    <table>
    88         <tbody>
    89            <xsl:for-each-group select="$map//Term" group-by="concat(@set,@type)">
     93        <caption>Term types</caption>
     94        <tbody>         
     95           <xsl:for-each-group select="$dcr-cmd-map//Term" group-by="concat(@set,@type)">
    9096               <tr><td><xsl:value-of select="concat(@set,'-', @type)"></xsl:value-of></td><td align="right"><xsl:value-of select="count(current-group())"/></td></tr>       
    9197           </xsl:for-each-group>           
     
    95101
    96102<xsl:template name="summary-concepts">
     103       
    97104    <table>
     105        <caption>Data Categories Sets</caption>
    98106        <tbody>
    99             <xsl:for-each select="$map//Concept[not(Term[@set='isocat'])]" >
    100                 <tr><td><xsl:value-of select="@id"></xsl:value-of></td>
     107            <xsl:for-each select="$dcr-terms//Termset" >
     108                <tr><td><xsl:value-of select="@set"></xsl:value-of></td>
     109                        <td align="right"><xsl:value-of select="count(Concept)"></xsl:value-of></td>
    101110                    </tr>       
    102111            </xsl:for-each>           
     
    107116   
    108117<xsl:template name="summary-cmd">
    109        
    110         <table>
    111                 <caption>Profiles |<xsl:value-of select="count($cmd_terms//Termset)" />|</caption>
     118        <xsl:variable name="count_elems" select="count($cmd-terms//Term[@type='CMD_Element'])" ></xsl:variable>
     119        <xsl:variable name="count_distinct_datcats" select="count(distinct-values($cmd-terms//Term[@type='CMD_Element']/@datcat[not(.='')]))" ></xsl:variable>
     120        <xsl:variable name="count_distinct_components" select="count(distinct-values($cmd-terms//Term[@type='CMD_Component'][not(@parent='')]/@id))" ></xsl:variable>
     121        <xsl:variable name="count_standalone_components" select="count(distinct-values($cmd-terms//Term[@type='CMD_Component'][not(@parent='')]/@id[not(contains(.,'#'))]))" ></xsl:variable>
     122        <xsl:variable name="count_distinct_elems" select="count(distinct-values($cmd-terms//Term[@type='CMD_Element']/@id))" ></xsl:variable>
     123        <xsl:variable name="count_components_datcat" select="count(distinct-values($cmd-terms//Term[@type='CMD_Component'][@datcat[not(.='')]]/@id))" ></xsl:variable> 
     124       
     125        <table>
     126                <tbody>
     127                        <tr><td>distinct components</td><td align="right"><xsl:value-of select="$count_distinct_components"/></td></tr>
     128                        <tr><td>distinct standalone components</td><td align="right"><xsl:value-of select="$count_standalone_components"/></td></tr>
     129                        <tr><td>distinct elements</td><td align="right"><xsl:value-of select="$count_distinct_elems"/></td></tr>       
     130                        <tr><td>elements with datcats </td><td align="right"><xsl:value-of select="format-number(count($cmd-terms//Term[@type='CMD_Element'][not(@datcat='')]) div $count_elems, '0.00 %')"/></td></tr>
     131                        <tr><td>components with datcats</td><td align="right"><xsl:value-of select="$count_components_datcat"/></td></tr>
     132                </tbody>
     133        </table>
     134       
     135        <xsl:variable name="cmd-overall">                               
     136                <tr><td>Overall</td>                                                                   
     137                        <td align="right">
     138                                <xsl:value-of select="$count_distinct_components"/>/
     139                                <xsl:value-of select="count($cmd-terms//Term[@type='CMD_Component'])"/>
     140                        </td>
     141                        <td align="right">              <xsl:value-of select="$count_distinct_elems"/>/
     142                                <xsl:value-of select="$count_elems"/></td>
     143                        <td align="right"><xsl:value-of select="$count_distinct_datcats"/></td>
     144                        <td align="right"><xsl:value-of select="count($cmd-terms//Term[@type='CMD_Element']/@datcat[not(.='')])"/></td>
     145                        <td align="right"><xsl:value-of select="count($cmd-terms//Term[@type='CMD_Element'][@datcat=''])"/></td>                       
     146                        <td align="right"><xsl:value-of select="format-number(count($cmd-terms//Term[@type='CMD_Element'][@datcat='']) div $count_elems, '0.00 %')"/></td>
     147                </tr>           
     148        </xsl:variable>
     149       
     150       
     151        <table>
     152                <caption>Profiles |<xsl:value-of select="count($cmd-terms//Termset)" />|</caption>
    112153            <thead><tr><th>name</th><th>|comp|</th><th>|elems|</th><th colspan="2">|distinct datcat|</th><th colspan="2">|elems w/o datcat|</th></tr></thead>
    113154                <tbody>         
    114                     <xsl:for-each select="$cmd_terms//Termset" >                         
     155                        <xsl:copy-of select="$cmd-overall" />
     156                    <xsl:for-each select="$cmd-terms//Termset" >                         
    115157                                        <xsl:sort select="name" order="ascending"/>
    116158                        <xsl:variable name="count_elems" select="count(./Term[@type='CMD_Element'])" ></xsl:variable>
     
    129171        </table>
    130172
     173        <table>
     174                <caption>Components with DatCats</caption>
     175                <thead><tr><th>comp-name</th><th colspan="3">datcat</th><th>count</th><th>profiles</th></tr></thead>
     176                <tbody>                 
     177                        <xsl:for-each-group select="$cmd-terms//Term[@type='CMD_Component'][@datcat[not(.='')]]" group-by="@id">                               
     178                                        <xsl:sort select="parent::Termset/@name" />                             
     179                                <tr>                                   
     180<!--                                    <td><xsl:value-of select="@id"/></td>-->
     181                                        <td><xsl:value-of select="@name"/></td>
     182                                        <td><xsl:value-of select="my:shortURL(@datcat)"/></td>
     183                                        <td><xsl:value-of select="$dcr-terms//Concept[@id=current()/@datcat]/Term[@type='mnemonic']" /></td>
     184                                        <td><xsl:value-of select="$dcr-terms//Concept[@id=current()/@datcat]/@datcat-type" /></td>                                     
     185                                        <td><xsl:value-of select="count(current-group())"/></td>
     186                                        <td><xsl:value-of select="count(current-group()/parent::Termset)"/> (<xsl:value-of select="parent::Termset/@name"/>)</td>
     187                                </tr>
     188                        </xsl:for-each-group>
     189                </tbody>
     190        </table>
    131191</xsl:template>
     192       
     193<xsl:template name="ambigue-elems">     
     194        <table>
     195                <caption>Ambigue elements</caption>
     196                <thead><tr><th>comp-name</th><th colspan="3">datcat</th><th>count</th><th>profiles</th></tr></thead>
     197                <tbody>                 
     198                        <xsl:for-each-group select="$cmd-terms//Term" group-by="lower-case(@name)">                             
     199<!--                            <xsl:sort select="lower-case(@name)" />                         -->
     200                                <xsl:sort select="count(distinct-values(current-group()/@datcat))" order="descending" data-type="number"></xsl:sort>
     201                                <tr>                                   
     202                                        <!--                                    <td><xsl:value-of select="@id"/></td>-->
     203                                        <td><xsl:value-of select="@name"/></td>
     204                                        <td><xsl:value-of select="count(distinct-values(current-group()/@datcat))"/></td>                                       
     205                                        <td><xsl:value-of select="count(distinct-values(current-group()/@id))"/></td>
     206                                </tr>
     207                        </xsl:for-each-group>
     208                </tbody>
     209        </table>
     210</xsl:template>
     211       
    132212        <!--
    133213<xsl:template name="list-terms">
Note: See TracChangeset for help on using the changeset viewer.