I was successful at getting this modification to work, for what it's worth. Borrowing/inspired by your code in a somewhat related topic here: topic=1127.msg3605
I modified the code, and then inserted it into my links.xsl file as follows, adding the part shown here in bold:
<xsl:template name="insertPageNumberCitation">
<xsl:param name="isTitleEmpty"/>
<xsl:param name="destination"/>
<xsl:param name="element"/>
<xsl:choose>
<xsl:when test="not($element) or ($destination = '')"/>
<xsl:when test="$isTitleEmpty">
<fo:inline>
<xsl:call-template name="insertVariable">
<xsl:with-param name="theVariableID" select="'Page'"/>
<xsl:with-param name="theParameters">
<pagenum>
<fo:inline>
<fo:page-number-citation ref-id="{$destination}"/>
</fo:inline>
</pagenum>
</xsl:with-param>
</xsl:call-template>
</fo:inline>
</xsl:when>
<!-- Omits "on Page XX" inserted after cross reference link text -->
<xsl:when test="@outputclass='noPageCitation'">
<fo:inline>
<xsl:call-template name="insertVariable">
<!--<xsl:with-param name="theVariableID" select="'On the page'"/>-->
<xsl:with-param name="theParameters">
<pagenum>
<fo:inline>
<fo:page-number-citation ref-id="{$destination}"/>
</fo:inline>
</pagenum>
</xsl:with-param>
</xsl:call-template>
</fo:inline>
</xsl:when>
<!-- Omits "on Page XX" inserted after cross reference link text -->
<xsl:otherwise>
<fo:inline>
<xsl:call-template name="insertVariable">
<xsl:with-param name="theVariableID" select="'On the page'"/>
<xsl:with-param name="theParameters">
<pagenum>
<fo:inline>
<fo:page-number-citation ref-id="{$destination}"/>
</fo:inline>
</pagenum>
</xsl:with-param>
</xsl:call-template>
</fo:inline>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Then in XMetal I just typed "noPageCitation" into the outputclass attribute field of my link, and bingo. No more "on Page XX" after any link that I mark with that outputclass.
I also went through everything it takes to omit page citations from links entirely, before I figured the above out.
If that might be interesting for anyone, that amounted to, in a condensed description:
-Deleting the section in the template above starting with <xsl:otherwise>
-Adding the entire modified "insertPageNumberCitation" template to the custom.xsl file (actually creating an xm file containing the template code then referencing it in the custom.xsl file)
-Making sure the appropriate line was un-commented in the catalog.xml file,
-- and that was it.
With that modification, no links at all had "on page XX" after them. However the more selective toggling of it is the one I really wanted, so I'm thrilled that the above works.
Thanks again.