Top Description Interfaces Classes
[default module]

Package com.sun.msv.grammar


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.

Interface Summary

Modifier and TypeInterface and Description
public interface
DataOrValueExp

The common interface for DataExp and ValueExp

public interface
ExpressionVisitor

Visitor interface for Expression and its derived types.

public interface
ExpressionVisitorBoolean

ExpressionVisitor that returns boolean.

public interface
ExpressionVisitorExpression

ExpressionVisitor that returns Expression object.

public interface
ExpressionVisitorVoid

ExpressionVisitor that returns void.

public interface
Grammar

base interface of the "grammar".

public interface
IDContextProvider

Deprecated use IDContextProvider2.
ValidationContextProvider that supports limited ID/IDREF implementation.
public interface
IDContextProvider2

ValidationContextProvider that supports limited ID/IDREF implementation.

public interface
NameClassAndExpression

common interface of AttributeExp and ElementExp.

public interface
NameClassVisitor

Visitor interface for NameClass.

Class Summary

Modifier and TypeClass and Description
public class
AnyNameClass

a NameClass that matches any name.

public class
AttributeExp

Attribute declaration.

public abstract class
BinaryExp

Base implementation for those expression which has two child expressions.

public class
public class
ChoiceNameClass

Union of two NameClasses.

public class
ConcurExp

<concur> pattern of TREX.

public class
DataExp

Expression that matchs characters of the particular Datatype.

public class
DifferenceNameClass

<difference> name class.

public abstract class
ElementExp

Element declaration.

public abstract class
Expression

Primitive of the tree regular expression.

public abstract class
ExpressionCloner

clones an expression.

public class
ExpressionPool

Creates a new Expression by combining existing expressions.

public class
InterleaveExp

<interleave> pattern of TREX, or <all> particle of XML Schema.

public class
ListExp

<list> of RELAX NG.

public class
MixedExp

<mixed> of RELAX.

public abstract class
NameClass

validator of (namespaceURI,localPart) pair.

public class
NamespaceNameClass

NameClass that matchs any names in a particular namespace.

public class
NotNameClass

NameClass that acts a not operator.

public class
public class
OtherExp

Base class for application-specific AGM annotation.

public abstract class
ReferenceContainer

Container of ReferenceExp.

public class
ReferenceExp

Reference to the other expression.

public class
public class
SimpleNameClass

a NameClass that accepts only one fixed name.

public abstract class
UnaryExp

Base implementation for those expression who has one child expresison.

public class
ValueExp

Expression that matchs a particular value of a Datatype.