code: public void execute(
            TransformerImpl transformer)
              throws TransformerException
    {
  
      XPathContext xctxt = transformer.getXPathContext();
      int sourceNode = xctxt.getCurrentNode();
      
      String piName = m_name_atv == null ? null : m_name_atv.evaluate(xctxt, sourceNode, this);
      
      // Ignore processing instruction if name is null
      if (piName == null) return;
  
      if (piName.equalsIgnoreCase("xml"))
      {
       	transformer.getMsgMgr().warn(
          this, XSLTErrorResources.WG_PROCESSINGINSTRUCTION_NAME_CANT_BE_XML,
                new Object[]{ Constants.ATTRNAME_NAME, piName });
  		return;
      }
      
      // Only check if an avt was used (ie. this wasn't checked at compose time.)
      // Ignore processing instruction, if invalid
      else if ((!m_name_atv.isSimple()) && (!XML11Char.isXML11ValidNCName(piName)))
      {
       	transformer.getMsgMgr().warn(
          this, XSLTErrorResources.WG_PROCESSINGINSTRUCTION_NOTVALID_NCNAME,
                new Object[]{ Constants.ATTRNAME_NAME, piName });
  		return;    	
      }
  
      // Note the content model is:
      // <!ENTITY % instructions "
      // %char-instructions;
      // | xsl:processing-instruction
      // | xsl:comment
      // | xsl:element
      // | xsl:attribute
      // ">
      String data = transformer.transformToString(this);
  
      try
      {
        transformer.getResultTreeHandler().processingInstruction(piName, data);
      }
      catch(org.xml.sax.SAXException se)
      {
        throw new TransformerException(se);
      }
    }
docs: Create a processing instruction in the result tree.
  The content of the xsl:processing-instruction element is a
  template for the string-value of the processing instruction node.
  @see <a href="http://www.w3.org/TR/xslt#section-Creating-Processing-Instructions">section-Creating-Processing-Instructions in XSLT Specification</a>
  
  @param transformer non-null reference to the the current transform-time state.
  
  @throws TransformerException