} else if ("".equals(ns)) {
//ignore
} else {
String qn = attributes.getQName(i);
String v = attributes.getValue(i);
XMPProperty prop = new XMPProperty(new QName(ns, qn), v);
getCurrentProperties().setProperty(prop);
}
}
if (this.contextStack.peek().equals(this.meta)) {
//rdf:RDF is the parent
} else {
if (about != null) {
throw new SAXException(
"Nested rdf:Description elements may not have an about property");
}
startStructure();
}
} else if ("Seq".equals(localName)) {
XMPArray array = new XMPArray(XMPArrayType.SEQ);
this.contextStack.push(array);
this.nestingInfoStack.push("Seq");
} else if ("Bag".equals(localName)) {
XMPArray array = new XMPArray(XMPArrayType.BAG);
this.contextStack.push(array);
this.nestingInfoStack.push("Bag");
} else if ("Alt".equals(localName)) {
XMPArray array = new XMPArray(XMPArrayType.ALT);
this.contextStack.push(array);
this.nestingInfoStack.push("Alt");
} else if ("li".equals(localName)) {
//nop, handle in endElement()
} else if ("value".equals(localName)) {
QName name = new QName(uri, qName);
this.contextStack.push(name);
this.nestingInfoStack.push("prop:" + name);
} else {
throw new SAXException("Unexpected element in the RDF namespace: " + localName);
}
} else {
if (getCurrentPropName() != null) {
//Structure (shorthand form)
startStructure();
}
QName name = new QName(uri, qName);
this.contextStack.push(name);
this.nestingInfoStack.push("prop:" + name);
}
}