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 <[email protected]> 
17.12.2009 17:06

An
[email protected]
Kopie
[email protected]
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

[email protected] 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 <[email protected]> 
04.12.2009 10:28 


An
Bob Stayton <[email protected]> 
Kopie
<[email protected]> 
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
> [email protected]
> 
> 
> ----- Original Message ----- From: "Johannes Katelaan" 
<[email protected]>
> To: "Bob Stayton" <[email protected]>
> Cc: <[email protected]>
> 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
>> [email protected]
>> 
>> 
>> ----- Original Message ----- From: "Johannes Katelaan" 
<[email protected]>
>> To: <[email protected]>
>> 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: [email protected]
>>> For additional commands, e-mail: 
[email protected]
>>> 
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



--------------------------------------------------------------------- To 
unsubscribe, e-mail: [email protected] For 
additional commands, e-mail: [email protected] 

Reply via email to