Package com.sun.msv.generator
Class Generator
- java.lang.Object
-
- com.sun.msv.generator.Generator
-
- All Implemented Interfaces:
ExpressionVisitorVoid
public class Generator extends java.lang.Object implements ExpressionVisitorVoid
generates an XML DOM instance that conforms to the given schema.
-
-
Field Summary
Fields Modifier and Type Field Description private AttributeExp[]
attributeDecls
all AttributeExps in the grammar.private int
depth
current nest level (depth of elements).private org.w3c.dom.Document
domDoc
private ElementExp[]
elementDecls
all ElementExps in the grammar.private boolean
errorGenerated
this flag is set to true once an error is generated.private java.util.Set
idrefs
Text nodes of IDREFs that should be "patched" by IDs.private java.util.Set
ids
ID tokens that are usedprivate org.w3c.dom.Node
node
current generated nodeprivate GeneratorOption
opts
generation parametersprivate ExpressionPool
pool
-
Constructor Summary
Constructors Modifier Constructor Description protected
Generator(Expression exp, org.w3c.dom.Document emptyDoc, GeneratorOption opts)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
cutBack()
returns true if generator should cut back.static void
generate(Expression exp, org.w3c.dom.Document emptyDoc)
generates instance by using default settings.static void
generate(Expression exp, org.w3c.dom.Document emptyDoc, GeneratorOption opts)
generates instance by custom settings.protected StringPair
generateTypo(StringPair pair)
generates 'typo'.private java.util.Vector
getChildren(BinaryExp exp)
enumerates children of BinaryExp into a vector.protected ContextProviderImpl
getContext()
private StringPair
getName(NameClass nc)
generaets a name that satisfies given NameClassprivate void
noteError(java.lang.String error)
annotate DOM by adding a comment that an error is generated.void
onAnyString()
void
onAttribute(AttributeExp exp)
void
onChoice(ChoiceExp cp)
void
onConcur(ConcurExp exp)
void
onData(DataExp exp)
void
onElement(ElementExp exp)
void
onEpsilon()
void
onInterleave(InterleaveExp ip)
void
onList(ListExp exp)
void
onMixed(MixedExp exp)
void
onNullSet()
void
onOneOrMore(OneOrMoreExp exp)
void
onOther(OtherExp exp)
void
onRef(ReferenceExp exp)
void
onSequence(SequenceExp exp)
void
onValue(ValueExp exp)
void
onZeroOrMore(OneOrMoreExp exp)
-
-
-
Field Detail
-
opts
private final GeneratorOption opts
generation parameters
-
pool
private final ExpressionPool pool
-
domDoc
private final org.w3c.dom.Document domDoc
-
node
private org.w3c.dom.Node node
current generated node
-
depth
private int depth
current nest level (depth of elements).
-
errorGenerated
private boolean errorGenerated
this flag is set to true once an error is generated.
-
ids
private final java.util.Set ids
ID tokens that are used
-
idrefs
private final java.util.Set idrefs
Text nodes of IDREFs that should be "patched" by IDs.
-
elementDecls
private final ElementExp[] elementDecls
all ElementExps in the grammar.
-
attributeDecls
private final AttributeExp[] attributeDecls
all AttributeExps in the grammar.
-
-
Constructor Detail
-
Generator
protected Generator(Expression exp, org.w3c.dom.Document emptyDoc, GeneratorOption opts)
-
-
Method Detail
-
cutBack
protected boolean cutBack()
returns true if generator should cut back.
-
generate
public static void generate(Expression exp, org.w3c.dom.Document emptyDoc)
generates instance by using default settings.
-
generate
public static void generate(Expression exp, org.w3c.dom.Document emptyDoc, GeneratorOption opts)
generates instance by custom settings.
-
noteError
private void noteError(java.lang.String error)
annotate DOM by adding a comment that an error is generated.
-
onEpsilon
public void onEpsilon()
- Specified by:
onEpsilon
in interfaceExpressionVisitorVoid
-
onNullSet
public void onNullSet()
- Specified by:
onNullSet
in interfaceExpressionVisitorVoid
-
onSequence
public void onSequence(SequenceExp exp)
- Specified by:
onSequence
in interfaceExpressionVisitorVoid
-
onInterleave
public void onInterleave(InterleaveExp ip)
- Specified by:
onInterleave
in interfaceExpressionVisitorVoid
-
onChoice
public void onChoice(ChoiceExp cp)
- Specified by:
onChoice
in interfaceExpressionVisitorVoid
-
onMixed
public void onMixed(MixedExp exp)
- Specified by:
onMixed
in interfaceExpressionVisitorVoid
-
onList
public void onList(ListExp exp)
- Specified by:
onList
in interfaceExpressionVisitorVoid
-
onRef
public void onRef(ReferenceExp exp)
- Specified by:
onRef
in interfaceExpressionVisitorVoid
-
onOther
public void onOther(OtherExp exp)
- Specified by:
onOther
in interfaceExpressionVisitorVoid
-
onAttribute
public void onAttribute(AttributeExp exp)
- Specified by:
onAttribute
in interfaceExpressionVisitorVoid
-
onElement
public void onElement(ElementExp exp)
- Specified by:
onElement
in interfaceExpressionVisitorVoid
-
onAnyString
public void onAnyString()
- Specified by:
onAnyString
in interfaceExpressionVisitorVoid
-
onOneOrMore
public void onOneOrMore(OneOrMoreExp exp)
- Specified by:
onOneOrMore
in interfaceExpressionVisitorVoid
-
onZeroOrMore
public void onZeroOrMore(OneOrMoreExp exp)
-
onValue
public void onValue(ValueExp exp)
- Specified by:
onValue
in interfaceExpressionVisitorVoid
-
onData
public void onData(DataExp exp)
- Specified by:
onData
in interfaceExpressionVisitorVoid
-
onConcur
public void onConcur(ConcurExp exp)
- Specified by:
onConcur
in interfaceExpressionVisitorVoid
-
getContext
protected ContextProviderImpl getContext()
-
getName
private StringPair getName(NameClass nc)
generaets a name that satisfies given NameClass
-
getChildren
private java.util.Vector getChildren(BinaryExp exp)
enumerates children of BinaryExp into a vector.
-
generateTypo
protected StringPair generateTypo(StringPair pair)
generates 'typo'.
-
-