com.japisoft.dtdparser.node
Class RootDTDNode

java.lang.Object
  extended bycom.japisoft.dtdparser.node.DTDNode
      extended bycom.japisoft.dtdparser.node.RootDTDNode
All Implemented Interfaces:
XMLGenerator

public class RootDTDNode
extends DTDNode
implements XMLGenerator

Main node type for DTD document type.

Since:
1.0
Version:
1.0
Author:
(c) 2002-2003 JAPISOFT
See Also:
XMLValidator, XMLGenerator

Field Summary
 
Fields inherited from class com.japisoft.dtdparser.node.DTDNode
ATTRIBUTE, COMMENT, ELEMENT, ELEMENT_REF, ELEMENT_SET, ENTITY, ROOT
 
Fields inherited from interface com.japisoft.dtdparser.XMLGenerator
ENCODING_EUC_JP, ENCODING_ISO_10646_UCS_2, ENCODING_ISO_10646_UCS_4, ENCODING_ISO_2022_JP, ENCODING_ISO_8859_1, ENCODING_ISO_8859_2, ENCODING_ISO_8859_3, ENCODING_ISO_8859_4, ENCODING_ISO_8859_5, ENCODING_ISO_8859_6, ENCODING_ISO_8859_7, ENCODING_ISO_8859_8, ENCODING_ISO_8859_9, ENCODING_Shift_JIS, ENCODING_UTF_16, ENCODING_UTF_8
 
Constructor Summary
RootDTDNode()
           
 
Method Summary
 void addDTDNode(DTDNode node)
          Override for fast element access
 ElementDTDNode getElementDeclaration(java.lang.String nodeName)
           
 ElementDTDNode getElementDefinitionByName(java.lang.String name)
           
 EntityDTDNode getEntityDeclaration(java.lang.String entityName)
           
 EntityDTDNode getEntityDefinitionByName(java.lang.String name)
           
 java.lang.String getEntityValue(java.lang.String name)
           
 java.lang.String getFirstElementName()
           
 boolean isAttributeValid(java.lang.String nodeName, java.lang.String attributeName)
          Check if the nodeName supports this attribute
 boolean isAttributeValid(java.lang.String nodeName, java.lang.String attributeName, java.lang.String attributeValue)
          Check if the nodeName supports this attribute name and value
 boolean isEntityValid(java.lang.String entityName)
          Check if the entity name is declared ?
 boolean isNodeDeclared(java.lang.String nodeName)
          Check if the nodeName is declared ?
 boolean isNodeValid(java.lang.String nodeParentName, java.lang.String previousNodeName, java.lang.String nodeName, int occurence)
          Check if the nodeParent can have the nodeName as child after the 'previousNodeName', occurence is for the node count
 boolean isPreservedComment()
           
 void preserveComment(boolean comment)
          Save the comment node : By default to true
 void writeDocument(java.io.PrintWriter output, java.lang.String root, java.lang.String dtdURI)
          Generate a minimal valid XML document.
 void writeDocument(java.io.PrintWriter output, java.lang.String encoding, java.lang.String rootNode, java.lang.String dtdURI)
          Generate a minimal valid XML document.
 void writeDTD(java.io.PrintWriter output)
          Rewrite the DTD to the output stream : Note that comment node are always written in the DTD header only
 
Methods inherited from class com.japisoft.dtdparser.node.DTDNode
addNodeComment, getDTDComment, getDTDComment, getDTDNodeAt, getDTDNodeCount, getDTDNodeForType, getDTDNodeIndex, getDTDNodes, getDTDParentNode, getNodeComment, getNodeType, getRoot, isAttribute, isComment, isElement, isElementRef, isElementSet, isEmpty, isEntity, isRoot, removeDTDNode, setDTDParentNode, setNodeType, setRoot, writeComment
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RootDTDNode

public RootDTDNode()
Method Detail

getFirstElementName

public java.lang.String getFirstElementName()
Returns:
the first element from the DTD definition

isNodeDeclared

public boolean isNodeDeclared(java.lang.String nodeName)
Check if the nodeName is declared ?


getEntityDeclaration

public EntityDTDNode getEntityDeclaration(java.lang.String entityName)
Returns:
an entity declaration for this name or null if the entity is not declared

getElementDeclaration

public ElementDTDNode getElementDeclaration(java.lang.String nodeName)
Returns:
an element declaration for this name or null if the node is not declared

isNodeValid

public boolean isNodeValid(java.lang.String nodeParentName,
                           java.lang.String previousNodeName,
                           java.lang.String nodeName,
                           int occurence)
Check if the nodeParent can have the nodeName as child after the 'previousNodeName', occurence is for the node count


isEntityValid

public boolean isEntityValid(java.lang.String entityName)
Check if the entity name is declared ?


isAttributeValid

public boolean isAttributeValid(java.lang.String nodeName,
                                java.lang.String attributeName)
Check if the nodeName supports this attribute


isAttributeValid

public boolean isAttributeValid(java.lang.String nodeName,
                                java.lang.String attributeName,
                                java.lang.String attributeValue)
Check if the nodeName supports this attribute name and value


addDTDNode

public void addDTDNode(DTDNode node)
Override for fast element access

Overrides:
addDTDNode in class DTDNode
Returns:
the added node

getElementDefinitionByName

public ElementDTDNode getElementDefinitionByName(java.lang.String name)
                                          throws CannotFindElementException
Returns:
a node definition for a name : null is returned for unknown element
Throws:
CannotFindElementException

getEntityValue

public java.lang.String getEntityValue(java.lang.String name)
Returns:
entity value : null is returned for unknown element

getEntityDefinitionByName

public EntityDTDNode getEntityDefinitionByName(java.lang.String name)
Returns:
the entity definition for the name

preserveComment

public void preserveComment(boolean comment)
Save the comment node : By default to true


isPreservedComment

public boolean isPreservedComment()
Returns:
true if the comment node are preserved

writeDocument

public void writeDocument(java.io.PrintWriter output,
                          java.lang.String encoding,
                          java.lang.String rootNode,
                          java.lang.String dtdURI)
                   throws java.io.IOException
Generate a minimal valid XML document. You may insert an encoding using the ENCODING_... constants

Specified by:
writeDocument in interface XMLGenerator
Parameters:
output - final document target
encoding - use ENCODING.. constants
rootNode - the root node for the generation
dtdURI - dtd location
Throws:
java.io.IOException

writeDocument

public void writeDocument(java.io.PrintWriter output,
                          java.lang.String root,
                          java.lang.String dtdURI)
                   throws java.io.IOException
Generate a minimal valid XML document.

Specified by:
writeDocument in interface XMLGenerator
Parameters:
output - final document target
root - the root node for the generation
dtdURI - dtd location
Throws:
java.io.IOException

writeDTD

public void writeDTD(java.io.PrintWriter output)
              throws java.io.IOException
Rewrite the DTD to the output stream : Note that comment node are always written in the DTD header only

Throws:
java.io.IOException


Copyright © 2006 JAPISoft. All Rights Reserved.