xsl-list
[Top] [All Lists]

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

2011-04-08 04:16:26
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(_at_)dpawson(_dot_)co(_dot_)uk> wrote:
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>
--~--



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