本文整理汇总了Java中com.sun.org.apache.xpath.internal.patterns.NodeTest类的典型用法代码示例。如果您正苦于以下问题:Java NodeTest类的具体用法?Java NodeTest怎么用?Java NodeTest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NodeTest类属于com.sun.org.apache.xpath.internal.patterns包,在下文中一共展示了NodeTest类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: setRoot
import com.sun.org.apache.xpath.internal.patterns.NodeTest; //导入依赖的package包/类
/**
* Initialize the context values for this expression
* after it is cloned.
*
* @param context The XPath runtime context for this
* transformation.
*/
public void setRoot(int context, Object environment)
{
super.setRoot(context, environment);
m_traverser = m_cdtm.getAxisTraverser(m_axis);
String localName = getLocalName();
String namespace = getNamespace();
int what = m_whatToShow;
// System.out.println("what: ");
// NodeTest.debugWhatToShow(what);
if(DTMFilter.SHOW_ALL == what
|| NodeTest.WILD.equals(localName)
|| NodeTest.WILD.equals(namespace))
{
m_extendedTypeID = 0;
}
else
{
int type = getNodeTypeTest(what);
m_extendedTypeID = m_cdtm.getExpandedTypeID(namespace, localName, type);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:DescendantIterator.java
示例2: getStepNS
import com.sun.org.apache.xpath.internal.patterns.NodeTest; //导入依赖的package包/类
/**
* Get the namespace of the step.
*
* @param opPosOfStep The position of the FROM_XXX step.
*
* @return The step's namespace, NodeTest.WILD, or null for null namespace.
*/
public String getStepNS(int opPosOfStep)
{
int argLenOfStep = getArgLengthOfStep(opPosOfStep);
// System.out.println("getStepNS.argLenOfStep: "+argLenOfStep);
if (argLenOfStep == 3)
{
int index = m_opMap.elementAt(opPosOfStep + 4);
if (index >= 0)
return (String) m_tokenQueue.elementAt(index);
else if (OpCodes.ELEMWILDCARD == index)
return NodeTest.WILD;
else
return null;
}
else
return null;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:28,代码来源:OpMap.java
示例3: acceptNode
import com.sun.org.apache.xpath.internal.patterns.NodeTest; //导入依赖的package包/类
/**
* Test whether a specified node is visible in the logical view of a
* TreeWalker or NodeIterator. This function will be called by the
* implementation of TreeWalker and NodeIterator; it is not intended to
* be called directly from user code.
* @param n The node to check to see if it passes the filter or not.
* @return a constant to determine whether the node is accepted,
* rejected, or skipped, as defined above .
*/
public short acceptNode(int n)
{
XPathContext xctxt = getXPathContext();
try
{
xctxt.pushCurrentNode(n);
for (int i = 0; i < m_nodeTests.length; i++)
{
PredicatedNodeTest pnt = m_nodeTests[i];
XObject score = pnt.execute(xctxt, n);
if (score != NodeTest.SCORE_NONE)
{
// Note that we are assuming there are no positional predicates!
if (pnt.getPredicateCount() > 0)
{
if (pnt.executePredicates(n, xctxt))
return DTMIterator.FILTER_ACCEPT;
}
else
return DTMIterator.FILTER_ACCEPT;
}
}
}
catch (javax.xml.transform.TransformerException se)
{
// TODO: Fix this.
throw new RuntimeException(se.getMessage());
}
finally
{
xctxt.popCurrentNode();
}
return DTMIterator.FILTER_SKIP;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:46,代码来源:UnionChildIterator.java
示例4: acceptNode
import com.sun.org.apache.xpath.internal.patterns.NodeTest; //导入依赖的package包/类
/**
* Test whether a specified node is visible in the logical view of a
* TreeWalker or NodeIterator. This function will be called by the
* implementation of TreeWalker and NodeIterator; it is not intended to
* be called directly from user code.
* @param n The node to check to see if it passes the filter or not.
* @return a constant to determine whether the node is accepted,
* rejected, or skipped, as defined above .
*/
public short acceptNode(int n)
{
XPathContext xctxt = m_lpi.getXPathContext();
try
{
xctxt.pushCurrentNode(n);
XObject score = execute(xctxt, n);
// System.out.println("\n::acceptNode - score: "+score.num()+"::");
if (score != NodeTest.SCORE_NONE)
{
if (getPredicateCount() > 0)
{
countProximityPosition(0);
if (!executePredicates(n, xctxt))
return DTMIterator.FILTER_SKIP;
}
return DTMIterator.FILTER_ACCEPT;
}
}
catch (javax.xml.transform.TransformerException se)
{
// TODO: Fix this.
throw new RuntimeException(se.getMessage());
}
finally
{
xctxt.popCurrentNode();
}
return DTMIterator.FILTER_SKIP;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:48,代码来源:PredicatedNodeTest.java
示例5: asNode
import com.sun.org.apache.xpath.internal.patterns.NodeTest; //导入依赖的package包/类
/**
* Return the first node out of the nodeset, if this expression is
* a nodeset expression. This is the default implementation for
* nodesets.
* <p>WARNING: Do not mutate this class from this function!</p>
* @param xctxt The XPath runtime context.
* @return the first node out of the nodeset, or DTM.NULL.
*/
public int asNode(XPathContext xctxt)
throws javax.xml.transform.TransformerException
{
if(getPredicateCount() > 0)
return super.asNode(xctxt);
int current = xctxt.getCurrentNode();
DTM dtm = xctxt.getDTM(current);
DTMAxisTraverser traverser = dtm.getAxisTraverser(m_axis);
String localName = getLocalName();
String namespace = getNamespace();
int what = m_whatToShow;
// System.out.print(" (DescendantIterator) ");
// System.out.println("what: ");
// NodeTest.debugWhatToShow(what);
if(DTMFilter.SHOW_ALL == what
|| localName == NodeTest.WILD
|| namespace == NodeTest.WILD)
{
return traverser.first(current);
}
else
{
int type = getNodeTypeTest(what);
int extendedType = dtm.getExpandedTypeID(namespace, localName, type);
return traverser.first(current, extendedType);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:DescendantIterator.java
示例6: getStepLocalName
import com.sun.org.apache.xpath.internal.patterns.NodeTest; //导入依赖的package包/类
/**
* Get the local name of the step.
* @param opPosOfStep The position of the FROM_XXX step.
*
* @return OpCodes.EMPTY, OpCodes.ELEMWILDCARD, or the local name.
*/
public String getStepLocalName(int opPosOfStep)
{
int argLenOfStep = getArgLengthOfStep(opPosOfStep);
// System.out.println("getStepLocalName.argLenOfStep: "+argLenOfStep);
int index;
switch (argLenOfStep)
{
case 0 :
index = OpCodes.EMPTY;
break;
case 1 :
index = OpCodes.ELEMWILDCARD;
break;
case 2 :
index = m_opMap.elementAt(opPosOfStep + 4);
break;
case 3 :
index = m_opMap.elementAt(opPosOfStep + 5);
break;
default :
index = OpCodes.EMPTY;
break; // Should assert error
}
// int index = (argLenOfStep == 3) ? m_opMap[opPosOfStep+5]
// : ((argLenOfStep == 1) ? -3 : -2);
if (index >= 0)
return (String) m_tokenQueue.elementAt(index).toString();
else if (OpCodes.ELEMWILDCARD == index)
return NodeTest.WILD;
else
return null;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:43,代码来源:OpMap.java
注:本文中的com.sun.org.apache.xpath.internal.patterns.NodeTest类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论