com.fujitsu.xml.omquery
Class XPathContext

java.lang.Object
  extended by com.fujitsu.xml.omquery.VariableMgr
      extended by com.fujitsu.xml.omquery.XPathContext

public class XPathContext
extends VariableMgr

A class which which represents XPath evaluation context against which expressions are to be evaluated.


For example:
  InputSource input = new InputSource(createURL("sample.xml"));
  JAXP_ProcessorImpl xmlproc = new JAXP_ProcessorImpl();
  Document doc = xmlproc.load(input);
  DomQueryMgr query_mgr = new DomQueryMgr(doc);

  NamespacePrefixMap nspm = query_mgr.getEmptyNamespacePrefixMap();
  nspm = nspm.bind("foo", "http://www.foo.co.jp/");

  XPathContext ctx = new XPathContext(doc, nspm, 10, 100);

  ctx.addNumberVariable("a", 1.0);

  String str = query_mgr.getStringByXPath("(A/B/C)[2]", ctx);
 

Author:
Takuki Kamiya

Nested Class Summary
protected  class XPathContext.MyAddVariableSet
           
 
Field Summary
protected  com.jclark.xsl.om.NameTable nametbl
           
protected  MyVariableSet varset
           
 
Constructor Summary
XPathContext(DomQueryMgr query_mgr)
           
XPathContext(DomQueryMgr query_mgr, org.w3c.dom.Node dom_node, com.jclark.xsl.om.NamespacePrefixMap nspm)
           
XPathContext(DomQueryMgr query_mgr, org.w3c.dom.Node dom_node, com.jclark.xsl.om.NamespacePrefixMap nspm, int position, int size)
           
 
Method Summary
 void addBooleanVariable(java.lang.String varname, boolean value)
          Add a Boolean variable to the list of managed variables.
 void addNodeArrayVariable(java.lang.String varname, org.w3c.dom.Node[] dom_nodes, int start, int len)
          Add a variable of type DOM Node[] to the list of managed variables.
 void addNumberVariable(java.lang.String varname, double value)
          Add a Number variable to the list of managed variables.
 void addSingleNodeVariable(java.lang.String varname, org.w3c.dom.Node dom_node)
          Add a variable of type DOM Node to the list of managed variables.
 void addStringVariable(java.lang.String varname, java.lang.String value)
          Add a String variable to the list of managed variables.
 void addVariable(java.lang.String varname, java.lang.String expr)
          Add a variable to the list of managed variables.
(package private)  void eval(com.jclark.xsl.om.Node node, com.jclark.xsl.expr.ExprContext context)
           
 org.w3c.dom.Node getDomNode()
          Get context node.
 com.jclark.xsl.om.NamespacePrefixMap getNamespacePrefixMap()
          Get the set of namespace bindings.
 int getPosition()
          Get context position.
 int getSize()
          Get context size.
(package private)  com.jclark.xsl.expr.VariableSet getVariableSet()
           
(package private)  com.jclark.xsl.expr.Variant getVariableValue(com.jclark.xsl.om.Name name)
           
(package private)  void reset()
          Make the list of managed variables empty.
 void resetVariableSet()
          Make the list of managed variables empty.
 void setDomNode(org.w3c.dom.Node dom_node)
          Set context node.
 void setNamespacePrefixMap(com.jclark.xsl.om.NamespacePrefixMap nspm)
          Set the set of namespace bindings.
 void setPosition(int position)
          Set context position.
 void setSize(int size)
          Set context size.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nametbl

protected final com.jclark.xsl.om.NameTable nametbl

varset

protected MyVariableSet varset
Constructor Detail

XPathContext

XPathContext(DomQueryMgr query_mgr)

XPathContext

XPathContext(DomQueryMgr query_mgr,
             org.w3c.dom.Node dom_node,
             com.jclark.xsl.om.NamespacePrefixMap nspm)

XPathContext

XPathContext(DomQueryMgr query_mgr,
             org.w3c.dom.Node dom_node,
             com.jclark.xsl.om.NamespacePrefixMap nspm,
             int position,
             int size)
Method Detail

setDomNode

public void setDomNode(org.w3c.dom.Node dom_node)
Set context node.


setNamespacePrefixMap

public void setNamespacePrefixMap(com.jclark.xsl.om.NamespacePrefixMap nspm)
Set the set of namespace bindings.


setPosition

public void setPosition(int position)
Set context position.


setSize

public void setSize(int size)
Set context size.


getDomNode

public org.w3c.dom.Node getDomNode()
Get context node.


getNamespacePrefixMap

public com.jclark.xsl.om.NamespacePrefixMap getNamespacePrefixMap()
Get the set of namespace bindings.


getPosition

public int getPosition()
Get context position.


getSize

public int getSize()
Get context size.


addVariable

public void addVariable(java.lang.String varname,
                        java.lang.String expr)
                 throws com.jclark.xsl.om.XSLException
Add a variable to the list of managed variables.

Specified by:
addVariable in class VariableMgr
Parameters:
expr - XPath expression which is to be evaluated to yield the value for the variable.
Throws:
com.jclark.xsl.om.XSLException

addStringVariable

public void addStringVariable(java.lang.String varname,
                              java.lang.String value)
                       throws com.jclark.xsl.om.XSLException
Add a String variable to the list of managed variables.

Specified by:
addStringVariable in class VariableMgr
Parameters:
value - a String which is bound as the value of the variable.
Throws:
com.jclark.xsl.om.XSLException

addNumberVariable

public void addNumberVariable(java.lang.String varname,
                              double value)
                       throws com.jclark.xsl.om.XSLException
Add a Number variable to the list of managed variables.

Specified by:
addNumberVariable in class VariableMgr
Parameters:
value - a Number which is bound as the value of the variable.
Throws:
com.jclark.xsl.om.XSLException

addBooleanVariable

public void addBooleanVariable(java.lang.String varname,
                               boolean value)
                        throws com.jclark.xsl.om.XSLException
Add a Boolean variable to the list of managed variables.

Specified by:
addBooleanVariable in class VariableMgr
Parameters:
value - a Boolean which is bound as the value of the variable.
Throws:
com.jclark.xsl.om.XSLException

addSingleNodeVariable

public void addSingleNodeVariable(java.lang.String varname,
                                  org.w3c.dom.Node dom_node)
                           throws com.jclark.xsl.om.XSLException
Add a variable of type DOM Node to the list of managed variables.

Specified by:
addSingleNodeVariable in class VariableMgr
Parameters:
value - a DOM Node which is bound as the value of the variable.
Throws:
com.jclark.xsl.om.XSLException

addNodeArrayVariable

public void addNodeArrayVariable(java.lang.String varname,
                                 org.w3c.dom.Node[] dom_nodes,
                                 int start,
                                 int len)
                          throws com.jclark.xsl.om.XSLException
Add a variable of type DOM Node[] to the list of managed variables.

Specified by:
addNodeArrayVariable in class VariableMgr
Parameters:
value - Array of DOM Node which is bound as the value of the variable.
Throws:
com.jclark.xsl.om.XSLException

resetVariableSet

public void resetVariableSet()
Make the list of managed variables empty.


reset

void reset()
Description copied from class: VariableMgr
Make the list of managed variables empty.

Specified by:
reset in class VariableMgr

eval

void eval(com.jclark.xsl.om.Node node,
          com.jclark.xsl.expr.ExprContext context)
    throws com.jclark.xsl.om.XSLException
Specified by:
eval in class VariableMgr
Throws:
com.jclark.xsl.om.XSLException

getVariableSet

com.jclark.xsl.expr.VariableSet getVariableSet()
Specified by:
getVariableSet in class VariableMgr

getVariableValue

com.jclark.xsl.expr.Variant getVariableValue(com.jclark.xsl.om.Name name)
                                       throws com.jclark.xsl.om.XSLException
Specified by:
getVariableValue in class VariableMgr
Throws:
com.jclark.xsl.om.XSLException