: URIReference.fromQName(this, uri, localName);
if (taint.isTainted())
predicate.taint();
taint = new TaintImpl();
AttributeLexer ap = new AttributeLexer(this,
// xml:
A_XMLLANG | A_XMLBASE | A_XML_OTHER
// legal rdf:
| A_DATATYPE | A_ID | A_NODEID | A_PARSETYPE
| A_RESOURCE | A_TYPE,
// bad rdf:
A_BADATTRS);
int cnt = ap.processSpecials(taint, atts);
// These three states are intended as mutually
// incompatible, but all three can occur
// together. Any two of the three, or all
// three is a syntax errror.
// Having none of these is legal.
final int nextStateCode = (ap.datatype == null ? 0 : TYPEDLITERAL)
| (ap.parseType == null ? 0 : PARSETYPE)
| (mustBeEmpty(ap, atts, cnt) ? EMPTYWITHOBJ : 0);
if (this.badStateCode(nextStateCode)) {
warning(errorNumber(nextStateCode), descriptionOfCases(ap,
nextStateCode, propertyAttributeDescription(atts, ap, cnt)));
}
AbsXMLContext x = ap.xml(xml);
reify = ap.id == null ? null : URIReference.fromID(this, x, ap.id);
if (taint.isTainted())
predicate.taint();