|
Subject: Re: [xsl] Processing two documents, which order? From: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> Date: Fri, 8 Apr 2011 11:16:09 +0200 |
I've spotted a few snags:
running this with property=bee on
<p>a bee on a bee-line to a frisbee is not a bee</p>
produces
<p>a <property>bee</property> on a <property>bee</property> line to
a fris<property>bee</property> is not a bee</p>
- "bee" in "bee-line" is marked up and the hyphen is lost
- The "bee" ending of "friesbee" is marked up
- The trailing "bee" is not marked up.
-W
On 8 April 2011 10:52, Dave Pawson <davep@xxxxxxxxxxxxx> wrote:
> On Fri, 8 Apr 2011 08:17:15 +0100
> Dave Pawson <davep@xxxxxxxxxxxxx> wrote:
>
> Mixed solution.
>
> Bash script
>
>
> source dpFunctions.sh
> cp sourc.xml op.xml
> while read line
> do
> echo $line
> saxon op.xml markUpProperties.xsl op1.xml property=$line
> ckexit
> cp op1.xml op.xml
> done
>
> where saxon is another script to call up Saxon xslt 2 processor.
>
> Then xslt as
>
> <xsl:param name="property" select="'nil'"/>
> <xsl:template match="/">
> <xsl:if test="$property='nil'">
> <xsl:message terminate='yes'>
> Parameter property not set, Quitting
> </xsl:message>
> </xsl:if>
>
>
> <xsl:apply-templates>
> <xsl:with-param name="property" select="$property"/>
> </xsl:apply-templates>
>
> </xsl:template>
>
>
> <xsl:template match="text()">
> <xsl:param name="property" as="xs:string"/>
> <xsl:analyze-string select="." regex="({$property})[\s\p{{P}}]">
> <xsl:matching-substring>
> <xsl:message>match on [<xsl:value-of
> select='regex-group(1)'/>]</xsl:message> <property><xsl:value-of
> select="regex-group(1)"/></property><xsl:text> </xsl:text>
> </xsl:matching-substring> <xsl:non-matching-substring>
> <xsl:value-of select="."/>
> </xsl:non-matching-substring>
> </xsl:analyze-string>
> </xsl:template>
>
>
> <xsl:template match="*">
> <xsl:copy>
> <xsl:apply-templates select="@*" />
> <xsl:apply-templates >
> <xsl:with-param name="property" select="$property"/>
> </xsl:apply-templates>
> </xsl:copy>
> </xsl:template>
>
>
> <xsl:template match="@*">
> <xsl:copy-of select="." />
> </xsl:template>
>
>
>
>
>
> --
>
> regards
>
> --
> Dave Pawson
> XSLT XSL-FO FAQ.
> http://www.dpawson.co.uk
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Processing two documents,, Dave Pawson | Thread | Re: [xsl] Processing two documents,, Dave Pawson |
| Re: [xsl] Processing two documents,, Dave Pawson | Date | Re: [xsl] Processing two documents,, Dave Pawson |
| Month |