This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: referring to images in XSL FO


Sebastian Rahtz asks:

> RenderX makes their .fo files so that a request for an image file looks 
> like this:
>   <fo:display-graphic text-align="centered" href="url('Images/box.jpg')"/>
> why not just
>   <fo:display-graphic text-align="centered" href="Images/box.jpg"/>

Let me explain the story.
The XSL 1999-04-21 Draft defines URI type as follows:

WD 99> 3.6.18 URI
WD 99> A sequence of characters conforming to a URI value 
WD 99> as specified in the URI specification.
WD 99>
WD 99> Ed. Note: This should refer to the proper specification.

The only applicable specification cited in the normative reference
was CSS2 one. That's why we have adopted CSS2 style of wrapping 
URIs into url() (see CSS2 4.3.4 "URL + URN = URI"). However, 
our engine supports unwrapped URIs, too. 

We will ban this strange form when we support the last draft 
(as it now contains a direct reference to RFC 2396). Until then, 
I dare suggest cleaning it up by the following rudimentary 
stylesheet:

  <xsl:template match="* |@* | comment() | text()">
    <xsl:copy>
      <xsl:apply-templates select="*|@*|comment()|text()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="@href [starts-with(., 'url(')] | 
                        @external-destination [starts-with(., 'url(')]">
    <xsl:copy>
      <xsl:value-of select="substring(substring(., 1, string-length-1), 5)"/>
    </xsl:copy>
  </xsl:template>


> can anyone else support this use of a "url" function? am I missing
> something in the spec which mandates it?

No, you aren't missing anything. It's our own CSS2 legacy ;-).

Regards,
Nikolai Grigoriev

RenderX
 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]