- package org.apache.xalan.templates;
-
- import javax.xml.transform.TransformerException;
- import org.apache.xpath.Expression;
- import org.apache.xpath.XPathContext;
- import org.apache.xpath.objects.XObject;
-
-
- /**
- * This is the same as XUnresolvedVariable, but it assumes that the
- * context is already set up. For use with psuedo variables.
- * Also, it holds an Expression object, instead of an ElemVariable.
- * It must only hold static context, since a single copy will be
- * held in the template.
- */
- public class XUnresolvedVariableSimple extends XObject
- {
- public XUnresolvedVariableSimple(ElemVariable obj)
- {
- super(obj);
- }
-
-
- /**
- * For support of literal objects in xpaths.
- *
- * @param xctxt The XPath execution context.
- *
- * @return This object.
- *
- * @throws javax.xml.transform.TransformerException
- */
- public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
- {
- Expression expr = ((ElemVariable)m_obj).getSelect().getExpression();
- XObject xobj = expr.execute(xctxt);
- xobj.allowDetachToRelease(false);
- return xobj;
- }
-
- /**
- * Tell what kind of class this is.
- *
- * @return CLASS_UNRESOLVEDVARIABLE
- */
- public int getType()
- {
- return CLASS_UNRESOLVEDVARIABLE;
- }
-
- /**
- * Given a request type, return the equivalent string.
- * For diagnostic purposes.
- *
- * @return An informational string.
- */
- public String getTypeString()
- {
- return "XUnresolvedVariableSimple (" + object().getClass().getName() + ")";
- }
-
-
- }
-