File: summarize.xsl

package info (click to toggle)
libxslt 1.1.43-0.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,188 kB
  • sloc: xml: 66,120; ansic: 36,035; sh: 4,582; python: 3,206; makefile: 1,378; javascript: 470; perl: 34
file content (33 lines) | stat: -rw-r--r-- 926 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output encoding="utf-8"/>
<xsl:template match="/">
  <summary>
    <total>
      <xsl:value-of select="count(//node())"/> nodes,
      <xsl:value-of select="count(//*)"/> elements,
      <xsl:value-of select="count(//text())"/> text nodes,
      <xsl:value-of select="count(//*/@*)"/> attributes.
    </total>

    <xsl:apply-templates/>

  </summary>

</xsl:template>


<xsl:template match="/xsl:stylesheet|/xsl:transform">
  <analysis>
    <description>Recognized as xslt stylesheet:</description>
    <stats>
      <xsl:value-of select="count(xsl:template)"/> templates,
      <xsl:value-of select="count(descendant::xsl:variable)"/> variables,
      <xsl:value-of select="count(descendant::xsl:value-of)"/> value-of's,
    </stats>
  </analysis>
</xsl:template>

<xsl:template match="text()"/>

</xsl:stylesheet>