Hi Thomas,
Idea is good..I tried it out.Am getting one problem ie after replacing new
element with different namespace and serialize the dom to xml....new xml
file is taking the global namespace ie"http://www.w3.org/2000/svg" instead
of "http://myNameSpace.org"......Any idea about where i might be wrong
Regards
Prad
thomas.deweese wrote:
>
> Hi Prad,
>
> Do not send the same message multiple times to the list.
>
> prad <[EMAIL PROTECTED]> wrote on 08/22/2006 03:20:03 AM:
>
>> Now i have decided to parse svg file as simple xml dom and change the
>> namespace of few elements and then use this modified file to create
>> SVGDOM.......does it works....if yes,
>
> Yes, this will work. Since you are supposed to ignore the
> elements you could also remove them (this is simpler).
>
>> how do i change or move elements to different namespace...
>
> I would suggest using the following to locate the problem elements:
> Element.getElementsByTagNameNS(String namespace, String tagName)
>
> Then the simplest thing to do is remove them from the DOM:
>
> Element problem = nodeList.get(i);
> problem.getParentNode().removeChild(problem);
>
> Moving them to another namespace is a little tricker. First
> you need to create a new element in the new namespace:
>
> Element newElem = doc.createElementNS(newNamespace,
> problem.getTagName());
> // Then copy the attributes from the problem node to the new node.
> NamedNodeMap nnm = problem.getAttributes();
> int len = nnm.getLength();
> for (int i=0; i<len; i++) {
> Attr a = (Attr)nnm.get(i);
> Attr newAttr = (Attr)doc.importNode(a, true);
> newElem.setAttributeNode(newAttr);
> }
>
> Then you need to replace the problem element with the
> new Element:
>
> problem.getParentNode().replaceChild(newElem, problem);
>
> This get's a bit more complex if the elements that need to
> be moved may have children that also need to be moved... You basically
> need to walk the problem element's children running the above code
> on each of them an appending them to 'newElem'.
>
> (The above is untested 'psuedo code')
> Good luck!
>
>> thomas.deweese wrote:
>> >
>> > Hi Prad,
>> >
>> > prad <[EMAIL PROTECTED]> wrote on 08/18/2006 02:15:56 AM:
>> >
>> >> Thanks for the suggestion,but am not supposed to change svg file or
>> > change
>> >> namespace wat i have to do is to handle such elements by ignoring
> them
>> >
>> > I will _very_ strong recommend that you fix the files.
>> > Changing tools to work around broken files is 100% always the
>> > wrong answer to the problem.
>> >
>> > That said you can try creating a subclass of
>> > batik.dom.svg.SVGDOMImplementation that replaces the
>> > createElement & createElementNS methods.
>> >
>> > This is about all the help I'll give on this topic
>> > as I consider this the totally wrong way to approach
>> > the problem.
>> >
>> > Good luck!
>> >
>> >> thomas.deweese wrote:
>> >> >
>> >> > Hi Prad,
>> >> >
>> >> > prad <[EMAIL PROTECTED]> wrote on 08/17/2006 06:06:13 AM:
>> >> >
>> >> >> Am finding difficult to get the dom for a svg file.
>> >> >
>> >> > Actually it looks like you are getting DOM fine for
>> >> > SVG files. It is files that look a little like an
>> >> > SVG file but aren't that causing you problems (as they should).
>> >> >
>> >> >> But If the svg file contains other tags like
>> >> >
>> >> > This is not a valid SVG file:
>> >> >> <svg>
>> >> >> <segments>
>> >> >> </segments>
>> >> >
>> >> > I suggest you fix it by moving the non-SVG elements
>> >> > out of the SVG namespace:
>> >> > <svg xmlns:prad="http://prad.org/">
>> >> > <prad:segments>
>> >> > </prad:segments>
>> >> > </svg>
>> >> >
>> >> >
>> >> >
> ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
>> >> > For additional commands, e-mail:
>> > [EMAIL PROTECTED]
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> > http://www.nabble.com/getting-dom-from-svg-file-
>> >> tf2120596.html#a5860806
>> >> Sent from the Batik - Users forum at Nabble.com.
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
>> >> For additional commands, e-mail:
> [EMAIL PROTECTED]
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>> > For additional commands, e-mail:
> [EMAIL PROTECTED]
>> >
>> >
>> >
>>
>> --
>> View this message in context:
> http://www.nabble.com/getting-dom-from-svg-file-
>> tf2120596.html#a5920621
>> Sent from the Batik - Users forum at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
View this message in context:
http://www.nabble.com/getting-dom-from-svg-file-tf2120596.html#a5938589
Sent from the Batik - Users forum at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]