com.thaiopensource.relaxng.pattern.RequiredElementsFunction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wicketstuff-jing Show documentation
Show all versions of wicketstuff-jing Show documentation
Jing is a validator for RELAX NG and other schema languages. This
project was taken from http://code.google.com/p/jing-trang and
mavenized for inclusion in the Wicket Stuff HTML Validator.
The code was taken from the 20091111 release.
package com.thaiopensource.relaxng.pattern;
import com.thaiopensource.xml.util.Name;
import java.util.Set;
/**
* Implements a function on a pattern that returns the set of required elements.
* The return value is a non-null Set each member of is a non-null Name. Note that
* in the schema element foo|bar { text }, neither foo nor bar are required elements.
*/
public class RequiredElementsFunction extends RequiredElementsOrAttributesFunction {
public Set caseElement(ElementPattern p) {
return caseNamed(p.getNameClass());
}
public Set caseGroup(GroupPattern p) {
Pattern p1 = p.getOperand1();
if (!p1.isNullable())
return p1.apply(this);
return p.getOperand2().apply(this);
}
}