/** * Perform a pre-order traversal non-recursive style. * * @param pos Start node for traversal * * @throws TransformerException */ public void traverse(int pos) throws org.xml.sax.SAXException { m_dtm = m_transformer.getXPathContext().getDTM(pos); m_startNode = pos; super.traverse(pos); }
/** * Get the DOM Node of the current XPath context, which is possibly null. * @param sourceNode the handle on the node used by a DTM. */ private Node getDOMNodeFromDTM(int sourceNode) { org.apache.xml.dtm.DTM dtm = m_transformer.getXPathContext().getDTM(sourceNode); final Node source = (dtm == null) ? null : dtm.getNode(sourceNode); return source; } }
/** * Perform a pre-order traversal non-recursive style. * * @param pos Start node for traversal * * @throws TransformerException */ public void traverse(int pos) throws org.xml.sax.SAXException { m_dtm = m_transformer.getXPathContext().getDTM(pos); m_startNode = pos; super.traverse(pos); }
/** * Execute a variable declaration and push it onto the variable stack. * @see <a href="http://www.w3.org/TR/xslt#variables">variables in XSLT Specification</a> * * @param transformer non-null reference to the the current transform-time state. * * @throws TransformerException */ public void execute(TransformerImpl transformer) throws TransformerException { int sourceNode = transformer.getXPathContext().getCurrentNode(); XObject var = getValue(transformer, sourceNode); // transformer.getXPathContext().getVarStack().pushVariable(m_qname, var); transformer.getXPathContext().getVarStack().setLocalVariable(m_index, var); }
/** * Execute a variable declaration and push it onto the variable stack. * @see <a href="http://www.w3.org/TR/xslt#variables">variables in XSLT Specification</a> * * @param transformer non-null reference to the the current transform-time state. * * @throws TransformerException */ public void execute(TransformerImpl transformer) throws TransformerException { // if (TransformerImpl.S_DEBUG) // transformer.getTraceManager().fireTraceEvent(this); // transformer.getXPathContext().getVarStack().pushVariable(m_qname, var); transformer.getXPathContext().getVarStack().setLocalVariable(m_index, m_lazyVar); }
/** * Execute a variable declaration and push it onto the variable stack. * @see <a href="http://www.w3.org/TR/xslt#variables">variables in XSLT Specification</a> * * @param transformer non-null reference to the the current transform-time state. * * @throws TransformerException */ public void execute(TransformerImpl transformer) throws TransformerException { // if (TransformerImpl.S_DEBUG) // transformer.getTraceManager().fireTraceEvent(this); // transformer.getXPathContext().getVarStack().pushVariable(m_qname, var); transformer.getXPathContext().getVarStack().setLocalVariable(m_index, m_lazyVar); }
public Object extFunction(String ns, String funcName, Vector argVec, Object methodKey) throws javax.xml.transform.TransformerException {//System.out.println("TransImpl.extFunction() " + ns + " " + funcName +" " + getExtensionsTable()); return getExtensionsTable().extFunction(ns, funcName, argVec, methodKey, getXPathContext().getExpressionContext()); }
public Object extFunction(FuncExtFunction extFunction, Vector argVec) throws javax.xml.transform.TransformerException { return getExtensionsTable().extFunction(extFunction, argVec, getXPathContext().getExpressionContext()); }
/** * @see org.apache.xalan.transformer.TransformState#getMatchedNode() */ public Node getMatchedNode() { if (m_elemPending) { DTM dtm = m_transformer.getXPathContext().getDTM(m_matchedNode); return dtm.getNode(m_matchedNode); } else { DTM dtm = m_transformer.getXPathContext().getDTM(m_transformer.getMatchedNode()); return dtm.getNode(m_transformer.getMatchedNode()); } }
/** * @see org.apache.xalan.transformer.TransformState#getMatchedNode() */ public Node getMatchedNode() { if (m_elemPending) { DTM dtm = m_transformer.getXPathContext().getDTM(m_matchedNode); return dtm.getNode(m_matchedNode); } else { DTM dtm = m_transformer.getXPathContext().getDTM(m_transformer.getMatchedNode()); return dtm.getNode(m_transformer.getMatchedNode()); } }
public Object extFunction(String ns, String funcName, Vector argVec, Object methodKey) throws javax.xml.transform.TransformerException {//System.out.println("TransImpl.extFunction() " + ns + " " + funcName +" " + getExtensionsTable()); return getExtensionsTable().extFunction(ns, funcName, argVec, methodKey, getXPathContext().getExpressionContext()); }
public Object extFunction(FuncExtFunction extFunction, Vector argVec) throws javax.xml.transform.TransformerException { return getExtensionsTable().extFunction(extFunction, argVec, getXPathContext().getExpressionContext()); }
/** * End processing of given node * * * @param node Node we just finished processing * * @throws org.xml.sax.SAXException */ protected void endNode(int node) throws org.xml.sax.SAXException { super.endNode(node); if(DTM.ELEMENT_NODE == m_dtm.getNodeType(node)) { m_transformer.getXPathContext().popCurrentNode(); } }
/** * End processing of given node * * * @param node Node we just finished processing * * @throws org.xml.sax.SAXException */ protected void endNode(int node) throws org.xml.sax.SAXException { super.endNode(node); if(DTM.ELEMENT_NODE == m_dtm.getNodeType(node)) { m_transformer.getXPathContext().popCurrentNode(); } }
/** * Conditionally execute a sub-template. * The expression is evaluated and the resulting object is converted * to a boolean as if by a call to the boolean function. If the result * is true, then the content template is instantiated; otherwise, nothing * is created. * * @param transformer non-null reference to the the current transform-time state. * * @throws TransformerException */ public void execute(TransformerImpl transformer) throws TransformerException { XPathContext xctxt = transformer.getXPathContext(); int sourceNode = xctxt.getCurrentNode(); if (m_test.bool(xctxt, sourceNode, this)) { transformer.executeChildTemplates(this, true); } }
/** * @see org.apache.xalan.transformer.TransformState#getCurrentNode() */ public Node getCurrentNode() { if (m_currentNode != null) { return m_currentNode; } else { DTM dtm = m_transformer.getXPathContext().getDTM(m_transformer.getCurrentNode()); return dtm.getNode(m_transformer.getCurrentNode()); } }
/** * @see org.apache.xalan.transformer.TransformState#getCurrentNode() */ public Node getCurrentNode() { if (m_currentNode != null) { return m_currentNode; } else { DTM dtm = m_transformer.getXPathContext().getDTM(m_transformer.getCurrentNode()); return dtm.getNode(m_transformer.getCurrentNode()); } }
/** * Fire a trace event. * * @param styleNode Stylesheet template node */ public void fireTraceEvent(ElemTemplateElement styleNode) { if (hasTraceListeners()) { int sourceNode = m_transformer.getXPathContext().getCurrentNode(); Node source = getDOMNodeFromDTM(sourceNode); fireTraceEvent(new TracerEvent(m_transformer, source, m_transformer.getMode(), /*sourceNode, mode,*/ styleNode)); } }
/** * @see org.apache.xml.serializer.TransformStateSetter#resetState(Transformer) */ public void resetState(Transformer transformer) { if ((transformer != null) && (transformer instanceof TransformerImpl)) { m_transformer = (TransformerImpl)transformer; m_currentElement = m_transformer.getCurrentElement(); m_currentTemplate = m_transformer.getCurrentTemplate(); m_matchedTemplate = m_transformer.getMatchedTemplate(); int currentNodeHandle = m_transformer.getCurrentNode(); DTM dtm = m_transformer.getXPathContext().getDTM(currentNodeHandle); m_currentNode = dtm.getNode(currentNodeHandle); m_matchedNode = m_transformer.getMatchedNode(); m_contextNodeList = m_transformer.getContextNodeList(); } }
/** * @see org.apache.xml.serializer.TransformStateSetter#resetState(Transformer) */ public void resetState(Transformer transformer) { if ((transformer != null) && (transformer instanceof TransformerImpl)) { m_transformer = (TransformerImpl)transformer; m_currentElement = m_transformer.getCurrentElement(); m_currentTemplate = m_transformer.getCurrentTemplate(); m_matchedTemplate = m_transformer.getMatchedTemplate(); int currentNodeHandle = m_transformer.getCurrentNode(); DTM dtm = m_transformer.getXPathContext().getDTM(currentNodeHandle); m_currentNode = dtm.getNode(currentNodeHandle); m_matchedNode = m_transformer.getMatchedNode(); m_contextNodeList = m_transformer.getContextNodeList(); } }