• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java NodeSet类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.sun.org.apache.xpath.internal.NodeSet的典型用法代码示例。如果您正苦于以下问题:Java NodeSet类的具体用法?Java NodeSet怎么用?Java NodeSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



NodeSet类属于com.sun.org.apache.xpath.internal包,在下文中一共展示了NodeSet类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: leading

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:leading function returns the nodes in the node set passed as the first argument that
 * precede, in document order, the first node in the node set passed as the second argument. If
 * the first node in the second node set is not contained in the first node set, then an empty
 * node set is returned. If the second node set is empty, then the first node set is returned.
 *
 * @param nl1 NodeList for first node-set.
 * @param nl2 NodeList for second node-set.
 * @return a NodeList containing the nodes in nl1 that precede in document order the first
 * node in nl2; an empty node-set if the first node in nl2 is not in nl1; all of nl1 if nl2
 * is empty.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList leading (NodeList nl1, NodeList nl2)
{
  if (nl2.getLength() == 0)
    return nl1;

  NodeSet ns1 = new NodeSet(nl1);
  NodeSet leadNodes = new NodeSet();
  Node endNode = nl2.item(0);
  if (!ns1.contains(endNode))
    return leadNodes; // empty NodeSet

  for (int i = 0; i < nl1.getLength(); i++)
  {
    Node testNode = nl1.item(i);
    if (DOMHelper.isNodeAfter(testNode, endNode)
        && !DOMHelper.isNodeTheSame(testNode, endNode))
      leadNodes.addElement(testNode);
  }
  return leadNodes;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:35,代码来源:ExsltSets.java


示例2: trailing

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:trailing function returns the nodes in the node set passed as the first argument that
 * follow, in document order, the first node in the node set passed as the second argument. If
 * the first node in the second node set is not contained in the first node set, then an empty
 * node set is returned. If the second node set is empty, then the first node set is returned.
 *
 * @param nl1 NodeList for first node-set.
 * @param nl2 NodeList for second node-set.
 * @return a NodeList containing the nodes in nl1 that follow in document order the first
 * node in nl2; an empty node-set if the first node in nl2 is not in nl1; all of nl1 if nl2
 * is empty.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList trailing (NodeList nl1, NodeList nl2)
{
  if (nl2.getLength() == 0)
    return nl1;

  NodeSet ns1 = new NodeSet(nl1);
  NodeSet trailNodes = new NodeSet();
  Node startNode = nl2.item(0);
  if (!ns1.contains(startNode))
    return trailNodes; // empty NodeSet

  for (int i = 0; i < nl1.getLength(); i++)
  {
    Node testNode = nl1.item(i);
    if (DOMHelper.isNodeAfter(startNode, testNode)
        && !DOMHelper.isNodeTheSame(startNode, testNode))
      trailNodes.addElement(testNode);
  }
  return trailNodes;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:35,代码来源:ExsltSets.java


示例3: intersection

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:intersection function returns a node set comprising the nodes that are within
 * both the node sets passed as arguments to it.
 *
 * @param nl1 NodeList for first node-set.
 * @param nl2 NodeList for second node-set.
 * @return a NodeList containing the nodes in nl1 that are also
 * in nl2.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList intersection(NodeList nl1, NodeList nl2)
{
  NodeSet ns1 = new NodeSet(nl1);
  NodeSet ns2 = new NodeSet(nl2);
  NodeSet inter = new NodeSet();

  inter.setShouldCacheNodes(true);

  for (int i = 0; i < ns1.getLength(); i++)
  {
    Node n = ns1.elementAt(i);

    if (ns2.contains(n))
      inter.addElement(n);
  }

  return inter;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:30,代码来源:ExsltSets.java


示例4: difference

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:difference function returns the difference between two node sets - those nodes that
 * are in the node set passed as the first argument that are not in the node set passed as the
 * second argument.
 *
 * @param nl1 NodeList for first node-set.
 * @param nl2 NodeList for second node-set.
 * @return a NodeList containing the nodes in nl1 that are not in nl2.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList difference(NodeList nl1, NodeList nl2)
{
  NodeSet ns1 = new NodeSet(nl1);
  NodeSet ns2 = new NodeSet(nl2);

  NodeSet diff = new NodeSet();

  diff.setShouldCacheNodes(true);

  for (int i = 0; i < ns1.getLength(); i++)
  {
    Node n = ns1.elementAt(i);

    if (!ns2.contains(n))
      diff.addElement(n);
  }

  return diff;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:ExsltSets.java


示例5: distinct

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:distinct function returns a subset of the nodes contained in the node-set NS passed
 * as the first argument. Specifically, it selects a node N if there is no node in NS that has
 * the same string value as N, and that precedes N in document order.
 *
 * @param nl NodeList for the node-set.
 * @return a NodeList with nodes from nl containing distinct string values.
 * In other words, if more than one node in nl contains the same string value,
 * only include the first such node found.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList distinct(NodeList nl)
{
  NodeSet dist = new NodeSet();
  dist.setShouldCacheNodes(true);

  Hashtable stringTable = new Hashtable();

  for (int i = 0; i < nl.getLength(); i++)
  {
    Node currNode = nl.item(i);
    String key = toString(currNode);

    if (key == null)
      dist.addElement(currNode);
    else if (!stringTable.containsKey(key))
    {
      stringTable.put(key, currNode);
      dist.addElement(currNode);
    }
  }

  return dist;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:36,代码来源:ExsltSets.java


示例6: hasSameNodes

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * Returns true if both node-sets contain the same set of nodes.
 *
 * @param nl1 NodeList for first node-set
 * @param nl2 NodeList for second node-set
 * @return true if nl1 and nl2 contain exactly the same set of nodes.
 */
public static boolean hasSameNodes(NodeList nl1, NodeList nl2)
{

  NodeSet ns1 = new NodeSet(nl1);
  NodeSet ns2 = new NodeSet(nl2);

  if (ns1.getLength() != ns2.getLength())
    return false;

  for (int i = 0; i < ns1.getLength(); i++)
  {
    Node n = ns1.elementAt(i);

    if (!ns2.contains(n))
      return false;
  }

  return true;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:Extensions.java


示例7: tokenize

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * Returns a NodeSet containing one text node for each token in the first argument.
 * Delimiters are specified in the second argument.
 * Tokens are determined by a call to <code>StringTokenizer</code>.
 * If the first argument is an empty string or contains only delimiters, the result
 * will be an empty NodeSet.
 *
 * Contributed to XalanJ1 by <a href="mailto:[email protected]">Benoit Cerrina</a>.
 *
 * @param toTokenize The string to be split into text tokens.
 * @param delims The delimiters to use.
 * @return a NodeSet as described above.
 */
public static NodeList tokenize(String toTokenize, String delims)
{

  Document doc = getDocument();

  StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims);
  NodeSet resultSet = new NodeSet();

  synchronized (doc)
  {
    while (lTokenizer.hasMoreTokens())
    {
      resultSet.addNode(doc.createTextNode(lTokenizer.nextToken()));
    }
  }

  return resultSet;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:32,代码来源:Extensions.java


示例8: highest

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The math:highest function returns the nodes in the node set whose value is the maximum
 * value for the node set. The maximum value for the node set is the same as the value as
 * calculated by math:max. A node has this maximum value if the result of converting its
 * string value to a number as if by the number function is equal to the maximum value,
 * where the equality comparison is defined as a numerical comparison using the = operator.
 * <p>
 * If any of the nodes in the node set has a non-numeric value, the math:max function will
 * return NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any
 * of the nodes in the node set has a non-numeric value, math:highest will return an empty
 * node set.
 *
 * @param nl The NodeList for the node-set to be evaluated.
 *
 * @return node-set with nodes containing the maximum value found, an empty node-set
 * if any node cannot be converted to a number.
 */
public static NodeList highest (NodeList nl)
{
  double maxValue = max(nl);

  NodeSet highNodes = new NodeSet();
  highNodes.setShouldCacheNodes(true);

  if (Double.isNaN(maxValue))
    return highNodes;  // empty Nodeset

  for (int i = 0; i < nl.getLength(); i++)
  {
    Node n = nl.item(i);
    double d = toNumber(n);
    if (d == maxValue)
      highNodes.addElement(n);
  }
  return highNodes;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:37,代码来源:ExsltMath.java


示例9: lowest

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The math:lowest function returns the nodes in the node set whose value is the minimum value
 * for the node set. The minimum value for the node set is the same as the value as calculated
 * by math:min. A node has this minimum value if the result of converting its string value to
 * a number as if by the number function is equal to the minimum value, where the equality
 * comparison is defined as a numerical comparison using the = operator.
 * <p>
 * If any of the nodes in the node set has a non-numeric value, the math:min function will return
 * NaN. The definition numeric comparisons entails that NaN != NaN. Therefore if any of the nodes
 * in the node set has a non-numeric value, math:lowest will return an empty node set.
 *
 * @param nl The NodeList for the node-set to be evaluated.
 *
 * @return node-set with nodes containing the minimum value found, an empty node-set
 * if any node cannot be converted to a number.
 *
 */
public static NodeList lowest (NodeList nl)
{
  double minValue = min(nl);

  NodeSet lowNodes = new NodeSet();
  lowNodes.setShouldCacheNodes(true);

  if (Double.isNaN(minValue))
    return lowNodes;  // empty Nodeset

  for (int i = 0; i < nl.getLength(); i++)
  {
    Node n = nl.item(i);
    double d = toNumber(n);
    if (d == minValue)
      lowNodes.addElement(n);
  }
  return lowNodes;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:37,代码来源:ExsltMath.java


示例10: leading

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:leading function returns the nodes in the node set passed as the first argument that
 * precede, in document order, the first node in the node set passed as the second argument. If
 * the first node in the second node set is not contained in the first node set, then an empty
 * node set is returned. If the second node set is empty, then the first node set is returned.
 *
 * @param nl1 NodeList for first node-set.
 * @param nl2 NodeList for second node-set.
 * @return a NodeList containing the nodes in nl1 that precede in document order the first
 * node in nl2; an empty node-set if the first node in nl2 is not in nl1; all of nl1 if nl2
 * is empty.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList leading (NodeList nl1, NodeList nl2)
{
  if (nl2.getLength() == 0)
    return nl1;

  NodeSet ns1 = new NodeSet(nl1);
  NodeSet leadNodes = new NodeSet();
  Node endNode = nl2.item(0);
  if (!ns1.contains(endNode))
    return leadNodes; // empty NodeSet

  for (int i = 0; i < nl1.getLength(); i++)
  {
    Node testNode = nl1.item(i);
    if (DOM2Helper.isNodeAfter(testNode, endNode)
        && !DOM2Helper.isNodeTheSame(testNode, endNode))
      leadNodes.addElement(testNode);
  }
  return leadNodes;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:35,代码来源:ExsltSets.java


示例11: trailing

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:trailing function returns the nodes in the node set passed as the first argument that
 * follow, in document order, the first node in the node set passed as the second argument. If
 * the first node in the second node set is not contained in the first node set, then an empty
 * node set is returned. If the second node set is empty, then the first node set is returned.
 *
 * @param nl1 NodeList for first node-set.
 * @param nl2 NodeList for second node-set.
 * @return a NodeList containing the nodes in nl1 that follow in document order the first
 * node in nl2; an empty node-set if the first node in nl2 is not in nl1; all of nl1 if nl2
 * is empty.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList trailing (NodeList nl1, NodeList nl2)
{
  if (nl2.getLength() == 0)
    return nl1;

  NodeSet ns1 = new NodeSet(nl1);
  NodeSet trailNodes = new NodeSet();
  Node startNode = nl2.item(0);
  if (!ns1.contains(startNode))
    return trailNodes; // empty NodeSet

  for (int i = 0; i < nl1.getLength(); i++)
  {
    Node testNode = nl1.item(i);
    if (DOM2Helper.isNodeAfter(startNode, testNode)
        && !DOM2Helper.isNodeTheSame(startNode, testNode))
      trailNodes.addElement(testNode);
  }
  return trailNodes;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:35,代码来源:ExsltSets.java


示例12: distinct

import com.sun.org.apache.xpath.internal.NodeSet; //导入依赖的package包/类
/**
 * The set:distinct function returns a subset of the nodes contained in the node-set NS passed
 * as the first argument. Specifically, it selects a node N if there is no node in NS that has
 * the same string value as N, and that precedes N in document order.
 *
 * @param nl NodeList for the node-set.
 * @return a NodeList with nodes from nl containing distinct string values.
 * In other words, if more than one node in nl contains the same string value,
 * only include the first such node found.
 *
 * @see <a href="http://www.exslt.org/">EXSLT</a>
 */
public static NodeList distinct(NodeList nl)
{
  NodeSet dist = new NodeSet();
  dist.setShouldCacheNodes(true);

  Map<String, Node> stringTable = new HashMap<>();

  for (int i = 0; i < nl.getLength(); i++)
  {
    Node currNode = nl.item(i);
    String key = toString(currNode);

    if (key == null)
      dist.addElement(currNode);
    else if (!stringTable.containsKey(key))
    {
      stringTable.put(key, currNode);
      dist.addElement(currNode);
    }
  }

  return dist;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:36,代码来源:ExsltSets.java



注:本文中的com.sun.org.apache.xpath.internal.NodeSet类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java TreeTransformer类代码示例发布时间:2022-05-22
下一篇:
Java OAuthClientResponseFactory类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap