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: xslt svg problem




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


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