## org.apache.xerces.domx
Class XGrammarWriter

    java.lang.Object
      |
      +--org.apache.xerces.domx.XGrammarWriter

public class XGrammarWriter
extends java.lang.Object

This program allows you to print the grammar of a document either in XML Schema format or the standard DTD format.

Inner Class Summary
`static class` `XGrammarWriter.OutputFormat` Output format enumeration.

Field Summary
`protected boolean` `canonical` Canonical output.
`protected static java.lang.String[]` `CONTENT_MODEL_ELEMENT_NAMES` Content model element names.
`protected static XGrammarWriter.OutputFormat` `DEFAULT_OUTPUT_FORMAT` Default output format.
`protected java.lang.String` `encoding` Encoding.
`protected XGrammarWriter.OutputFormat` `format` Output format.
`protected int` `indent` Indent level.
`protected java.io.PrintWriter` `out` Output writer.
`protected boolean` `verbose` Verbose.

Constructor Summary
`XGrammarWriter()` Default constructor.
`XGrammarWriter(java.io.OutputStream stream)` Constructs a grammar writer with the specified writer.
`XGrammarWriter(java.io.PrintWriter writer)` Constructs a grammar writer with the specified print writer.
`XGrammarWriter(java.io.Writer writer, java.lang.String encoding)` Constructs a grammar writer with the specified writer.

Method Summary
`protected boolean` `containsMoreThanOneChildOfType(Element node, java.lang.String[] names)` Returns true if the specified element has more than one child with any of the given names.
`protected Node` `getFirstChildOfType(Node node, short type)` Returns the first child of the given node type.
`protected Node` `getNextSiblingOfType(Node node, short type)` Returns the next sibling of the given node type.
`XGrammarWriter.OutputFormat` `getOutputFormat()` Returns the output format.
`protected boolean` `isBasicAttributeType(java.lang.String type)` Returns true if the attribute type is basic.
`protected boolean` `isBasicOccurrenceCount(java.lang.String minOccurs, java.lang.String maxOccurs)` Returns true if the occurrence count is basic.
`boolean` `isCanonical()` Returns true if the output is canonical.
`protected boolean` `isEmpty(Element element)` Returns true if the element is "empty".
`boolean` `isVerbose()` Returns true if the output is verbose.
`static void` `main(java.lang.String[] argv)` Main program.
`protected java.lang.String` `normalize(java.lang.String s)` Normalizes the given string.
`protected int` `parseInt(java.lang.String s, int defaultValue)` Parses a string and returns the integer value.
`void` `printAttribute(Attr attribute)` Prints an attribute.
`void` `printAttributeDecl(java.lang.String elemName, Element attribute)` Prints a DTD attribute declaration.
`void` `printCloseElement(Element element)` Prints a close element.
`void` `printComment(Element comment)` Prints a comment.
`void` `printElement(Element element)` Prints the given element.
`void` `printElementDecl(Element element)` Prints a DTD element declaration.
`void` `printElementDeclContentModel(Element archetype)` Prints a DTD element declaration content model.
`void` `printElementDeclContentModelChildren(Element archetype)` Prints a DTD element declaration children content model.
`void` `printElementDeclContentModelMixed(Element archetype)` Prints a DTD element declaration mixed content model.
`void` `printEmptyElement(Element element)` Prints an empty element.
`void` `printEntityDecl(Element entity)` Prints a DTD entity declaration.
`void` `printGrammar(java.lang.String systemId, DocumentType doctype)` Prints the given grammar with the specified output format.
`void` `printIndent(int level)` Prints an indent level.
`void` `printNotationDecl(Element notation)` Prints a DTD notation declaration.
`void` `printOpenElement(Element element)` Prints an open element.
`protected void` `printOpenElement(Element element, boolean empty)` Prints an open or empty element.
`void` `printText(Text text)` Prints text.
`void` `setCanonical(boolean canonical)` Sets whether the output is canonical.
`void` `setOutputFormat(XGrammarWriter.OutputFormat format)` Sets the output format.
`void` `setVerbose(boolean verbose)` Sets whether the output is verbose.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT_OUTPUT_FORMAT

    protected static final XGrammarWriter.OutputFormat DEFAULT_OUTPUT_FORMAT

  Default output format.

### CONTENT_MODEL_ELEMENT_NAMES

    protected static final java.lang.String[] CONTENT_MODEL_ELEMENT_NAMES

  Content model element names.

### out

    protected java.io.PrintWriter out

  Output writer.

### indent

    protected int indent

  Indent level.

### format

    protected XGrammarWriter.OutputFormat format

  Output format.

### verbose

    protected boolean verbose

  Verbose.

### encoding

    protected java.lang.String encoding

  Encoding.

### canonical

    protected boolean canonical

  Canonical output.

Constructor Detail

### XGrammarWriter

    public XGrammarWriter()

  Default constructor.

### XGrammarWriter

    public XGrammarWriter(java.io.PrintWriter writer)

  Constructs a grammar writer with the specified print writer.

### XGrammarWriter

    public XGrammarWriter(java.io.OutputStream stream)

  Constructs a grammar writer with the specified writer.

### XGrammarWriter

    public XGrammarWriter(java.io.Writer writer,
                          java.lang.String encoding)

  Constructs a grammar writer with the specified writer.

Method Detail

### main

    public static void main(java.lang.String[] argv)

  Main program.

### setOutputFormat

    public void setOutputFormat(XGrammarWriter.OutputFormat format)

  Sets the output format.

### getOutputFormat

    public XGrammarWriter.OutputFormat getOutputFormat()

  Returns the output format.

### setVerbose

    public void setVerbose(boolean verbose)

  Sets whether the output is verbose.

### isVerbose

    public boolean isVerbose()

  Returns true if the output is verbose.

### setCanonical

    public void setCanonical(boolean canonical)

  Sets whether the output is canonical.

### isCanonical

    public boolean isCanonical()

  Returns true if the output is canonical.

### printGrammar

    public void printGrammar(java.lang.String systemId,
                             DocumentType doctype)

  Prints the given grammar with the specified output format.

### printComment

    public void printComment(Element comment)

  Prints a comment.

### printElement

    public void printElement(Element element)

  Prints the given element.

### printIndent

    public void printIndent(int level)

  Prints an indent level.

### printOpenElement

    public void printOpenElement(Element element)

  Prints an open element.

### printEmptyElement

    public void printEmptyElement(Element element)

  Prints an empty element.

### printCloseElement

    public void printCloseElement(Element element)

  Prints a close element.

### printAttribute

    public void printAttribute(Attr attribute)

  Prints an attribute.

### printText

    public void printText(Text text)

  Prints text.

### printElementDecl

    public void printElementDecl(Element element)

  Prints a DTD element declaration.

### printElementDeclContentModel

    public void printElementDeclContentModel(Element archetype)

  Prints a DTD element declaration content model.

### printElementDeclContentModelMixed

    public void printElementDeclContentModelMixed(Element archetype)

  Prints a DTD element declaration mixed content model.

### printElementDeclContentModelChildren

    public void printElementDeclContentModelChildren(Element archetype)

  Prints a DTD element declaration children content model.

### printAttributeDecl

    public void printAttributeDecl(java.lang.String elemName,
                                   Element attribute)

  Prints a DTD attribute declaration.

### printEntityDecl

    public void printEntityDecl(Element entity)

  Prints a DTD entity declaration.

### printNotationDecl

    public void printNotationDecl(Element notation)

  Prints a DTD notation declaration.

### printOpenElement

    protected void printOpenElement(Element element,
                                    boolean empty)

  Prints an open or empty element.

### isEmpty

    protected boolean isEmpty(Element element)

  Returns true if the element is "empty". In other words, if it does not contain element or text node children.

### isBasicAttributeType

    protected boolean isBasicAttributeType(java.lang.String type)

  Returns true if the attribute type is basic.

### isBasicOccurrenceCount

    protected boolean isBasicOccurrenceCount(java.lang.String minOccurs,
                                             java.lang.String maxOccurs)

  Returns true if the occurrence count is basic.

### parseInt

    protected int parseInt(java.lang.String s,
                           int defaultValue)

  Parses a string and returns the integer value.

### containsMoreThanOneChildOfType

    protected boolean containsMoreThanOneChildOfType(Element node,
                                                     java.lang.String[] names)

  Returns true if the specified element has more than one child with any of the given names.

### getFirstChildOfType

    protected Node getFirstChildOfType(Node node,
                                       short type)

  Returns the first child of the given node type.

### getNextSiblingOfType

    protected Node getNextSiblingOfType(Node node,
                                        short type)

  Returns the next sibling of the given node type.

### normalize

    protected java.lang.String normalize(java.lang.String s)

  Normalizes the given string.

Copyright © 1999-2001 Apache XML Project. All Rights Reserved.