abstract grammar model(AGM): common part.
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.
| Modifier and Type | Interface and Description |
|---|---|
| public interface | |
| 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 ValidationContextProvider that supports limited ID/IDREF implementation.
IDContextProvider2.
|
| 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. |
| Modifier and Type | Class 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 | ChoiceExp
A|B. |
| public class | ChoiceNameClass
Union of two NameClasses. |
| public class | ConcurExp
<concur> pattern of TREX. |
| public class | |
| 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 | OneOrMoreExp
A+. |
| 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 | SequenceExp
A,B. |
| 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 |