|
Subject: Re: [xsl] Processing two documents, which order? From: Dave Pawson <davep@xxxxxxxxxxxxx> Date: Fri, 8 Apr 2011 09:52:25 +0100 |
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,, Wolfgang Laun |
| Re: [xsl] Processing two documents,, Wolfgang Laun | Date | Re: [xsl] Processing two documents,, Wolfgang Laun |
| Month |