// document trees, eg RTFs. But in that case, we shouldn't be trying
// to iterate over the whole DTM; we should be iterating over
// dtm.getDocumentRoot(rootNodeHandle), and folks should have told us
// this by passing a more appropriate type.
iterator.setRoot(dtm.getDocument(), xctxt);
value = new XNodeSet(iterator);
}
else if (obj instanceof DTMAxisIterator)
{
DTMAxisIterator iter = (DTMAxisIterator)obj;
DTMIterator iterator = new OneStepIterator(iter, -1);
value = new XNodeSet(iterator);
}
else if (obj instanceof DTMIterator)
{
value = new XNodeSet((DTMIterator) obj);
}
else if (obj instanceof NodeIterator)
{
value = new XNodeSet(new org.apache.xpath.NodeSetDTM(((NodeIterator)obj), xctxt));
}
else if (obj instanceof org.w3c.dom.Node)
{
value =
new XNodeSet(xctxt.getDTMHandleFromNode((org.w3c.dom.Node) obj),
xctxt.getDTMManager());
}
else
{
value = new XString(obj.toString());