Java 类org.w3c.dom.xpath.XPathResult 实例源码

项目:javify    文件:DomXPathResult.java   
public Node getSingleNodeValue()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      if (ns.isEmpty ())
        {
          return null;
        }
      else
        {
          return (Node) ns.iterator ().next ();
        }
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:javify    文件:DomXPathResult.java   
public Node snapshotItem(int index)
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      Node[] nodes = new Node[ns.size ()];
      ns.toArray (nodes);
      return nodes[index];
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:javify    文件:DomXPathResult.java   
private String typeName (short type)
{
  switch (type)
    {
    case XPathResult.BOOLEAN_TYPE:
      return "BOOLEAN_TYPE";
    case XPathResult.NUMBER_TYPE:
      return "NUMBER_TYPE";
    case XPathResult.STRING_TYPE:
      return "STRING_TYPE";
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
      return "FIRST_ORDERED_NODE_TYPE";
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
      return "ORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
      return "ORDERED_NODE_SNAPSHOT_TYPE";
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
      return "UNORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return "UNORDERED_NODE_SNAPSHOT_TYPE";
    default:
      return "(unknown)";
    }
}
项目:jvm-stm    文件:DomXPathResult.java   
public Node getSingleNodeValue()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      if (ns.isEmpty ())
        {
          return null;
        }
      else
        {
          return (Node) ns.iterator ().next ();
        }
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:jvm-stm    文件:DomXPathResult.java   
public Node snapshotItem(int index)
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      Node[] nodes = new Node[ns.size ()];
      ns.toArray (nodes);
      return nodes[index];
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:jvm-stm    文件:DomXPathResult.java   
private String typeName (short type)
{
  switch (type)
    {
    case XPathResult.BOOLEAN_TYPE:
      return "BOOLEAN_TYPE";
    case XPathResult.NUMBER_TYPE:
      return "NUMBER_TYPE";
    case XPathResult.STRING_TYPE:
      return "STRING_TYPE";
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
      return "FIRST_ORDERED_NODE_TYPE";
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
      return "ORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
      return "ORDERED_NODE_SNAPSHOT_TYPE";
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
      return "UNORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return "UNORDERED_NODE_SNAPSHOT_TYPE";
    default:
      return "(unknown)";
    }
}
项目:JamVM-PH    文件:DomXPathResult.java   
public Node getSingleNodeValue()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      if (ns.isEmpty ())
        {
          return null;
        }
      else
        {
          return (Node) ns.iterator ().next ();
        }
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:JamVM-PH    文件:DomXPathResult.java   
public Node snapshotItem(int index)
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      Node[] nodes = new Node[ns.size ()];
      ns.toArray (nodes);
      return nodes[index];
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:JamVM-PH    文件:DomXPathResult.java   
private String typeName (short type)
{
  switch (type)
    {
    case XPathResult.BOOLEAN_TYPE:
      return "BOOLEAN_TYPE";
    case XPathResult.NUMBER_TYPE:
      return "NUMBER_TYPE";
    case XPathResult.STRING_TYPE:
      return "STRING_TYPE";
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
      return "FIRST_ORDERED_NODE_TYPE";
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
      return "ORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
      return "ORDERED_NODE_SNAPSHOT_TYPE";
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
      return "UNORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return "UNORDERED_NODE_SNAPSHOT_TYPE";
    default:
      return "(unknown)";
    }
}
项目:classpath    文件:DomXPathResult.java   
public Node getSingleNodeValue()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      if (ns.isEmpty ())
        {
          return null;
        }
      else
        {
          return (Node) ns.iterator ().next ();
        }
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:classpath    文件:DomXPathResult.java   
public Node snapshotItem(int index)
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      Collection ns = (Collection) value;
      Node[] nodes = new Node[ns.size ()];
      ns.toArray (nodes);
      return nodes[index];
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:classpath    文件:DomXPathResult.java   
private String typeName (short type)
{
  switch (type)
    {
    case XPathResult.BOOLEAN_TYPE:
      return "BOOLEAN_TYPE";
    case XPathResult.NUMBER_TYPE:
      return "NUMBER_TYPE";
    case XPathResult.STRING_TYPE:
      return "STRING_TYPE";
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
      return "FIRST_ORDERED_NODE_TYPE";
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
      return "ORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
      return "ORDERED_NODE_SNAPSHOT_TYPE";
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
      return "UNORDERED_NODE_ITERATOR_TYPE";
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return "UNORDERED_NODE_SNAPSHOT_TYPE";
    default:
      return "(unknown)";
    }
}
项目:javify    文件:DomXPathResult.java   
DomXPathResult (Object value, short requestedType)
{
  this.value = value;
  if (value instanceof Boolean)
    {
      type = XPathResult.BOOLEAN_TYPE;
    }
  else if (value instanceof Double)
    {
      type = XPathResult.NUMBER_TYPE;
    }
  else if (value instanceof String)
    {
      type = XPathResult.STRING_TYPE;
    }
  else if (value instanceof Collection)
    {
      Collection ns = (Collection) value;
      switch (requestedType)
        {
        case XPathResult.ANY_TYPE:
        case XPathResult.ANY_UNORDERED_NODE_TYPE:
          type = (ns.size () == 1) ? XPathResult.FIRST_ORDERED_NODE_TYPE :
            XPathResult.ORDERED_NODE_ITERATOR_TYPE;
          break;
        default:
          type = requestedType;
        }
      iterator = ns.iterator ();
    }
  else
    {
      throw new IllegalArgumentException ();
    }
}
项目:javify    文件:DomXPathResult.java   
public boolean getBooleanValue()
{
  if (type == XPathResult.BOOLEAN_TYPE)
    {
      return ((Boolean) value).booleanValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:javify    文件:DomXPathResult.java   
public double getNumberValue()
{
  if (type == XPathResult.NUMBER_TYPE)
    {
      return ((Double) value).doubleValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:javify    文件:DomXPathResult.java   
public int getSnapshotLength()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return ((Collection) value).size ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:javify    文件:DomXPathResult.java   
public String getStringValue()
{
  if (type == XPathResult.STRING_TYPE)
    {
      return (String) value;
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:jvm-stm    文件:DomXPathResult.java   
DomXPathResult (Object value, short requestedType)
{
  this.value = value;
  if (value instanceof Boolean)
    {
      type = XPathResult.BOOLEAN_TYPE;
    }
  else if (value instanceof Double)
    {
      type = XPathResult.NUMBER_TYPE;
    }
  else if (value instanceof String)
    {
      type = XPathResult.STRING_TYPE;
    }
  else if (value instanceof Collection)
    {
      Collection ns = (Collection) value;
      switch (requestedType)
        {
        case XPathResult.ANY_TYPE:
        case XPathResult.ANY_UNORDERED_NODE_TYPE:
          type = (ns.size () == 1) ? XPathResult.FIRST_ORDERED_NODE_TYPE :
            XPathResult.ORDERED_NODE_ITERATOR_TYPE;
          break;
        default:
          type = requestedType;
        }
      iterator = ns.iterator ();
    }
  else
    {
      throw new IllegalArgumentException ();
    }
}
项目:jvm-stm    文件:DomXPathResult.java   
public boolean getBooleanValue()
{
  if (type == XPathResult.BOOLEAN_TYPE)
    {
      return ((Boolean) value).booleanValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:jvm-stm    文件:DomXPathResult.java   
public double getNumberValue()
{
  if (type == XPathResult.NUMBER_TYPE)
    {
      return ((Double) value).doubleValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:jvm-stm    文件:DomXPathResult.java   
public int getSnapshotLength()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return ((Collection) value).size ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:jvm-stm    文件:DomXPathResult.java   
public String getStringValue()
{
  if (type == XPathResult.STRING_TYPE)
    {
      return (String) value;
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:JamVM-PH    文件:DomXPathResult.java   
DomXPathResult (Object value, short requestedType)
{
  this.value = value;
  if (value instanceof Boolean)
    {
      type = XPathResult.BOOLEAN_TYPE;
    }
  else if (value instanceof Double)
    {
      type = XPathResult.NUMBER_TYPE;
    }
  else if (value instanceof String)
    {
      type = XPathResult.STRING_TYPE;
    }
  else if (value instanceof Collection)
    {
      Collection ns = (Collection) value;
      switch (requestedType)
        {
        case XPathResult.ANY_TYPE:
        case XPathResult.ANY_UNORDERED_NODE_TYPE:
          type = (ns.size () == 1) ? XPathResult.FIRST_ORDERED_NODE_TYPE :
            XPathResult.ORDERED_NODE_ITERATOR_TYPE;
          break;
        default:
          type = requestedType;
        }
      iterator = ns.iterator ();
    }
  else
    {
      throw new IllegalArgumentException ();
    }
}
项目:JamVM-PH    文件:DomXPathResult.java   
public boolean getBooleanValue()
{
  if (type == XPathResult.BOOLEAN_TYPE)
    {
      return ((Boolean) value).booleanValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:JamVM-PH    文件:DomXPathResult.java   
public double getNumberValue()
{
  if (type == XPathResult.NUMBER_TYPE)
    {
      return ((Double) value).doubleValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:JamVM-PH    文件:DomXPathResult.java   
public int getSnapshotLength()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return ((Collection) value).size ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:JamVM-PH    文件:DomXPathResult.java   
public String getStringValue()
{
  if (type == XPathResult.STRING_TYPE)
    {
      return (String) value;
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:classpath    文件:DomXPathResult.java   
DomXPathResult (Object value, short requestedType)
{
  this.value = value;
  if (value instanceof Boolean)
    {
      type = XPathResult.BOOLEAN_TYPE;
    }
  else if (value instanceof Double)
    {
      type = XPathResult.NUMBER_TYPE;
    }
  else if (value instanceof String)
    {
      type = XPathResult.STRING_TYPE;
    }
  else if (value instanceof Collection)
    {
      Collection ns = (Collection) value;
      switch (requestedType)
        {
        case XPathResult.ANY_TYPE:
        case XPathResult.ANY_UNORDERED_NODE_TYPE:
          type = (ns.size () == 1) ? XPathResult.FIRST_ORDERED_NODE_TYPE :
            XPathResult.ORDERED_NODE_ITERATOR_TYPE;
          break;
        default:
          type = requestedType;
        }
      iterator = ns.iterator ();
    }
  else
    {
      throw new IllegalArgumentException ();
    }
}
项目:classpath    文件:DomXPathResult.java   
public boolean getBooleanValue()
{
  if (type == XPathResult.BOOLEAN_TYPE)
    {
      return ((Boolean) value).booleanValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:classpath    文件:DomXPathResult.java   
public double getNumberValue()
{
  if (type == XPathResult.NUMBER_TYPE)
    {
      return ((Double) value).doubleValue ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:classpath    文件:DomXPathResult.java   
public int getSnapshotLength()
{
  switch (type)
    {
    case XPathResult.FIRST_ORDERED_NODE_TYPE:
    case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
    case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
    case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
      return ((Collection) value).size ();
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:classpath    文件:DomXPathResult.java   
public String getStringValue()
{
  if (type == XPathResult.STRING_TYPE)
    {
      return (String) value;
    }
  throw new XPathException (XPathException.TYPE_ERR, value.toString ());
}
项目:javify    文件:DomXPathExpression.java   
public Object evaluate(Node contextNode, short type, Object result)
  throws XPathException, DOMException
{
              try
                {
                              QName typeName = null;
                              switch (type)
                                {
                                              case XPathResult.BOOLEAN_TYPE:
                                                      typeName = XPathConstants.BOOLEAN;
                                                      break;
                                              case XPathResult.NUMBER_TYPE:
                                                      typeName = XPathConstants.NUMBER;
                                                      break;
                                              case XPathResult.STRING_TYPE:
                                                      typeName = XPathConstants.STRING;
                                                      break;
                                              case XPathResult.ANY_UNORDERED_NODE_TYPE:
                                              case XPathResult.FIRST_ORDERED_NODE_TYPE:
                                                      typeName = XPathConstants.NODE;
                                                      break;
                                              case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
                                              case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
                                              case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                                              case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                                                      typeName = XPathConstants.NODESET;
                                                      break;
                                              default:
                                                      throw new XPathException(XPathException.TYPE_ERR, null);
                                      }
                              Object val = expression.evaluate(contextNode, typeName);
                              switch (type)
                                {
                                              case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                                              case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                                                      // Sort the nodes
                                                      List ns = new ArrayList((Collection) val);
                                                      Collections.sort(ns, new DocumentOrderComparator());
                                                      val = ns;
                                      }
                              return new DomXPathResult(val, type);
                      }
              catch (javax.xml.xpath.XPathException e)
                {
                              throw new XPathException(XPathException.TYPE_ERR, e.getMessage());
                      }
}
项目:jvm-stm    文件:DomXPathExpression.java   
public Object evaluate(Node contextNode, short type, Object result)
  throws XPathException, DOMException
{
try
  {
        QName typeName = null;
        switch (type)
          {
                case XPathResult.BOOLEAN_TYPE:
                    typeName = XPathConstants.BOOLEAN;
                    break;
                case XPathResult.NUMBER_TYPE:
                    typeName = XPathConstants.NUMBER;
                    break;
                case XPathResult.STRING_TYPE:
                    typeName = XPathConstants.STRING;
                    break;
                case XPathResult.ANY_UNORDERED_NODE_TYPE:
                case XPathResult.FIRST_ORDERED_NODE_TYPE:
                    typeName = XPathConstants.NODE;
                    break;
                case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
                case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
                case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                    typeName = XPathConstants.NODESET;
                    break;
                default:
                    throw new XPathException(XPathException.TYPE_ERR, null);
            }
        Object val = expression.evaluate(contextNode, typeName);
        switch (type)
          {
                case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                    // Sort the nodes
                    List ns = new ArrayList((Collection) val);
                    Collections.sort(ns, new DocumentOrderComparator());
                    val = ns;
            }
        return new DomXPathResult(val, type);
    }
catch (javax.xml.xpath.XPathException e)
  {
        throw new XPathException(XPathException.TYPE_ERR, e.getMessage());
    }
}
项目:JamVM-PH    文件:DomXPathExpression.java   
public Object evaluate(Node contextNode, short type, Object result)
  throws XPathException, DOMException
{
try
  {
        QName typeName = null;
        switch (type)
          {
                case XPathResult.BOOLEAN_TYPE:
                    typeName = XPathConstants.BOOLEAN;
                    break;
                case XPathResult.NUMBER_TYPE:
                    typeName = XPathConstants.NUMBER;
                    break;
                case XPathResult.STRING_TYPE:
                    typeName = XPathConstants.STRING;
                    break;
                case XPathResult.ANY_UNORDERED_NODE_TYPE:
                case XPathResult.FIRST_ORDERED_NODE_TYPE:
                    typeName = XPathConstants.NODE;
                    break;
                case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
                case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
                case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                    typeName = XPathConstants.NODESET;
                    break;
                default:
                    throw new XPathException(XPathException.TYPE_ERR, null);
            }
        Object val = expression.evaluate(contextNode, typeName);
        switch (type)
          {
                case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                    // Sort the nodes
                    List ns = new ArrayList((Collection) val);
                    Collections.sort(ns, new DocumentOrderComparator());
                    val = ns;
            }
        return new DomXPathResult(val, type);
    }
catch (javax.xml.xpath.XPathException e)
  {
        throw new XPathException(XPathException.TYPE_ERR, e.getMessage());
    }
}
项目:classpath    文件:DomXPathExpression.java   
public Object evaluate(Node contextNode, short type, Object result)
  throws XPathException, DOMException
{
              try
                {
                              QName typeName = null;
                              switch (type)
                                {
                                              case XPathResult.BOOLEAN_TYPE:
                                                      typeName = XPathConstants.BOOLEAN;
                                                      break;
                                              case XPathResult.NUMBER_TYPE:
                                                      typeName = XPathConstants.NUMBER;
                                                      break;
                                              case XPathResult.STRING_TYPE:
                                                      typeName = XPathConstants.STRING;
                                                      break;
                                              case XPathResult.ANY_UNORDERED_NODE_TYPE:
                                              case XPathResult.FIRST_ORDERED_NODE_TYPE:
                                                      typeName = XPathConstants.NODE;
                                                      break;
                                              case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:
                                              case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:
                                              case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                                              case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                                                      typeName = XPathConstants.NODESET;
                                                      break;
                                              default:
                                                      throw new XPathException(XPathException.TYPE_ERR, null);
                                      }
                              Object val = expression.evaluate(contextNode, typeName);
                              switch (type)
                                {
                                              case XPathResult.ORDERED_NODE_ITERATOR_TYPE:
                                              case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:
                                                      // Sort the nodes
                                                      List ns = new ArrayList((Collection) val);
                                                      Collections.sort(ns, new DocumentOrderComparator());
                                                      val = ns;
                                      }
                              return new DomXPathResult(val, type);
                      }
              catch (javax.xml.xpath.XPathException e)
                {
                              throw new XPathException(XPathException.TYPE_ERR, e.getMessage());
                      }
}