xsl-list
[Top] [All Lists]

Re: [xsl] image path by unparsed-entity-uri()

2010-10-04 04:57:15
The function unparsed-entity-uri() is defined to return the absolute URI of the entity, not the relative URI as written in the source document. If you want to reconstruct a relative URI, you'll have to do some (non-trivial) manipulation of what's returned.

Michael Kay
Saxonica

On 04/10/2010 10:40 AM, JS rawat wrote:
Hi Team,
Can we get the appropriate path as describe in input by
unparsed-entity-uri().

XSLT
<xsl:template match="graphic">
  <graphic>
   <xsl:copy-of select="@id"/>
   <xsl:if test="@fileref">
    <xsl:attribute name="src"><xsl:value-of
select="@fileref"/></xsl:attribute>
   </xsl:if>
   <xsl:if test="not(@fileref)">
    <xsl:call-template name="entifyref">
     <xsl:with-param name="figname"
select="unparsed-entity-uri(@entityref)"/>
    </xsl:call-template>
   </xsl:if>
  </graphic>
</xsl:template>

<xsl:template name="entifyref">
  <xsl:param name="figname"/>
  <xsl:attribute name="src"><xsl:value-of select="$figname"/></xsl:attribute>
</xsl:template>


input
<!DOCTYPE article abd.dtd"[
<!ENTITY F0001 SYSTEM ".\Fig\F0001.gif" NDATA GIF>  ]>
<article>
<para><graphic entityref="F0001"/></para>
</article>

output
<book>
<p><graphic src="file:/d:/Jobs/xsl/abc/xslt/Fig/F0001.gif"/></p>
</book>

required output
<book>
<p><graphic src="./Fig/F0001.gif"/></p>
</book>


--~------------------------------------------------------------------
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>
--~--




--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>