[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Streamability of rounding effects

Subject: Streamability of rounding effects
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 11 Jun 2017 21:40:49 -0000
 Streamability of rounding effects
Idle relaxation after XML London. Here is some random text generated using the
vocabulary of the XSLT 3.0 spec:

<quote>
This  means cases where a parameter to match certain function are copied node
matches replace all the pattern is no such a valid relative to declarations in
which is used to the expression. That the right lies the instruction may also
be. If the same. If no schema for extract the way in the function. The
functions and result tree. A and others are considered as the context of the p
element is changed to variables in an adverse effect because both operands as
a dynamic. Static. Type. Annotation the component of where the functions
references that a stylesheet then and elements and. CIT is no and then and
fails to then is any even though this is an output definitions and stylesheets
that is not a using its sweep of the types defined in an. EQName that has a as
the and if there are given knowledge of the. An optional as a. In this
specification defines the rules require implementations are described in
static error using see. The usage is. Where the node in memory can however
share the applicable to handle but which the required type is not necessarily.
Rule. Suppose that facilities also. Streamability of rounding effects.
</quote>

Probably makes about as much sense to the average reader as the original...

Here's the code (try it on a document of your choice...). It builds a data
structure holding all pairs of adjacent words and then selects the successor
of each word from these pairs at random.

<xsl:template match="/">
        <xsl:variable name="words"
                      as="xs:string*"
                      select="//text()!tokenize(., '\s+')[matches(.,
'^[a-zA-Z]+$')]"/>
        <xsl:variable name="histogram" as="map(*)">
            <xsl:iterate select="tail($words)">
                <xsl:param name="previous" select="head($words)"/>
                <xsl:param name="histogram" select="map{}"/>
                <xsl:on-completion select="$histogram"/>
                <xsl:variable name="new-entry" select="if
(map:contains($histogram, $previous)) then (map:get($histogram, $previous), .)
else (.)"/>
                <xsl:next-iteration>
                    <xsl:with-param name="previous" select="."/>
                    <xsl:with-param name="histogram"
select="map:put($histogram, $previous, $new-entry)"/>
                </xsl:next-iteration>
            </xsl:iterate>
        </xsl:variable>
        <p>
            <xsl:text>This </xsl:text>
            <xsl:iterate select="1 to 200">
                <xsl:param name="word" select="'This'"/>
                <xsl:variable name="options" select="map:get($histogram,
$word), 'the'"/>
                <xsl:variable name="next"
select="(random-number-generator(.)?permute($options))[1]"/>
                <xsl:value-of select="(if (matches($next, '^[A-Z]')) then '. '
else ' ') || $next"/>
                <xsl:next-iteration>
                    <xsl:with-param name="word" select="$next"/>
                </xsl:next-iteration>
            </xsl:iterate>
            <xsl:text>.</xsl:text>
        </p>
    </xsl:template>

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.