use of org.apache.xml.dtm.DTM in project robovm by robovm.
the class SerializerUtils method addAttributes.
// end copyAttributeToTarget method
/**
* Copy DOM attributes to the result element.
*
* @param src Source node with the attributes
*
* @throws TransformerException
*/
public static void addAttributes(SerializationHandler handler, int src) throws TransformerException {
TransformerImpl transformer = (TransformerImpl) handler.getTransformer();
DTM dtm = transformer.getXPathContext().getDTM(src);
for (int node = dtm.getFirstAttribute(src); DTM.NULL != node; node = dtm.getNextAttribute(node)) {
addAttribute(handler, node);
}
}
use of org.apache.xml.dtm.DTM in project robovm by robovm.
the class XObject method rtf.
/**
* Cast result object to a result tree fragment.
*
* @param support XPath context to use for the conversion
*
* @return the objec as a result tree fragment.
*/
public int rtf(XPathContext support) {
int result = rtf();
if (DTM.NULL == result) {
DTM frag = support.createDocumentFragment();
// %OPT%
frag.appendTextChild(str());
result = frag.getDocument();
}
return result;
}
use of org.apache.xml.dtm.DTM in project robovm by robovm.
the class XObject method rtree.
/**
* Cast result object to a result tree fragment.
*
* @param support XPath context to use for the conversion
*
* @return the objec as a result tree fragment.
*/
public DocumentFragment rtree(XPathContext support) {
DocumentFragment docFrag = null;
int result = rtf();
if (DTM.NULL == result) {
DTM frag = support.createDocumentFragment();
// %OPT%
frag.appendTextChild(str());
docFrag = (DocumentFragment) frag.getNode(frag.getDocument());
} else {
DTM frag = support.getDTM(result);
docFrag = (DocumentFragment) frag.getNode(frag.getDocument());
}
return docFrag;
}
use of org.apache.xml.dtm.DTM in project robovm by robovm.
the class XObjectFactory method create.
/**
* Create the right XObject based on the type of the object passed.
* This function <emph>can</emph> make an XObject that exposes DOM Nodes, NodeLists, and
* NodeIterators to the XSLT stylesheet as node-sets.
*
* @param val The java object which this object will wrap.
* @param xctxt The XPath context.
*
* @return the right XObject based on the type of the object passed.
*/
public static XObject create(Object val, XPathContext xctxt) {
XObject result;
if (val instanceof XObject) {
result = (XObject) val;
} else if (val instanceof String) {
result = new XString((String) val);
} else if (val instanceof Boolean) {
result = new XBoolean((Boolean) val);
} else if (val instanceof Number) {
result = new XNumber(((Number) val));
} else if (val instanceof DTM) {
DTM dtm = (DTM) val;
try {
int dtmRoot = dtm.getDocument();
DTMAxisIterator iter = dtm.getAxisIterator(Axis.SELF);
iter.setStartNode(dtmRoot);
DTMIterator iterator = new OneStepIterator(iter, Axis.SELF);
iterator.setRoot(dtmRoot, xctxt);
result = new XNodeSet(iterator);
} catch (Exception ex) {
throw new org.apache.xml.utils.WrappedRuntimeException(ex);
}
} else if (val instanceof DTMAxisIterator) {
DTMAxisIterator iter = (DTMAxisIterator) val;
try {
DTMIterator iterator = new OneStepIterator(iter, Axis.SELF);
iterator.setRoot(iter.getStartNode(), xctxt);
result = new XNodeSet(iterator);
} catch (Exception ex) {
throw new org.apache.xml.utils.WrappedRuntimeException(ex);
}
} else if (val instanceof DTMIterator) {
result = new XNodeSet((DTMIterator) val);
} else // might also implement a Node!
if (val instanceof org.w3c.dom.Node) {
result = new XNodeSetForDOM((org.w3c.dom.Node) val, xctxt);
} else // also implement NodeList.
if (val instanceof org.w3c.dom.NodeList) {
result = new XNodeSetForDOM((org.w3c.dom.NodeList) val, xctxt);
} else if (val instanceof org.w3c.dom.traversal.NodeIterator) {
result = new XNodeSetForDOM((org.w3c.dom.traversal.NodeIterator) val, xctxt);
} else {
result = new XObject(val);
}
return result;
}
use of org.apache.xml.dtm.DTM in project robovm by robovm.
the class XRTreeFrag method initDTM.
private final void initDTM(int root, XPathContext xctxt) {
m_dtmRoot = root;
final DTM dtm = xctxt.getDTM(root);
if (dtm != null) {
m_DTMXRTreeFrag = xctxt.getDTMXRTreeFrag(xctxt.getDTMIdentity(dtm));
}
}
Aggregations