Hello,
When you say "// this doesn't work", do you mean it just doesn't display,
or that it generates an error?
Assuming it just doesn't display: you probably need to set the base URL for
the document, in order for Batik to know where to load xray.jpg from:
tempDoc = (SVGOMDocument) impl.createDocument(svgNS,"svg",null);
tempDoc.setURLObject(rdfURI);
Note that for non-href items (e.g., if you just had a 'rect' in there), it
should still show up. If it doesn't, there's likely some other problem...
but your example RDF just has one 'image' item inside of it. (Which I would
think would show a broken-image icon, but... *shrug*)
If Batik is generating an error, what is that error?
Ciao,
Bibek
On Wed, 21 Jan 2004, Maria Teresa Paratore wrote:
> Hi,
> I have an RDF document that contains an "svg node", i.e. information
> suitable to be displayed on a JSVGCanvas:
> I have developed an application that creates an empty SVGDocument, parses
> the RDF file, extracts the "svg node" from it and appends it to the
> SVGDocument.
> The SVGDocument I obtain this way is correct, but when I call
> JSVGCanvas.setSVGDocument(svgDoc) it is not displayed.
> (NB: I set my JSVGcanvas ALWAYS DYNAMIC)
>
>
> Here is a fragment of my code:
> public void showSvg(){
> JSVGCanvas svgCanvas;
> parserDom = new DOMParser();
> DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
> SVGDOMImplementation svgImpl = (SVGDOMImplementation)
> SVGDOMImplementation.getDOMImplementation();
> String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
>
> ........
>
> try{
> parserDom.parse(fileRDF.toURL().toString());
> doc = parserDom.getDocument();
>
> }
> catch(SAXException e){
> System.out.println("The file is not well formed");
> }
> catch(IOException e){
> System.out.println("errore di IO nella lettura del
> file rdf");
> }
>
>
> tempDoc = impl.createDocument(svgNS,"svg",null);
>
> //***parse the RDF***
>
> DocumentTraversal trav = (DocumentTraversal)doc;
> NodeIterator ni = trav.createNodeIterator(
> doc.getDocumentElement(),
> NodeFilter.SHOW_ELEMENT,
> this,
> true);
>
> dummyRoot = tempDoc.getDocumentElement();
>
> while(((node = ni.nextNode())!= null)){
> Node importedNode = tempDoc.importNode(node, true);
> dummyRoot.appendChild(importedNode);
> System.out.println("ho fatto l'append!!!");
> }
> svgDoc = (SVGDocument)tempDoc;
>
> svgCanvas.setDocument(svgDoc); //this doesn't work
>
>
> /////*******Nodes Filtering*******/////////
> public short acceptNode(Node node){
> if(node.getNodeName().equals("g"))
> return FILTER_ACCEPT;
> else return FILTER_SKIP;
> }
> }
>
>
> Here is the rdf document:
> <?xml version="1.0" encoding="UTF-8"?>
> <web:RDF xmlns:web="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> xmlns="http://www.w3.org/2000/svg"
> xmlns:comed="schema#" >
>
> <Record web:about="radiografia-1" comed:name="documentoanalisi.doc">
> <comed:content>
> <svg width="475" height="387" xmlns:xlink="http://www.w3.org/1999/xlink" >
> <g visibility ="visible" id="xray">
> <image x="0" y="0" width="475" height="387" xlink:href="xray.jpg"/>
> </g>
> </svg>
> </comed:content>
> <comed:comments>
> <comed:note web:about="commento-1_2" comed:name="Dr. Livingstone"/>
> <comed:note web:about="commento-1_1" comed:name="Dr. Stranamore"/>
> </comed:comments>
> </Record>
>
> </web:RDF>
>
>
>
>
> ---------------------------------------------------------------------
> 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]