xsl-list
[Top] [All Lists]

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

2010-12-20 19:29:09


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. Kay’s 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 = "http://www.w3.org/1999/XSL/Transform";
  xmlns:xs  = "http://www.w3.org/2001/XMLSchema";>
<!-- 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)" />
  </xsl:template>
</xsl:stylesheet>

is:

    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.)

Gerrit

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

--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--
Gerrit Imsieke
Geschäftsfü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(_dot_)imsieke(_at_)le-tex(_dot_)de, http://www.le-tex.de

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

Geschäftsführer: Gerrit Imsieke, Svea Jelonek,
Thomas Schmidt, Dr. Reinhard Vöckler

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>