<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>TracerEvent.hpp</h1>  </div>
</div>
<div class="contents">
<a href="TracerEvent_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(XALAN_TracerEvent_HEADER_GUARD)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_TracerEvent_HEADER_GUARD </span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="XSLTDefinitions_8hpp.html">xalanc/XSLT/XSLTDefinitions.hpp</a>&gt;</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 <span class="comment">// $$$ ToDo: This is necessary while XalanDOMString is a typedef.</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&gt;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="keyword">class </span><a class="code" href="classXalanNode.html">XalanNode</a>;
<a name="l00038"></a>00038 <span class="keyword">class </span><a class="code" href="classXalanNodeList.html">XalanNodeList</a>;
<a name="l00039"></a>00039 <span class="keyword">class </span><a class="code" href="classXalanQName.html" title="Class to represent a qualified name.">XalanQName</a>;
<a name="l00040"></a>00040 <span class="keyword">class </span><a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>;
<a name="l00041"></a>00041 <span class="keyword">class </span><a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>;
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 <span class="comment"></span>
<a name="l00045"></a>00045 <span class="comment">/**</span>
<a name="l00046"></a>00046 <span class="comment"> * This is the parent class of events generated for tracing the</span>
<a name="l00047"></a>00047 <span class="comment"> * progress of the XSL processor.</span>
<a name="l00048"></a>00048 <span class="comment"> */</span>
<a name="l00049"></a><a class="code" href="classTracerEvent.html">00049</a> <span class="keyword">class </span><a class="code" href="XSLTDefinitions_8hpp.html#afe13e115e49db23eff1daccf7343935f">XALAN_XSLT_EXPORT</a> <a class="code" href="classTracerEvent.html" title="This is the parent class of events generated for tracing the progress of the XSL processor.">TracerEvent</a>
<a name="l00050"></a>00050 {
<a name="l00051"></a>00051 <span class="keyword">public</span>:
<a name="l00052"></a>00052 <span class="comment"></span>
<a name="l00053"></a>00053 <span class="comment">    /**</span>
<a name="l00054"></a>00054 <span class="comment">     * Construct a tracer event.</span>
<a name="l00055"></a>00055 <span class="comment">     * </span>
<a name="l00056"></a>00056 <span class="comment">     * @param executionContext    XSLT processor instance</span>
<a name="l00057"></a>00057 <span class="comment">     * @param sourceNode current  context node</span>
<a name="l00058"></a>00058 <span class="comment">     * @param styleNode           node in the style tree where the event occurs</span>
<a name="l00059"></a>00059 <span class="comment">     */</span>
<a name="l00060"></a>00060     <a class="code" href="classTracerEvent.html" title="This is the parent class of events generated for tracing the progress of the XSL processor.">TracerEvent</a>(
<a name="l00061"></a>00061             <span class="keyword">const</span> <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;   executionContext,
<a name="l00062"></a>00062             <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp;          styleNode);
<a name="l00063"></a>00063 
<a name="l00064"></a>00064     <span class="keyword">virtual</span>
<a name="l00065"></a>00065     ~<a class="code" href="classTracerEvent.html" title="This is the parent class of events generated for tracing the progress of the XSL processor.">TracerEvent</a>();
<a name="l00066"></a>00066 <span class="comment"></span>
<a name="l00067"></a>00067 <span class="comment">    /**</span>
<a name="l00068"></a>00068 <span class="comment">     * Returns a string representation of the node. The string returned for</span>
<a name="l00069"></a>00069 <span class="comment">     * elements will contain the element name and any attributes enclosed in</span>
<a name="l00070"></a>00070 <span class="comment">     * angle brackets. The string returned for attributes will be of form,</span>
<a name="l00071"></a>00071 <span class="comment">     * &quot;name=value.&quot;</span>
<a name="l00072"></a>00072 <span class="comment">     *</span>
<a name="l00073"></a>00073 <span class="comment">     * @param n any DOM node</span>
<a name="l00074"></a>00074 <span class="comment">     * @return string representation of the given node</span>
<a name="l00075"></a>00075 <span class="comment">     */</span>
<a name="l00076"></a>00076     <span class="keyword">static</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00077"></a>00077     printNode(<span class="keyword">const</span> <a class="code" href="classXalanNode.html">XalanNode</a>&amp;  n, <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="code" href="XalanDOMString_8hpp.html#ad0987a2085caff760532b7f16b5c6f2e">theResult</a>);
<a name="l00078"></a>00078 <span class="comment"></span>
<a name="l00079"></a>00079 <span class="comment">    /**</span>
<a name="l00080"></a>00080 <span class="comment">     * Returns a string representation of the node list. The string will contain</span>
<a name="l00081"></a>00081 <span class="comment">     * the list of nodes inside square braces. Elements will contain the element</span>
<a name="l00082"></a>00082 <span class="comment">     * name and any attributes enclosed in angle brackets. Attributes will be of</span>
<a name="l00083"></a>00083 <span class="comment">     * form, &quot;name=value.&quot;</span>
<a name="l00084"></a>00084 <span class="comment">     *</span>
<a name="l00085"></a>00085 <span class="comment">     * @param l any DOM node list</span>
<a name="l00086"></a>00086 <span class="comment">     * @return string representation of the given node list</span>
<a name="l00087"></a>00087 <span class="comment">     */</span>
<a name="l00088"></a>00088     <span class="keyword">static</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00089"></a>00089     printNodeList(<span class="keyword">const</span> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>&amp;  l, <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theResult);
<a name="l00090"></a>00090 <span class="comment"></span>
<a name="l00091"></a>00091 <span class="comment">    /**</span>
<a name="l00092"></a>00092 <span class="comment">     * The XSLT processor instance.</span>
<a name="l00093"></a>00093 <span class="comment">     */</span>
<a name="l00094"></a><a class="code" href="classTracerEvent.html#a5c800104dc963789ad6ee0f9abf655ff">00094</a>     <span class="keyword">const</span> <a class="code" href="classStylesheetExecutionContext.html">StylesheetExecutionContext</a>&amp;       m_executionContext;
<a name="l00095"></a>00095  <span class="comment"></span>
<a name="l00096"></a>00096 <span class="comment">    /**</span>
<a name="l00097"></a>00097 <span class="comment">     * The node in the style tree where the event occurs.</span>
<a name="l00098"></a>00098 <span class="comment">     */</span>
<a name="l00099"></a><a class="code" href="classTracerEvent.html#a9213dd584644e92bb429fccda9035f8d">00099</a>     <span class="keyword">const</span> <a class="code" href="classElemTemplateElement.html">ElemTemplateElement</a>&amp;              m_styleNode;
<a name="l00100"></a>00100   
<a name="l00101"></a>00101 <span class="keyword">private</span>:
<a name="l00102"></a>00102 
<a name="l00103"></a>00103     <span class="comment">// not implemented</span>
<a name="l00104"></a>00104     <a class="code" href="classTracerEvent.html" title="This is the parent class of events generated for tracing the progress of the XSL processor.">TracerEvent</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classTracerEvent.html" title="This is the parent class of events generated for tracing the progress of the XSL processor.">TracerEvent</a> &amp;);
<a name="l00105"></a>00105 
<a name="l00106"></a>00106 };
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 
<a name="l00109"></a>00109 
<a name="l00110"></a>00110 XALAN_CPP_NAMESPACE_END
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 
<a name="l00113"></a>00113 
<a name="l00114"></a>00114 <span class="preprocessor">#endif  //XALAN_TracerEvent_HEADER_GUARD</span>
</pre></div></div>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">GraphViz</a> are 
used to generate this API documentation from the Xalan-C header files.</i></font></p>

<table border="0" cellpadding="0" cellspacing="0" width="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
