Hello all,
I`ve got a problem to obtain the original "use"-element of a dynamically
generated SVG. E. g. my program creates a SVG containing this fragment:
<g transform="rotate(0,0,0) translate(0,0)">
<use xlink:href="file:/C:/dummy/MyFirstSVG.SVG#E3" x="0" y="0"/>
<g transform="translate(8,32) rotate(0,0,0)">
<use xlink:href="file:/C:/dummy/MySecondSVG.SVG#E3" x="0" y="0"/>
</g>
</g>
This SVG then is transcoded and painted in a BridgeContext. When "painting" via
the "convertFillAndStroke"-method of my batik.bridge.PainServer-implementation
I need some information of the original UseElement, but asking for
Element elem = (Element)((SVGOMUseShadowRoot)myNode).getCSSParentNode();
and then
String value = elem.getAttributeNS(XMLConstants.XLINK_NAMESPACE_URI, "href");
delivers the embedded contents of the referenced SVG parts.
When debugging, I can see the original content somewhere in the deep of the DOM
(myNode -> ownerDocument -> referent -> (several childNodes) -> SVGOMUseElement
-> attributes -> "href" -> GenericAttrNS ->
"file:/C:/dummy/MyFirstSVG.SVG#E3"), but how can I get it programmatically?
I need the "MyFirstSVG#E3" or "MySecondSVG#E3" from the original UseElements,
but what I get is the embedded content of the referenced "MyFirstSVG.SVG",
"MySecondSVG.SVG"
Thank you very much for your help.
Kind regards
Michael