net.sf.latexdraw.parsers.svg
Class SVGDocument

java.lang.Object
  extended by net.sf.latexdraw.parsers.svg.SVGDocument
All Implemented Interfaces:
org.w3c.dom.Document, org.w3c.dom.Node

public class SVGDocument
extends java.lang.Object
implements org.w3c.dom.Document

Defines an SVG document.

This file is part of LaTeXDraw.
Copyright (c) 2005-2012 Arnaud BLOUIN

LaTeXDraw is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

LaTeXDraw is distributed without any warranty; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

05/23/10

Version:
3.0
Author:
Arnaud BLOUIN

Nested Class Summary
(package private) static class SVGDocument.SVGEntityResolver
          Used to avoid freeze when opening an SVG document.
 
Field Summary
static java.lang.String ACTION_NOT_IMPLEMENTED
           
protected  java.lang.String documentURI
          The document URI.
protected  SVGSVGElement root
          The root of the SVG drawing.
static java.lang.String SVG_NAMESPACE
           
protected  java.lang.String xmlEncoding
          The encoding of the document.
protected  boolean xmlStandalone
          Defines if the document is standalone.
protected  java.lang.String xmlVersion
          The version of XML.
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
SVGDocument()
          Creates an SVG document with an empty SVG element.
SVGDocument(java.net.URI uri)
          The constructor.
 
Method Summary
 SVGSVGElement adoptNode(org.w3c.dom.Node source)
           
 org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
           
 org.w3c.dom.Node cloneNode(boolean deep)
           
 short compareDocumentPosition(org.w3c.dom.Node other)
           
 org.w3c.dom.Attr createAttribute(java.lang.String name)
           
 org.w3c.dom.Attr createAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
           
 org.w3c.dom.CDATASection createCDATASection(java.lang.String data)
           
 org.w3c.dom.Comment createComment(java.lang.String data)
           
 org.w3c.dom.DocumentFragment createDocumentFragment()
           
 org.w3c.dom.Element createElement(java.lang.String tagName)
           
 org.w3c.dom.Element createElementNS(java.lang.String namespaceURI, java.lang.String qualifiedName)
           
 org.w3c.dom.EntityReference createEntityReference(java.lang.String name)
           
 org.w3c.dom.ProcessingInstruction createProcessingInstruction(java.lang.String target, java.lang.String data)
           
 org.w3c.dom.Text createTextNode(java.lang.String data)
           
 org.w3c.dom.NamedNodeMap getAttributes()
           
 java.lang.String getBaseURI()
           
 org.w3c.dom.NodeList getChildNodes()
           
 org.w3c.dom.DocumentType getDoctype()
           
 SVGSVGElement getDocumentElement()
           
 java.lang.String getDocumentURI()
           
 org.w3c.dom.DOMConfiguration getDomConfig()
           
 org.w3c.dom.Element getElementById(java.lang.String elementId)
           
 org.w3c.dom.NodeList getElementsByTagName(java.lang.String tagname)
           
 org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
           
 java.lang.Object getFeature(java.lang.String feature, java.lang.String version)
           
 SVGSVGElement getFirstChild()
           
 org.w3c.dom.DOMImplementation getImplementation()
           
 java.lang.String getInputEncoding()
           
 SVGSVGElement getLastChild()
           
 java.lang.String getLocalName()
           
 java.lang.String getNamespaceURI()
           
 org.w3c.dom.Node getNextSibling()
           
 java.lang.String getNodeName()
           
 short getNodeType()
           
 java.lang.String getNodeValue()
           
 org.w3c.dom.Document getOwnerDocument()
           
 org.w3c.dom.Node getParentNode()
           
 java.lang.String getPrefix()
           
 org.w3c.dom.Node getPreviousSibling()
           
 boolean getStrictErrorChecking()
           
 java.lang.String getTextContent()
           
 java.lang.Object getUserData(java.lang.String key)
           
 java.lang.String getXmlEncoding()
           
 boolean getXmlStandalone()
           
 java.lang.String getXmlVersion()
           
 boolean hasAttributes()
           
 boolean hasChildNodes()
           
 org.w3c.dom.Node importNode(org.w3c.dom.Node importedNode, boolean deep)
           
 org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
           
 boolean isDefaultNamespace(java.lang.String namespaceURI)
           
 boolean isEqualNode(org.w3c.dom.Node node)
           
 boolean isSameNode(org.w3c.dom.Node other)
           
 boolean isSupported(java.lang.String feature, java.lang.String version)
           
 java.lang.String lookupNamespaceURI(java.lang.String prefix)
           
 java.lang.String lookupPrefix(java.lang.String namespaceURI)
           
 void normalize()
           
 void normalizeDocument()
           
 org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
           
 org.w3c.dom.Node renameNode(org.w3c.dom.Node n, java.lang.String namespaceURI, java.lang.String qualifiedName)
           
 org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
           
 boolean saveSVGDocument(java.lang.String path)
          Serialise the given SVG document.
 void setDocumentURI(java.lang.String documentURI)
           
 void setNodeValue(java.lang.String nodeValue)
           
 void setPrefix(java.lang.String prefix)
           
 void setStrictErrorChecking(boolean strictErrorChecking)
           
 void setTextContent(java.lang.String textContent)
           
 java.lang.Object setUserData(java.lang.String key, java.lang.Object data, org.w3c.dom.UserDataHandler handler)
           
 void setXmlStandalone(boolean xmlStandalone)
           
 void setXmlVersion(java.lang.String xmlVersion)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

root

protected SVGSVGElement root
The root of the SVG drawing. @since 0.1


xmlStandalone

protected boolean xmlStandalone
Defines if the document is standalone. @since 0.1


documentURI

protected java.lang.String documentURI
The document URI. @since 0.1


xmlVersion

protected java.lang.String xmlVersion
The version of XML. @since 0.1


xmlEncoding

protected java.lang.String xmlEncoding
The encoding of the document. @since 0.1


ACTION_NOT_IMPLEMENTED

public static final java.lang.String ACTION_NOT_IMPLEMENTED
See Also:
Constant Field Values

SVG_NAMESPACE

public static final java.lang.String SVG_NAMESPACE
See Also:
Constant Field Values
Constructor Detail

SVGDocument

public SVGDocument(java.net.URI uri)
            throws MalformedSVGDocument,
                   java.io.IOException
The constructor. An URI defines the location of the SVG document to parse. If the document is valid, the document is read an place in the root attribute.

Parameters:
uri - The file to parse.
Throws:
MalformedSVGDocument - If an error occurs.
java.io.IOException - If the document cannot be opened.
java.lang.IllegalArgumentException - If a n argument is not valid.

SVGDocument

public SVGDocument()
Creates an SVG document with an empty SVG element.

Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

adoptNode

public SVGSVGElement adoptNode(org.w3c.dom.Node source)
Specified by:
adoptNode in interface org.w3c.dom.Document

getDocumentElement

public SVGSVGElement getDocumentElement()
Specified by:
getDocumentElement in interface org.w3c.dom.Document

getDocumentURI

public java.lang.String getDocumentURI()
Specified by:
getDocumentURI in interface org.w3c.dom.Document

getXmlEncoding

public java.lang.String getXmlEncoding()
Specified by:
getXmlEncoding in interface org.w3c.dom.Document

getXmlStandalone

public boolean getXmlStandalone()
Specified by:
getXmlStandalone in interface org.w3c.dom.Document

getXmlVersion

public java.lang.String getXmlVersion()
Specified by:
getXmlVersion in interface org.w3c.dom.Document

setDocumentURI

public void setDocumentURI(java.lang.String documentURI)
Specified by:
setDocumentURI in interface org.w3c.dom.Document

setXmlStandalone

public void setXmlStandalone(boolean xmlStandalone)
Specified by:
setXmlStandalone in interface org.w3c.dom.Document

setXmlVersion

public void setXmlVersion(java.lang.String xmlVersion)
Specified by:
setXmlVersion in interface org.w3c.dom.Document

getAttributes

public org.w3c.dom.NamedNodeMap getAttributes()
Specified by:
getAttributes in interface org.w3c.dom.Node

getChildNodes

public org.w3c.dom.NodeList getChildNodes()
Specified by:
getChildNodes in interface org.w3c.dom.Node

getFirstChild

public SVGSVGElement getFirstChild()
Specified by:
getFirstChild in interface org.w3c.dom.Node

getLastChild

public SVGSVGElement getLastChild()
Specified by:
getLastChild in interface org.w3c.dom.Node

getNextSibling

public org.w3c.dom.Node getNextSibling()
Specified by:
getNextSibling in interface org.w3c.dom.Node

getNodeName

public java.lang.String getNodeName()
Specified by:
getNodeName in interface org.w3c.dom.Node

getNodeType

public short getNodeType()
Specified by:
getNodeType in interface org.w3c.dom.Node

getNodeValue

public java.lang.String getNodeValue()
Specified by:
getNodeValue in interface org.w3c.dom.Node

getOwnerDocument

public org.w3c.dom.Document getOwnerDocument()
Specified by:
getOwnerDocument in interface org.w3c.dom.Node

getParentNode

public org.w3c.dom.Node getParentNode()
Specified by:
getParentNode in interface org.w3c.dom.Node

getPreviousSibling

public org.w3c.dom.Node getPreviousSibling()
Specified by:
getPreviousSibling in interface org.w3c.dom.Node

hasAttributes

public boolean hasAttributes()
Specified by:
hasAttributes in interface org.w3c.dom.Node

hasChildNodes

public boolean hasChildNodes()
Specified by:
hasChildNodes in interface org.w3c.dom.Node

isEqualNode

public boolean isEqualNode(org.w3c.dom.Node node)
Specified by:
isEqualNode in interface org.w3c.dom.Node

isSameNode

public boolean isSameNode(org.w3c.dom.Node other)
Specified by:
isSameNode in interface org.w3c.dom.Node

getDoctype

public org.w3c.dom.DocumentType getDoctype()
Specified by:
getDoctype in interface org.w3c.dom.Document

createElement

public org.w3c.dom.Element createElement(java.lang.String tagName)
Specified by:
createElement in interface org.w3c.dom.Document

createTextNode

public org.w3c.dom.Text createTextNode(java.lang.String data)
Specified by:
createTextNode in interface org.w3c.dom.Document

createComment

public org.w3c.dom.Comment createComment(java.lang.String data)
Specified by:
createComment in interface org.w3c.dom.Document

createCDATASection

public org.w3c.dom.CDATASection createCDATASection(java.lang.String data)
Specified by:
createCDATASection in interface org.w3c.dom.Document

getDomConfig

public org.w3c.dom.DOMConfiguration getDomConfig()
Specified by:
getDomConfig in interface org.w3c.dom.Document

getImplementation

public org.w3c.dom.DOMImplementation getImplementation()
Specified by:
getImplementation in interface org.w3c.dom.Document

getInputEncoding

public java.lang.String getInputEncoding()
Specified by:
getInputEncoding in interface org.w3c.dom.Document

getStrictErrorChecking

public boolean getStrictErrorChecking()
Specified by:
getStrictErrorChecking in interface org.w3c.dom.Document

importNode

public org.w3c.dom.Node importNode(org.w3c.dom.Node importedNode,
                                   boolean deep)
Specified by:
importNode in interface org.w3c.dom.Document

normalizeDocument

public void normalizeDocument()
Specified by:
normalizeDocument in interface org.w3c.dom.Document

renameNode

public org.w3c.dom.Node renameNode(org.w3c.dom.Node n,
                                   java.lang.String namespaceURI,
                                   java.lang.String qualifiedName)
Specified by:
renameNode in interface org.w3c.dom.Document

setStrictErrorChecking

public void setStrictErrorChecking(boolean strictErrorChecking)
Specified by:
setStrictErrorChecking in interface org.w3c.dom.Document

appendChild

public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
Specified by:
appendChild in interface org.w3c.dom.Node

cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Specified by:
cloneNode in interface org.w3c.dom.Node

compareDocumentPosition

public short compareDocumentPosition(org.w3c.dom.Node other)
Specified by:
compareDocumentPosition in interface org.w3c.dom.Node

getBaseURI

public java.lang.String getBaseURI()
Specified by:
getBaseURI in interface org.w3c.dom.Node

getFeature

public java.lang.Object getFeature(java.lang.String feature,
                                   java.lang.String version)
Specified by:
getFeature in interface org.w3c.dom.Node

getLocalName

public java.lang.String getLocalName()
Specified by:
getLocalName in interface org.w3c.dom.Node

getNamespaceURI

public java.lang.String getNamespaceURI()
Specified by:
getNamespaceURI in interface org.w3c.dom.Node

getPrefix

public java.lang.String getPrefix()
Specified by:
getPrefix in interface org.w3c.dom.Node

getTextContent

public java.lang.String getTextContent()
Specified by:
getTextContent in interface org.w3c.dom.Node

getUserData

public java.lang.Object getUserData(java.lang.String key)
Specified by:
getUserData in interface org.w3c.dom.Node

isDefaultNamespace

public boolean isDefaultNamespace(java.lang.String namespaceURI)
Specified by:
isDefaultNamespace in interface org.w3c.dom.Node

createAttribute

public org.w3c.dom.Attr createAttribute(java.lang.String name)
Specified by:
createAttribute in interface org.w3c.dom.Document

createAttributeNS

public org.w3c.dom.Attr createAttributeNS(java.lang.String namespaceURI,
                                          java.lang.String qualifiedName)
Specified by:
createAttributeNS in interface org.w3c.dom.Document

createDocumentFragment

public org.w3c.dom.DocumentFragment createDocumentFragment()
Specified by:
createDocumentFragment in interface org.w3c.dom.Document

createElementNS

public org.w3c.dom.Element createElementNS(java.lang.String namespaceURI,
                                           java.lang.String qualifiedName)
Specified by:
createElementNS in interface org.w3c.dom.Document

createEntityReference

public org.w3c.dom.EntityReference createEntityReference(java.lang.String name)
Specified by:
createEntityReference in interface org.w3c.dom.Document

createProcessingInstruction

public org.w3c.dom.ProcessingInstruction createProcessingInstruction(java.lang.String target,
                                                                     java.lang.String data)
Specified by:
createProcessingInstruction in interface org.w3c.dom.Document

isSupported

public boolean isSupported(java.lang.String feature,
                           java.lang.String version)
Specified by:
isSupported in interface org.w3c.dom.Node

lookupNamespaceURI

public java.lang.String lookupNamespaceURI(java.lang.String prefix)
Specified by:
lookupNamespaceURI in interface org.w3c.dom.Node

lookupPrefix

public java.lang.String lookupPrefix(java.lang.String namespaceURI)
Specified by:
lookupPrefix in interface org.w3c.dom.Node

normalize

public void normalize()
Specified by:
normalize in interface org.w3c.dom.Node

setUserData

public java.lang.Object setUserData(java.lang.String key,
                                    java.lang.Object data,
                                    org.w3c.dom.UserDataHandler handler)
Specified by:
setUserData in interface org.w3c.dom.Node

insertBefore

public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node refChild)
Specified by:
insertBefore in interface org.w3c.dom.Node

setPrefix

public void setPrefix(java.lang.String prefix)
Specified by:
setPrefix in interface org.w3c.dom.Node

setTextContent

public void setTextContent(java.lang.String textContent)
Specified by:
setTextContent in interface org.w3c.dom.Node

removeChild

public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
Specified by:
removeChild in interface org.w3c.dom.Node

replaceChild

public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node oldChild)
Specified by:
replaceChild in interface org.w3c.dom.Node

setNodeValue

public void setNodeValue(java.lang.String nodeValue)
Specified by:
setNodeValue in interface org.w3c.dom.Node

getElementById

public org.w3c.dom.Element getElementById(java.lang.String elementId)
Specified by:
getElementById in interface org.w3c.dom.Document

getElementsByTagName

public org.w3c.dom.NodeList getElementsByTagName(java.lang.String tagname)
Specified by:
getElementsByTagName in interface org.w3c.dom.Document

getElementsByTagNameNS

public org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                                   java.lang.String localName)
Specified by:
getElementsByTagNameNS in interface org.w3c.dom.Document

saveSVGDocument

public boolean saveSVGDocument(java.lang.String path)
Serialise the given SVG document.

Parameters:
path - The file of the future serialised document.
Returns:
True: the document has been successfully saved.
Since:
2.0