Package com.sun.msv.grammar

abstract grammar model(AGM): common part.

See:
          Description

Interface Summary
ExpressionVisitor Visitor interface for Expression and its derived types.
ExpressionVisitorBoolean ExpressionVisitor that returns boolean.
ExpressionVisitorExpression ExpressionVisitor that returns Expression object.
ExpressionVisitorVoid ExpressionVisitor that returns void.
Grammar base interface of the "grammar".
IDContextProvider ValidationContextProvider that supports limited ID/IDREF implementation.
NameClassAndExpression common interface of AttributeExp and ElementExp.
NameClassVisitor Visitor interface for NameClass.
 

Class Summary
AnyNameClass a NameClass that matches any name.
AttributeExp Attribute declaration.
BinaryExp Base implementation for those expression which has two child expressions.
ChoiceExp A|B.
ChoiceNameClass Union of two NameClasses.
ConcurExp <concur> pattern of TREX.
DifferenceNameClass <difference> name class.
ElementExp Element declaration.
Expression Primitive of the tree regular expression.
ExpressionCloner clones an expression.
ExpressionPool Creates a new Expression by combining existing expressions.
ExpressionPool.ClosedHash expression cache by closed hash.
IDREFType very limited 'IDREF' type of XML Schema Part 2.
IDType very limited 'ID' type of XML Schema Part 2.
InterleaveExp <interleave> pattern of TREX, or <all> particle of XML Schema.
KeyExp <key>/<keyref> of RELAX NG.
ListExp <list> of RELAX NG.
MixedExp <mixed> of RELAX.
NameClass validator of (namespaceURI,localPart) pair.
NamespaceNameClass NameClass that matchs any names in a particular namespace.
NotNameClass NameClass that acts a not operator.
OneOrMoreExp A+.
OtherExp Base class for application-specific AGM annotation.
ReferenceContainer Container of ReferenceExp.
ReferenceExp Reference to the other expression.
SequenceExp A,B.
SimpleNameClass a NameClass that accepts only one fixed name.
TypedStringExp Expression that matchs characters of the particular DataType.
UnaryExp Base implementation for those expression who has one child expresison.
 

Package com.sun.msv.grammar Description

abstract grammar model(AGM): common part.

ID/IDREF support

Support for 'ID' and 'IDREF' types are implemented in this package, due to the restriction of the implementation.

The implementation in this package works as follows:

This implementation implies very severe limitations. For example, consider the following TREX pattern.

<element name="foo">
<choice>
<attribute name="bar" type="ID" />
<attribute name="bar" type="string" />
</choice>
<element name="child">
<attribute name="id" type="ID" />
</element>
</element>

And the following XML fragment.

<foo bar="xyz"> <child id="xyz" /> </foo>

This implementation cannot validate the above fragment, because "xyz" is registered as an ID when "bar" attribute is tested against "ID" type. IDREF type also has similar problems.

Note that RELAX prohibits these "abuse" of ID/IDREF in the way that this implementation works.