xsl-list
[Top] [All Lists]

RE: Catch ALL | Failed template rule

2005-03-24 06:42:16
Hi Karl,

Sorry if this is way off target, but I have just found a solution for a
similar problem that may help you.

This is in XSL:FO, and may not be of any use to you, but you may be able
to adapt it.

Basically I have a tag that searches for a glossary entry. When it finds
it, it creates a link to the glossary entry. If there is no entry, it
creates a broken link and spews forth some red text so I can find it
easily.

    <xsl:template match="glossarytt">
        <xsl:variable name="items" select="key('glossaryitems-by-name',
            @name)"/>
  
            <xsl:choose>
                <xsl:when test="$items">
                    <xsl:for-each select="$items">
                        <xsl:variable name="href" select="@name"/>
                        <fo:inline text-decoration="underline"
color="green"
                            font-weight="bold">
                            <fo:basic-link
internal-destination="{$href}">
                                <xsl:value-of select="term"/>
                            </fo:basic-link>
                        </fo:inline>
                    </xsl:for-each>
                </xsl:when>
                <xsl:otherwise><fo:basic-link
internal-destination="BrokenGlossaryTT">
                    <fo:inline color="red">Broken glossarytt:
<xsl:value-of
                        select="@name"/></fo:inline></fo:basic-link>
                </xsl:otherwise>
                </xsl:choose>
    </xsl:template>

I don't know if this will quite cover what you want, but it certainly
works for me!

(Thanks to J.Pietschmann)

Nicola

Nicola Harlow 
Technical Author
The Program Management Group plc
tel:           +44 (0) 1937 547 171
direct:      +44 (0) 1937 547 165
fax:         +44 (0) 1937 547 154
mail:     nicola(_dot_)harlow(_at_)pm-group(_dot_)com
web:        http://www.pm-group.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>
--~--