![JAR search and dependency download from the Maven repository](/logo.png)
com.thaiopensource.relaxng.impl.DataPattern Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jing Show documentation
Show all versions of jing Show documentation
A branch of Jing used by the Nu Html Checker. (Jing is a tool for validating documents against RelaxNG schemas.)
The newest version!
package com.thaiopensource.relaxng.impl;
import com.thaiopensource.datatype.Datatype2;
import org.relaxng.datatype.Datatype;
class DataPattern extends StringPattern {
private final Datatype dt;
DataPattern(Datatype dt) {
super(combineHashCode(DATA_HASH_CODE, dt.hashCode()));
this.dt = dt;
}
boolean samePattern(Pattern other) {
if (other.getClass() != this.getClass())
return false;
return dt.equals(((DataPattern)other).dt);
}
void accept(PatternVisitor visitor) {
visitor.visitData(dt);
}
Object apply(PatternFunction f) {
return f.caseData(this);
}
Datatype getDatatype() {
return dt;
}
boolean allowsAnyString() {
return dt instanceof Datatype2 && ((Datatype2)dt).alwaysValid();
}
void checkRestrictions(int context, DuplicateAttributeDetector dad, Alphabet alpha)
throws RestrictionViolationException {
switch (context) {
case START_CONTEXT:
throw new RestrictionViolationException("start_contains_data");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy