XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 05 Aug 2005 08:05 PM
Hello,

I have an XSLT file but it never matchs what is on the SVG file even though its there. I have tried and removed the namespaces from the svg file and it worked! how can I solve the problem please?

thanks

Postnext
Ivan PedruzziSubject: Problem with XSLT
Author: Ivan Pedruzzi
Date: 05 Aug 2005 08:42 PM


Please post your XML + XSLT.

Ivan

Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 05 Aug 2005 08:51 PM
Here are the files, test.svg and the xslt file


Unknowntest.svg
SVG File

Unknownaccuracy_floor.xslt
XSLT File

Postnext
Ivan PedruzziSubject: Problem with XSLT
Author: Ivan Pedruzzi
Date: 05 Aug 2005 10:46 PM
The posted XSLT doesn't define the SVG namespace therefore the match templates are all wrong.

See the attached version.

Hope this helps
Ivan Pedruzzi
Stylus Studio team


Documentaccuracy_floor(1).xslt

Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 06 Aug 2005 09:09 AM

Thank you!

Thats when I know what is the prefix for the namespaces, but what about if I dont know how the prefixes are built??

Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 06 Aug 2005 09:21 AM
According to the solution you provided me, I have to add this namespace to my xslt: xmlns:svg="http://www.w3.org/2000/svg"

This of course depends on how the user have named their prefixes and what namepaces their are using!

Is there away that I can find out what namespaces and prefixes the user is using to solve the problem like the one I had? (If you know what I mean) :-)

It would be good to have a generic XSLT for all files no matter what namespaces and prefixes are used. It would be good to add those namespaces and prefixes according to the user's svg file.



Postnext
Ivan PedruzziSubject: Problem with XSLT
Author: Ivan Pedruzzi
Date: 06 Aug 2005 10:37 AM
>According to the solution you
>provided me, I have to add
>this namespace to my xslt:
>xmlns:svg="http://www.w3.org/2
>000/svg"
>
>This of course depends on how
>the user have named their
>prefixes and what namepaces
>their are using!

Wrong, the prefix is not important as long as the namespaces match.
I could have used gvs with the same result.

If you would like to write something that is SVG version independent
you have to use a more generic match rule

<xsl:template match="*[local-name() = 'rect']">

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 06 Aug 2005 06:50 PM
Thank you! It does the job I as looking for. But one thing is added to the rect shape element after transformation.

The rect shape element become as follows:
<rect style="fill:#0000ff;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" id="rect1466" width="145.71428" height="74.285713" x="268.6" y="295.2" xmlns=""/>

As you can see, the last attribute in the element is xmlns="" which is empty but in the source, this attribute does not exist. Why is it added after transformation and how can I remove it?

Thank you again for your time and help :-)

Postnext
Ivan PedruzziSubject: Problem with XSLT
Author: Ivan Pedruzzi
Date: 08 Aug 2005 09:05 AM
You have to place the element in the right namespace

<xsl:template match="*[local-name() = 'rect']">
<xsl:element name="{name()}" namespace="{namespace-uri()}">
...

Ivan Pedruzzi
Stylus Studio Team

Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 08 Aug 2005 02:04 PM
GREAT! Thank you but thats if I want to include the namespace.

In the original svg file there is no such namespace attribute in rect element but this is added after the transformation?

Can I remove this added attribute?

Postnext
Ivan PedruzziSubject: Problem with XSLT
Author: Ivan Pedruzzi
Date: 08 Aug 2005 02:28 PM
In the original document they *are* in the SVG namespace.

Look at the root of you source document you can see
xmlns="http://www.w3.org/2000/svg"

it means that all elements (svg, g, path, rect, etc) without prefix are defined in the SVG namespace.

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
...

Ivan Pedruzzi
Stylus Studio Team

Postnext
joe jSubject: Problem with XSLT
Author: joe j
Date: 20 Aug 2005 05:51 PM
Hello,

I would like to ask you something. What I am trying to is optimization on different elements available in svg using xslt. The thing is that namespaces added to all elements increases the file size. So, keep it as it is, say like leaving them defined as default just as you referred to and not add the attribute in the elements. Cause it does give errors sometimes.

How can I just leave out the namespace attribute in elements and keep them defined as default to the namespace defined in the root element?

Posttop
kalyan krishnaSubject: Sysdate creation for Output in XSLT-- Please help
Author: kalyan krishna
Date: 20 Aug 2005 10:26 PM
All,

I am recently started working on XSLT programming, I am unable to create sysdate in output file. Is any one can help how to write sysdate function when I need to create output one of the tag should come with sysdate value?

Thanks in advance.

-- Kalyan

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.