com.thaiopensource.relaxng.pattern.AttributeNameClassChecker 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.WellKnownNamespaces;
import com.thaiopensource.xml.util.Name;
class AttributeNameClassChecker implements NameClassVisitor {
private String errorMessageId = null;
public void visitChoice(NameClass nc1, NameClass nc2) {
nc1.accept(this);
nc2.accept(this);
}
public void visitNsName(String ns) {
if (ns.equals(WellKnownNamespaces.XMLNS))
errorMessageId = "xmlns_uri_attribute";
}
public void visitNsNameExcept(String ns, NameClass nc) {
visitNsName(ns);
nc.accept(this);
}
public void visitAnyName() { }
public void visitAnyNameExcept(NameClass nc) {
nc.accept(this);
}
public void visitName(Name name) {
visitNsName(name.getNamespaceUri());
if (name.equals(new Name("", "xmlns")))
errorMessageId = "xmlns_attribute";
}
public void visitNull() { }
public void visitError() { }
String checkNameClass(NameClass nc) {
errorMessageId = null;
nc.accept(this);
return errorMessageId;
}
}