This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
processing-instruction()
- From: "Jiang, Peiyun" <Peiyun dot Jiang at nrc dot ca>
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 31 Jul 2002 10:05:25 -0400
- Subject: [xsl] processing-instruction()
- Reply-to: xsl-list at lists dot mulberrytech dot com
What's wrong?
I'm trying to match processing instructions. I want to get rid of the <?Eqn
TeX input="\hskip -32pt\hbox to32pt{[6]}"?> part in the source file.
Source file: <equation> and <inlineequation> mixed with text and markup.
XSLT: I match every <equation> and <inlineequation> and copy recursively any
attributes and elements. I match processing instructions and remove them all
(but I want to keep some of them later).
output: no processing instructions removed.
Am I doing the right thing to match the processing instructions? See
stylesheet below.
Thanks.
Peiyun
-----------------------
source: equations mixed with text.
<doc>Text before equations.
<inlineequation id="il1"><?Pub Eqn?>
<f><rm><a><ac>CV</ac><ac>&d4;</ac></a><fen lp="par"><rm><g>q</g></rm>
<rp post="par"/></fen></rm></f>
</inlineequation>
More text and other <tags></tags> more text.
<equation id="eqn006"><?Pub Eqn?>
<fd><fl><rm><?Eqn TeX input="\hskip -32pt\hbox to32pt{[6]}"?></rm>
<rm>Prob<fen lp="par"><mit>m<inf>ij</inf>&vbm0;R<inf>j</inf><rm>,</rm>
<g>p</g><inf>ij</inf></mit><rp post="par"/></fen>=<fen lp="par"><stk>
<lyr><mit>Rj</mit></lyr><lyr><it><mit>m<inf>ij</inf></mit></it></lyr></stk>
<rp post="par"/></fen><g>p</g><sup><mit>m<inf>ij</inf></mit></sup><inf>
<mit>ij</mit></inf></rm><fen lp="par">1-<g>p</g><inf>ij</inf><rp
post="par"/></fen>
<sup>R<inf>j</inf>-m<inf>ij</inf></sup></fl></fd>
</equation>
<moretext></moretext> more text.
</doc>
-----------------------
output: equations without text.
<equations>
<inlineequation id="il1"><?Pub Eqn?>
<f><rm><a><ac>CV</ac><ac>&d4;</ac></a><fen lp="par"><rm><g>q</g></rm>
<rp post="par"/></fen></rm></f>
</inlineequation>
<equation id="eqn006"><?Pub Eqn?>
<fd><fl><rm><?Eqn TeX input="\hskip -32pt\hbox to32pt{[6]}"?></rm>
<rm>Prob<fen lp="par"><mit>m<inf>ij</inf>&vbm0;R<inf>j</inf><rm>,</rm>
<g>p</g><inf>ij</inf></mit><rp post="par"/></fen>=<fen lp="par"><stk>
<lyr><mit>Rj</mit></lyr><lyr><it><mit>m<inf>ij</inf></mit></it></lyr></stk>
<rp post="par"/></fen><g>p</g><sup><mit>m<inf>ij</inf></mit></sup><inf>
<mit>ij</mit></inf></rm><fen lp="par">1-<g>p</g><inf>ij</inf><rp
post="par"/></fen>
<sup>R<inf>j</inf>-m<inf>ij</inf></sup></fl></fd>
</equation>
</equations>
-----------------------
stylesheet:
<xsl:template match="/">
<equations>
<xsl:for-each select="//equation|//inlineequation" >
<xsl:copy>
<xsl:copy-of select="@*" />
<xsl:apply-templates select="node()" />
<xsl:apply-templates select="processing-instruction('Eqn')" />
<xsl:apply-templates select="processing-instruction('Pub')" />
</xsl:copy>
</xsl:for-each>
</equations>
</xsl:template>
<xsl:template match="node()">
<xsl:copy>
<xsl:copy-of select="@*" />
<xsl:apply-templates select="node()" />
<xsl:apply-templates select="processing-instruction('Eqn')" />
<xsl:apply-templates select="processing-instruction('Pub')" />
</xsl:copy>
</xsl:template>
<xsl:template match="processing-instruction('Eqn')">
<!-- do nothing now -->
</xsl:template>
<xsl:template match="processing-instruction('Pub')">
<!-- do nothing now, but want to keep -->
</xsl:template>
-----------------------
desired output: (inline)equations only and without <?Eqn ...?>
<equations>
<inlineequation id="il1"><?Pub Eqn?>
<f><rm><a><ac>CV</ac><ac>&d4;</ac></a><fen lp="par"><rm><g>q</g></rm>
<rp post="par"/></fen></rm></f>
</inlineequation>
<equation id="eqn006"><?Pub Eqn?>
<fd><fl><rm></rm>
<rm>Prob<fen lp="par"><mit>m<inf>ij</inf>&vbm0;R<inf>j</inf><rm>,</rm>
<g>p</g><inf>ij</inf></mit><rp post="par"/></fen>=<fen lp="par"><stk>
<lyr><mit>Rj</mit></lyr><lyr><it><mit>m<inf>ij</inf></mit></it></lyr></stk>
<rp post="par"/></fen><g>p</g><sup><mit>m<inf>ij</inf></mit></sup><inf>
<mit>ij</mit></inf></rm><fen lp="par">1-<g>p</g><inf>ij</inf><rp
post="par"/></fen>
<sup>R<inf>j</inf>-m<inf>ij</inf></sup></fl></fd>
</equation>
</equations>
-----------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list