I couldn't find any reference to this issue in the archive. If it has been
addressed before, please forgive.
I have an issue with MS Word outputting duplicate links in xml, breaking up the
text. I need to group identical links and output one link while leaving all
other nodes/text the same. Here is an example of the input xml:
<paragraphs>
<!-- Have students practice [the activity in 9.01].-->
<p>Have students practice
<internalLink>
<target>Update_Link [7] [act_1]</target>the activity</internalLink>
<internalLink>
<target>Update_Link [7] [act_1]</target> in 9.01</internalLink>.</p>
<!-- Have students practive [the activity in 9.02]. -->
<p>Have students practice <internalLink>
<target>Update_Link [7] [act_2]</target>the activity</internalLink>
<internalLink>
<target>Update_Link [7] [act_2]</target> in 9.02</internalLink>.</p>
</paragraphs>
I am limited to xslt 1.0. The following 1.0 sheet does everything I need it to
except it drops the final period.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- duplicate link processor -->
<xsl:output method="xml" indent="yes"/>
<xsl:key name="link_target" match="internalLink" use="target" />
<xsl:template match="paragraphs">
<xsl:for-each select="p">
<p><xsl:apply-templates select="./text()[1]"/><internalLink>
<target><xsl:apply-templates select="internalLink[count(. |
key('link_target', target)[1]) = 1]/target"/></target>
<xsl:apply-templates
select="./internalLink/text()"/></internalLink></p></xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Here is the output using Oxygen/Saxon 6.5.5. Everything is good except for the
final period.
<?xml version="1.0" encoding="utf-8"?>
<p>Have students practice
<internalLink>
<target>Update_Link [7] [act_1]</target>
the activity
in 9.01</internalLink>
</p>
<p>Have students practice <internalLink>
<target>Update_Link [7] [act_2]</target>
the activity
in 9.02</internalLink>
</p>
Any pointers would be most appreciated.
Terry
--~------------------------------------------------------------------
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>
--~--