You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by jamesl <ja...@rascalsoftware.com> on 2003/04/10 16:57:23 UTC

Extra space after cross-reference

I am including a template for cross-references in my stylesheet. The template 
has the intended result with one exception: it inserts a space when the text 
following the cross-reference is a period.

Here is what the output looks like:
     "For more information, see Getting Started on page 2 ."

I want the output to be
     "For more information, see Getting Started on page 2."

Any ideas on how to fix this would be appreciated.


************************************************
SOURCE FO

<xsl:template match="a">
        <xsl:element name="fo:inline">

            <xsl:element name="fo:basic-link">
                <xsl:attribute name="internal-destination">
                    <xsl:value-of select="@idref" />                
                </xsl:attribute>                
                
                <xsl:value-of select="document(@idref)/cnt-elm/title"/>
                
                <xsl:text>
                    on page 
                </xsl:text>

                <xsl:element name="fo:page-number-citation">
                    <xsl:attribute name="ref-id">
                        <xsl:value-of select="@idref" />    
                    </xsl:attribute>    
                </xsl:element>

            </xsl:element>

        </xsl:element>
    </xsl:template> 



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org


Re: Extra space after cross-reference

Posted by Clay Leeds <cl...@medata.com>.
James,

This is just a guess, but perhaps you've included white-space where
there doesn't need to be. white-space can be a bit tricky to manage.
Although excess white-space is ignored, an extra [carriage-return] or
[tab] in the wrong place may not be ignored (particularly if there's no
white-space around it may produce unexpected (or unwanted) results.

I notice that you've got a couple of extra [carriage-returns] between
some elements. Try removing them. If that doesn't work, try putting all
of the template on one line:

<xsl:template match="a"><xsl:element name="fo:inline"><xsl:element
name="fo:basic-link"><xsl:attribute
name="internal-destination"><xsl:value-of select="@idref"
/></xsl:attribute><xsl:value-of
select="document(@idref)/cnt-elm/title"/><xsl:text>on page
</xsl:text><xsl:element name="fo:page-number-citation"><xsl:attribute
name="ref-id"><xsl:value-of select="@idref"
/></xsl:attribute></xsl:element></xsl:element></xsl:element></xsl:template>

I'm guessing this'll solve it. Also, I don't see the "." anywhere. Since
this template is being called from somewhere else, it might help to have
that portion of your XSL-FL as well.

Good luck!

Web Maestro Clay

jamesl wrote:
> I am including a template for cross-references in my stylesheet. The template 
> has the intended result with one exception: it inserts a space when the text 
> following the cross-reference is a period.
> 
> Here is what the output looks like:
>      "For more information, see Getting Started on page 2 ."
> 
> I want the output to be
>      "For more information, see Getting Started on page 2."
> 
> Any ideas on how to fix this would be appreciated.
> 
> 
> ************************************************
> SOURCE FO
> 
> <xsl:template match="a">
>         <xsl:element name="fo:inline">
> 
>             <xsl:element name="fo:basic-link">
>                 <xsl:attribute name="internal-destination">
>                     <xsl:value-of select="@idref" />                
>                 </xsl:attribute>                
>                 
>                 <xsl:value-of select="document(@idref)/cnt-elm/title"/>
>                 
>                 <xsl:text>
>                     on page 
>                 </xsl:text>
> 
>                 <xsl:element name="fo:page-number-citation">
>                     <xsl:attribute name="ref-id">
>                         <xsl:value-of select="@idref" />    
>                     </xsl:attribute>    
>                 </xsl:element>
> 
>             </xsl:element>
> 
>         </xsl:element>
>     </xsl:template> 


-- 
Clay Leeds - cleeds@medata.com
Web Developer - Medata, Inc. - http://www.medata.com
PGP Public Key: https://mail.medata.com/pgp/cleeds.asc


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org