This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: xslt svg problem
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] xslt svg problem
- From: Max Nitribitt <maxnitribitt at yahoo dot de>
- Date: Sun, 2 Sep 2001 01:12:44 -0700 (PDT)
- Reply-To: xsl-list at lists dot mulberrytech dot com
Just in time...I have to be ready with this draft
tommorow. Thank's a lot Trevor!
--- Trevor Nash <tcn@melvaig.co.uk> wrote:
> If you look in the SVG DTD you will find that it
> plays a little trick
> on you: it has a default namespace declaration for
> the svg element.
> This means that if the DTD is used the <a> element
> is not in the null
> namespace, its in the SVG one.
>
> This means you either have to not read the DTD (as
> you discovered,
> this works) or declare the SVG namespace in the
> stylesheet and say
> match="svg:a" instead of match="a". The second is
> more correct.
>
> Regards,
> Trevor Nash
>
> >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
>
> --
> Traditional training & distance learning,
> Consultancy by email
>
> Melvaig Software Engineering Limited
> voice: +44 (0) 1445 771 271
> email: tcn@melvaig.co.uk
>
> XSL-List info and archive:
> http://www.mulberrytech.com/xsl/xsl-list
>
__________________________________________________
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