xsl-list
[Top] [All Lists]

Re: How do I display an SVG file using XSLT?

2002-11-21 12:15:49
  Forgetting for the moment the SVG issues, you're basically asking:
How do I convert the element

<image NAME="images/svg_test.svg" WIDTH="219" HEIGHT="174" />

into

<object data="images/svg_test.svg" width="219" height="174"
type="image/svg+xml"></object>

?

  Looking at your template...

               <xsl:attribute name="type">
                  <xsl:value-of select="image/svg+xml" />
               </xsl:attribute>

Here's your immediate problem. The value-of above implies that there exists in the xml the following structure:
<image NAME="..." WIDTH="..." HEIGHT="...">
  <image>
    <svg+xml>...</svg+xml>
  </image>
</image>

What you mean to say is <xsl:text>image/svg+xml</xsl:text> since that is the literal string that you wish to appear as the 'type' value.

  Your whole template above can be written as
<xsl:template match="image">
  <object type="image/svg+xml">
    <xsl:attribute name="data"><xsl:value-of select="@NAME"/></xsl:attribute>
<xsl:attribute name="width"><xsl:value-of select="@WIDTH"/></xsl:attribute> <xsl:attribute name="height"><xsl:value-of select="@HEIGHT"/></xsl:attribute>
  </object>
</xsl:template>

As for what fills the resultant object in your browser after this conversion, that is up to your browser configuration / object installation / registry settings.


Greg Faron
Integre Technical Publishing Co.



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



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