Re: [xsl] Processing two documents, which order?

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