Subject: xslt svg problem
From: Max Nitribitt <maxnitribitt@xxxxxxxx>
Date: Fri, 31 Aug 2001 23:32:11 -0700 (PDT)
|
Hi,
I'm trying to create png/imagemap from svg. My svg
Documents are first created from GraphXML-files using
Xalan. Next I convert them to png with the
batik-rasterizer. Then I try to extract the
xlink:hrefs from the svg to build an Imagemap. And
there the problem starts. Xalan doesn't recognizes the
<a> element when I use my document like this (The dtd
is in the same folder):
<?xml version="1.0" encoding="iso-8859-1"
standalone="no"?>
<!DOCTYPE svg SYSTEM "svg-20000802.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink"
xml:space="preserve" width="5.4959999999999996in"
height="5.4959999999999996in">
<circle style="fill:blue;stroke:red;" cx="0.5496in"
cy="0.5496in" r="0.5496in"/>
<a xlink:href="http://www.cwi.nl/~ivan">
<text style="fill:red" x="52.211999999999996"
y="114.42399999999999">Project leader</text>
</a>
</svg>
But when I change <!DOCTYPE svg SYSTEM
"svg-20000802.dtd"> to <!DOCTYPE svg> everything works
fine.
What am I doing wrong?
MAX
P.s.: that's my XSL:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output encoding="UTF-16" method="html"/>
<xsl:template match="/">
<xsl:element name="HTML">
<xsl:element name="HEAD">
<xsl:element
name="TITLE">imagemapbeispiel</xsl:element>
</xsl:element>
<xsl:element name="BODY">
<xsl:element name="IMG">
<xsl:attribute name="src">out.png</xsl:attribute>
<xsl:attribute name = "usemap"
>#explmap</xsl:attribute>
</xsl:element>
<xsl:element name = "MAP">
<xsl:attribute name = "name"
>explmap</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="a">
<xsl:element name = "AREA">
<xsl:attribute name = "href" >
<xsl:value-of select="@xlink:href" />
</xsl:attribute>
<xsl:attribute name = "shape"
>rect</xsl:attribute>
<xsl:variable name = "reftext"><xsl:value-of
select="text"/></xsl:variable>
<xsl:variable name = "length"><xsl:value-of
select = "string-length($reftext)*5"/></xsl:variable>
<xsl:variable name = "xwert">
<xsl:value-of select = "text/@x" />
</xsl:variable>
<xsl:variable name = "ywert">
<xsl:value-of select = "text/@y" />
</xsl:variable>
<xsl:variable name = "xwert2">
<xsl:value-of select = "$xwert+$length" />
</xsl:variable>
<xsl:variable name = "ywert2">
<xsl:value-of select = "$ywert+-19" />
</xsl:variable>
<xsl:attribute name = "coords" >
<xsl:value-of select = "$xwert" />
<xsl:text>,</xsl:text>
<xsl:value-of select = "$ywert2" />
<xsl:text>,</xsl:text>
<xsl:value-of select = "$xwert2" />
<xsl:text>,</xsl:text>
<xsl:value-of select = "$ywert" />
</xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
__________________________________________________
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger
http://im.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|