← Prev in month ← Prev in thread
Next in thread → Next in month →

Antwort: Re: [docbook-apps] Antwort: Re: [docbook-apps] DocBook 5 -different color for hyperlinks in PDF output

From
benno.wolfAgi-de.com
Date
2009-12-17T17:28:02+00:00
ID
Thread
Antwort: Re: [docbook-apps] Antwort: Re: [docbook-apps] DocBook 5 -different color for hyperlinks in PDF output
Hello Johannes, hello Scott,

many thanks for your quick replies!

It turned out that somehow the linking-element

<link xlink:href=""someURL">hotlink</link>

is internally converted to ulink, that's
what the debugging-code from Johannes told me.

So I modified my customization layer
like that:

        <xsl:attribute-set
name="xref.properties">

                <xsl:attribute
name="color">

                
       <!--<xsl:message>

                
               <xsl:value-of
select="concat('*** ',local-name(.))"/>"

                
       </xsl:message>

                
       <xsl:for-each select="@*">

                
               <xsl:message>

                
               
       <xsl:value-of select="concat('###
',namespace-uri(.),' - ',local-name(.))"/>

                
               </xsl:message>

                
       </xsl:for-each>-->

                
       <xsl:choose>

                
               <xsl:when
test="self::link and @linkend">yellow</xsl:when>

                
               <xsl:when
test="self::ulink">green</xsl:when>

                
               <xsl:when
test="self::xref and @linkend">orange</xsl:when>

                
               <xsl:when
test="self::glossseealso and @otherterm">grey</xsl:when>

                
               <xsl:otherwise>blue</xsl:otherwise>

                
       </xsl:choose>

                </xsl:attribute>

        </xsl:attribute-set>

and it worked!

Now, of course I would love to know:
why?

Anyway, many thanks for your help,

cheers,

Benno

Johannes Katelaan <>

17.12.2009 17:06

An



Kopie



Thema

Re: [docbook-apps] Antwort: Re: [docbook-apps]
DocBook 5 - different color for hyperlinks in PDF output

Benno,

that's hard to say.

What about adding debug code like this to your xsl:attribute element:

            <xsl:message>

                <xsl:value-of
select="concat('*** ',local-name(.))"/>      
         

            </xsl:message>

            <xsl:for-each select="@*">

                <xsl:message>

                    <xsl:value-of
select="concat('### ',namespace-uri(.),' - ',local-name(.))"/>

                </xsl:message>

            </xsl:for-each>

This should give you sufficient information to diagnose why it doesn't
work as expected.

Regards

Johannes


schrieb: 

I am sorry, but I tried that in every possible constellation and with every
xpath-expression known to man (me ;-) and it seems that every element and
attribute can be resolved with the exeption of exactly the xlink:href-attribute.

Have a look at this: 

<!-- macht die externen links in pdfs blau, xrefs grün, see also links
in glossaries grau -->

   <xsl:attribute-set
name="xref.properties">

       <xsl:attribute
name="color">

           <xsl:choose>

                   <xsl:when
test="self::link and @linkend">grey</xsl:when>

                   <xsl:when
test="self::link and @xlink:href">blue</xsl:when>

                   <xsl:when
test="self::xref and @linkend">green</xsl:when>

                   <xsl:when
test="self::glossseealso and @otherterm">grey</xsl:when>

               <xsl:otherwise>black</xsl:otherwise>

           </xsl:choose>

       </xsl:attribute>

   </xsl:attribute-set>

What am I missing? Is it a namespace-problem with xlink: ? I put the namespace
on top of my customization layer: 

<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

       version="1.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"

       xmlns:fo="http://www.w3.org/1999/XSL/Format"

       xmlns:xlink="http://www.w3.org/1999/xlink"

       exclude-result-prefixes="#default">

What is wrong? 

Regards, 

Benno

Johannes Katelaan <>

04.12.2009 10:28

An

Bob Stayton <>

Kopie

<>

Thema

Re: [docbook-apps] DocBook 5 - different
color for hyperlinks in PDF output

Yes, correct. So the DocBook-5-Version would be as follows:

   <xsl:attribute-set name="xref.properties">

       <xsl:attribute name="color">

           <xsl:choose>

               <xsl:when test="self::d:link
and @xlink:href">blue</xsl:when>

               <xsl:otherwise>inherit</xsl:otherwise>

           </xsl:choose>

       </xsl:attribute>

       <xsl:attribute name="text-decoration">

           <xsl:choose>

               <xsl:when test="self::d:link
and @xlink:href">underline</xsl:when>

               <xsl:otherwise>inherit</xsl:otherwise>

           </xsl:choose>

       </xsl:attribute>

   </xsl:attribute-set>    

Thanks!

Johannes

Am 03.12.2009 um 18:02 schrieb Bob Stayton:

> Yes, xref.properties usually affects all links.  However, an
xsl:choose statement inside the attribute body can be more selective, as
the example in the referenced documentation shows.

> 

> Bob Stayton

> Sagehill Enterprises

> 

> 

> 

> ----- Original Message ----- From: "Johannes Katelaan" <>

> To: "Bob Stayton" <>

> Cc: <>

> Sent: Thursday, December 03, 2009 8:58 AM

> Subject: Re: [docbook-apps] DocBook 5 - different color for hyperlinks
in PDF output

> 

> 

> Hi Bob,

> 

> it's intended only for external links. I'm creating internal links
using olink. These must not be affected by this customization. So I think
I may not use xref.properties. Is this correct?

> 

> Regards

> 

> Johannes

> 

> Am 03.12.2009 um 17:47 schrieb Bob Stayton:

> 

>> Hi,

>> The attribute-set named 'xref.properties' is available to add
properties like color to links.  See this reference:

>> 

>> http://www.sagehill.net/docbookxsl/CustomXrefs.html#CustomXrefStyle

>> 

>> However, it isn't clear from your message if you indent this for
all links or only links to external documents.

>> 

>> Bob Stayton

>> Sagehill Enterprises

>> 

>> 

>> 

>> ----- Original Message ----- From: "Johannes Katelaan"
<>

>> To: <>

>> Sent: Thursday, December 03, 2009 5:47 AM

>> Subject: [docbook-apps] DocBook 5 - different color for hyperlinks
in PDF output

>> 

>> 

>>> Hi,

>>> 

>>> how can I change the color of hyperlinks created with

>>> <link xlink:href=""some" url">text I want in
different color</link>

>>> 

>>> Johannes

>>> 

>>> 

>>> 

>>> ---------------------------------------------------------------------

>>> To unsubscribe, e-mail: 

>>> For additional commands, e-mail: 

>>> 

>>> 

>> 

>> 

>> ---------------------------------------------------------------------

>> To unsubscribe, e-mail: 

>> For additional commands, e-mail: 

>> 

> 

> 

> 

> 

> ---------------------------------------------------------------------

> To unsubscribe, e-mail: 

> For additional commands, e-mail: 

> 

---------------------------------------------------------------------

To unsubscribe, e-mail: 

For additional commands, e-mail: 

---------------------------------------------------------------------
To unsubscribe, e-mail:  For
additional commands, e-mail: 
← Prev in month ← Prev in thread
Next in thread → Next in month →