xsl-list
[Top] [All Lists]

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

2011-04-08 03:52:36
On Fri, 8 Apr 2011 08:17:15 +0100
Dave Pawson <davep(_at_)dpawson(_dot_)co(_dot_)uk> 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

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