xsl-list
[Top] [All Lists]

Re: [xsl] Text based stage play scripts to XML

2011-01-24 07:32:29
Let me explain another way:
The sound a dog makes is woof and the sound a cat makes is bark.

Say I am looking for animals in the above example, then I can search
for anything that comes between "the sound" and "makes", but I don't
know what lies between those two patterns, so I cannot search for dog
or cat. What I need to do is to find something lying between two
regular expressions matchin "the sound" and "makes" and wrap that
something in an <animal> tag.

<xsl:variable name="regex" as="xs:string">(sound)(.*?)(makes)</xsl:variable>
<xsl:analyze-string select="." regex="{$regex}">
  <xsl:matching-substring>

        <xsl:value-of select="regex-group(1)"/>
        <wrapped><xsl:value-of select="regex-group(2)"/></wrapped>
    <xsl:value-of select="regex-group(3)"/>
  </xsl:matching-substring>
  <xsl:non-matching-substring>
        <xsl:value-of select="."/>
  </xsl:non-matching-substring> 
</xsl:analyze-string>


-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
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>
--~--