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

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