Re: [xsl] why not match text()? (fork from "Novice Question - matching entire text children")

Subject: Re: [xsl] why not match text()? (fork from "Novice Question - matching entire text children")
From: "Imsieke, Gerrit, le-tex" <gerrit.imsieke@xxxxxxxxx>
Date: Tue, 21 Dec 2010 02:28:46 +0100
On 21.12.2010 01:21, Imsieke, Gerrit, le-tex wrote:

find . -name \*xsl | xargs grep -ch 'text()' | sed -e 's/^/.+/' | bc |
tail -1

Oops, should have used collection() with recurse=yes for this. Eat your own (or rather, Dr. Kays excellent) dogfood. The advantage of using collection() is quite clear: you can restrict the counting to text() in

Should have said more precisely: the advantage of XSLT-based counting (where XSLT means: XSLT 2.0 with its collections) is clear.

After cleanup, the result of

<xsl:stylesheet version="3.0"
xmlns:xsl = "";
xmlns:xs = "";>
<!-- 3.0 only because of round($arg, $precision) -->
<xsl:output method="text"/>
<xsl:template name="main">
<xsl:variable name="xsldocs" select="collection('file:///c:/cygwin/home/gerrit?select=[_a-zA-Z0-9]*.xsl;recurse=yes')" />
<xsl:variable name="file-count" select="count($xsldocs)" as="xs:double" />
<xsl:variable name="text-in-pattern-count" select="count($xsldocs/*/xsl:template[matches(@match, 'text\(\)')])" as="xs:double" />
Files: <xsl:value-of select="$file-count" />
Matches: <xsl:value-of select="$text-in-pattern-count" />
Average: <xsl:value-of select="round($text-in-pattern-count div $file-count, 2)" />


    Files: 971
    Matches: 971
    Average: 1

The identical value of 971 for the matches seems to be purely accidental. When looking for 'node()' instead of 'text()', match count is 644; when looking for 'br', it is 187.

There were all kinds of problems during cleanup, ranging from unresolved svn conflicts over unterminated elements (= abandoned work in progress), illegal UTF-8 characters to symlinks. We need to think about well-formedness checks on the file system level.
(These days one has to add: If mankind survives, i.e., unless JSON gains Complete World Domination.)


patterns. But to my embarrassment, some of the stylesheet dont seem to
be well-formed. Have to fix this first.

-- Gerrit Imsieke Geschdftsf|hrer / Managing Director le-tex publishing services GmbH Weissenfelser Str. 84, 04229 Leipzig, Germany Phone +49 341 355356 110, Fax +49 341 355356 510 gerrit.imsieke@xxxxxxxxx,

Registergericht / Commercial Register: Amtsgericht Leipzig
Registernummer / Registration Number: HRB 24930

Geschdftsf|hrer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard Vvckler

Current Thread