| Method from org.dom4j.datatype.DatatypeElementFactory Detail: |
public Attribute createAttribute(Element owner,
QName qname,
String value) {
XSDatatype dataType = getAttributeXSDatatype(qname);
if (dataType == null) {
return super.createAttribute(owner, qname, value);
} else {
return new DatatypeAttribute(qname, dataType, value);
}
}
|
public Element createElement(QName qname) {
// the element may have its own element factory!
// use factory from the qname for datatype
XSDatatype dataType = getChildElementXSDatatype(qname);
if (dataType != null) {
return new DatatypeElement(qname, dataType);
}
DocumentFactory factory = qname.getDocumentFactory();
if (factory instanceof DatatypeElementFactory) {
DatatypeElementFactory dtFactory = (DatatypeElementFactory) factory;
dataType = dtFactory.getChildElementXSDatatype(qname);
if (dataType != null) {
return new DatatypeElement(qname, dataType);
}
}
return super.createElement(qname);
}
|
public XSDatatype getAttributeXSDatatype(QName attributeQName) {
return (XSDatatype) attributeXSDatatypes.get(attributeQName);
}
|
public XSDatatype getChildElementXSDatatype(QName qname) {
return (XSDatatype) childrenXSDatatypes.get(qname);
}
|
public QName getQName() {
return elementQName;
}
|
public void setAttributeXSDatatype(QName attributeQName,
XSDatatype type) {
attributeXSDatatypes.put(attributeQName, type);
}
Registers the given XSDatatype for the given
<attribute> QNames |
public void setChildElementXSDatatype(QName qname,
XSDatatype dataType) {
childrenXSDatatypes.put(qname, dataType);
}
|