Package org.apache.xalan.transformer

Examples of org.apache.xalan.transformer.ResultTreeHandler


    {
      short nodeType = sourceNode.getNodeType();

      if ((Node.DOCUMENT_NODE != nodeType) && (Node.DOCUMENT_FRAGMENT_NODE != nodeType))
      {
        ResultTreeHandler rthandler = transformer.getResultTreeHandler();

        // TODO: Process the use-attribute-sets stuff
        rthandler.cloneToResultTree(sourceNode, false);

        if (Node.ELEMENT_NODE == nodeType)
        {
          super.execute(transformer, sourceNode, mode);
          rthandler.processNSDecls(sourceNode);
          transformer.executeChildTemplates(this, sourceNode, mode, true);
         
          DOMHelper dhelper = transformer.getXPathContext().getDOMHelper();
          String ns = dhelper.getNamespaceOfNode(sourceNode);
          String localName = dhelper.getLocalNameOfNode(sourceNode);
View Full Code Here


  public void execute(
          TransformerImpl transformer, Node sourceNode, QName mode)
            throws TransformerException
  {

    ResultTreeHandler rhandler = transformer.getResultTreeHandler();
    XPathContext xctxt = transformer.getXPathContext();
    String nodeName = m_name_avt.evaluate(xctxt, sourceNode, this);

    // make sure that if a prefix is specified on the attribute name, it is valid
    int indexOfNSSep = nodeName.indexOf(':');
View Full Code Here

            throws TransformerException
  {

    try
    {
      ResultTreeHandler rhandler = transformer.getResultTreeHandler();

      if (null != nodeName)
      {

        // Add namespace declarations.
        executeNSDecls(transformer);

        if (null != prefix)
        {
          rhandler.startPrefixMapping(prefix, nodeNamespace, true);
        }

        rhandler.startElement(nodeNamespace, QName.getLocalPart(nodeName),
                              nodeName, null);
      }

      boolean shouldAddAttrs = (null != nodeName);

      if (shouldAddAttrs)
        super.execute(transformer, sourceNode, mode);

      transformer.executeChildTemplates(this, sourceNode, mode,
                                        shouldAddAttrs);

      // Now end the element if name was valid
      if (null != nodeName)
      {
        rhandler.endElement(nodeNamespace, QName.getLocalPart(nodeName),
                            nodeName);
        unexecuteNSDecls(transformer);
      }
    }
    catch (SAXException se)
View Full Code Here

            throws TransformerException
  {

    try
    {
      ResultTreeHandler rhandler = transformer.getResultTreeHandler();

      // Add namespace declarations.
      executeNSDecls(transformer);
      rhandler.startElement(getNamespace(), getLocalName(), getRawName(), null);

      try
      {

        // Process any possible attributes from xsl:use-attribute-sets first
        super.execute(transformer, sourceNode, mode);

        //xsl:version, excludeResultPrefixes???
        // Process the list of avts next
        if (null != m_avts)
        {
          int nAttrs = m_avts.size();

          for (int i = (nAttrs - 1); i >= 0; i--)
          {
            AVT avt = (AVT) m_avts.elementAt(i);
            XPathContext xctxt = transformer.getXPathContext();
            String stringedValue = avt.evaluate(xctxt, sourceNode, this);

            if (null != stringedValue)
            {

              // Important Note: I'm not going to check for excluded namespace
              // prefixes here.  It seems like it's to expensive, and I'm not
              // even sure this is right.  But I could be wrong, so this needs
              // to be tested against other implementations.
              rhandler.addAttribute(avt.getURI(), avt.getName(),
                                    avt.getRawName(), "CDATA", stringedValue);
            }
          }  // end for
        }

        // Now process all the elements in this subtree
        // TODO: Process m_extensionElementPrefixes && m_attributeSetsNames
        transformer.executeChildTemplates(this, sourceNode, mode, true);
      }
      catch(TransformerException te)
      {
        throw te;
      }
      finally
      {
        // If you don't do this in a finally statement, an exception could
        // cause a system hang.
        rhandler.endElement(getNamespace(), getLocalName(), getRawName());
        unexecuteNSDecls(transformer);
      }
    }
    catch (org.xml.sax.SAXException se)
    {
View Full Code Here

    try
    {
      if (null != m_prefixTable)
      {
        ResultTreeHandler rhandler = transformer.getResultTreeHandler();
        int n = m_prefixTable.size();

        for (int i = n - 1; i >= 0; i--)
        {
          XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);

          if (!decl.getIsExcluded())
          {
            rhandler.startPrefixMapping(decl.getPrefix(), decl.getURI(), true);
          }
        }
      }
    }
    catch(org.xml.sax.SAXException se)
View Full Code Here

    try
    {
      if (null != m_prefixTable)
      {
        ResultTreeHandler rhandler = transformer.getResultTreeHandler();
        int n = m_prefixTable.size();

        for (int i = 0; i < n; i++)
        {
          XMLNSDecl decl = (XMLNSDecl) m_prefixTable.elementAt(i);

          if (!decl.getIsExcluded())
          {
            rhandler.endPrefixMapping(decl.getPrefix());
          }
        }
      }
    }
    catch(org.xml.sax.SAXException se)
View Full Code Here

   */
  public void execute(
          TransformerImpl transformer, Node sourceNode, QName mode)
            throws TransformerException
  {
    ResultTreeHandler rhandler = transformer.getResultTreeHandler();

    // If they are trying to add an attribute when there isn't an
    // element pending, it is an error.
    if (!rhandler.isElementPending())
    {
      // Make sure the trace event is sent.
      if (TransformerImpl.S_DEBUG)
        transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);

View Full Code Here

            throws TransformerException
  {

    if(null != nodeName && nodeName.length() > 0)
    {
      ResultTreeHandler rhandler = transformer.getResultTreeHandler();
      if(prefix != null && prefix.length() > 0)
      {
        try
        {
          rhandler.startPrefixMapping(prefix, nodeNamespace, false);
        }
        catch(SAXException se)
        {
          throw new TransformerException(se);
        }
      }
      String val = transformer.transformToString(this, sourceNode, mode);
      String localName = QName.getLocalPart(nodeName);
      rhandler.addAttribute(nodeNamespace, localName, nodeName, "CDATA", val);
    }
  }
View Full Code Here

      SourceLocator savedLocator = xctxt.getSAXLocator();

      xctxt.pushContextNodeList((ContextNodeList) sourceNodes);
      transformer.pushElemTemplateElement(null);

      ResultTreeHandler rth = transformer.getResultTreeHandler();
      StylesheetRoot sroot = getStylesheetRoot();
      TemplateList tl = sroot.getTemplateListComposed();

      // StylesheetComposed stylesheet = getStylesheetComposed();
      StackGuard guard = transformer.getStackGuard();
      boolean check = (guard.m_recursionLimit > -1);
      boolean quiet = transformer.getQuietConflictWarnings();
      boolean needToFindTemplate = (null == template);
     
      try
      {
        Node child;

        while (null != (child = sourceNodes.nextNode()))
        {
          if (needToFindTemplate)
          {
            template = tl.getTemplate(xctxt, child, mode, -1, quiet);

            // If that didn't locate a node, fall back to a default template rule.
            // See http://www.w3.org/TR/xslt#built-in-rule.
            if (null == template)
            {
              switch (child.getNodeType())
              {
              case Node.DOCUMENT_FRAGMENT_NODE :
              case Node.ELEMENT_NODE :
                template = sroot.getDefaultRule();
                break;
              case Node.ATTRIBUTE_NODE :
              case Node.CDATA_SECTION_NODE :
              case Node.TEXT_NODE :
                if (child.isSupported(SaxEventDispatch.SUPPORTSINTERFACE, "1.0"))
                {
                  ((SaxEventDispatch) child).dispatchCharactersEvent(rth);
                }
                else
                {
                  String data = child.getNodeValue();
                  rth.characters(data.toCharArray(), 0, data.length());
                }
                continue;
              case Node.DOCUMENT_NODE :
                template = sroot.getDefaultRootRule();
                break;
View Full Code Here

  public void execute(
          TransformerImpl transformer)
            throws TransformerException
  {

    ResultTreeHandler rhandler = transformer.getResultTreeHandler();
    XPathContext xctxt = transformer.getXPathContext();
    int sourceNode = xctxt.getCurrentNode();
    String nodeName = m_name_avt.evaluate(xctxt, sourceNode, this);

    String prefix = null;
View Full Code Here

TOP

Related Classes of org.apache.xalan.transformer.ResultTreeHandler

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.