<!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>XalanMatchPatternData.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XalanMatchPatternData_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 
<a name="l00019"></a>00019 <span class="preprocessor">#if !defined(XALAN_MATCHPATTERNDATA_HEADER_GUARD)</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define XALAN_MATCHPATTERNDATA_HEADER_GUARD</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span>
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="comment">// Base include file.  Must be first.</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include &quot;<a class="code" href="XSLTDefinitions_8hpp.html">xalanc/XSLT/XSLTDefinitions.hpp</a>&quot;</span>
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;cstddef&gt;</span>
<a name="l00030"></a>00030 
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="XalanDOMString_8hpp.html">xalanc/XalanDOM/XalanDOMString.hpp</a>&quot;</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 <span class="preprocessor">#include &quot;<a class="code" href="XPath_8hpp.html">xalanc/XPath/XPath.hpp</a>&quot;</span>
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 <span class="keyword">class </span><a class="code" href="classElemTemplate.html">ElemTemplate</a>;
<a name="l00045"></a>00045 
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 <span class="comment"></span>
<a name="l00048"></a>00048 <span class="comment">/**</span>
<a name="l00049"></a>00049 <span class="comment"> * This class contains information concerning a match pattern in</span>
<a name="l00050"></a>00050 <span class="comment"> * a stylesheet.</span>
<a name="l00051"></a>00051 <span class="comment"> */</span>
<a name="l00052"></a><a class="code" href="classXalanMatchPatternData.html">00052</a> <span class="keyword">class </span><a class="code" href="XSLTDefinitions_8hpp.html#afe13e115e49db23eff1daccf7343935f">XALAN_XSLT_EXPORT</a> <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>
<a name="l00053"></a>00053 {   
<a name="l00054"></a>00054 
<a name="l00055"></a>00055 <span class="keyword">public</span>:
<a name="l00056"></a>00056 
<a name="l00057"></a><a class="code" href="classXalanMatchPatternData.html#afacc3c0134d21e575af4a44eef46abac">00057</a>     <span class="keyword">typedef</span> <a class="code" href="classXPath.html#a4b8fda385955090f1e265372de4fce7f">XPath::eMatchScore</a>  eMatchScore;
<a name="l00058"></a>00058 
<a name="l00059"></a>00059 <span class="preprocessor">#if defined(XALAN_STRICT_ANSI_HEADERS)</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span>    <span class="keyword">typedef</span> std::size_t     size_type;
<a name="l00061"></a>00061 <span class="preprocessor">#else</span>
<a name="l00062"></a><a class="code" href="classXalanMatchPatternData.html#a8b125d27d9da25af26c85011e3e5b99e">00062</a> <span class="preprocessor"></span>    <span class="keyword">typedef</span> <span class="keywordtype">size_t</span>          size_type;
<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
<a name="l00064"></a>00064 <span class="preprocessor"></span>
<a name="l00065"></a>00065 <span class="comment"></span>
<a name="l00066"></a>00066 <span class="comment">    /**</span>
<a name="l00067"></a>00067 <span class="comment">     * Construct a XalanMatchPatternData from a pattern and template.</span>
<a name="l00068"></a>00068 <span class="comment">     *</span>
<a name="l00069"></a>00069 <span class="comment">     * @param theTemplate The ElemTemplate node that contains the template for this pattern</span>
<a name="l00070"></a>00070 <span class="comment">     * @param thePosition The position in the stylesheet</span>
<a name="l00071"></a>00071 <span class="comment">     * @param theTargetString The target string for match pattern</span>
<a name="l00072"></a>00072 <span class="comment">     * @param TheMatchPattern The match pattern</span>
<a name="l00073"></a>00073 <span class="comment">     * @param thePatternString the pattern string</span>
<a name="l00074"></a>00074 <span class="comment">     * @param thePriority The priority for the match pattern.</span>
<a name="l00075"></a>00075 <span class="comment">     */</span>
<a name="l00076"></a><a class="code" href="classXalanMatchPatternData.html#a40770c3d21936ff33367cf3e44874b5e">00076</a>     <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>(
<a name="l00077"></a>00077             MemoryManager&amp;      theManager,
<a name="l00078"></a>00078             <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>&amp;     theTemplate,
<a name="l00079"></a>00079             <a class="code" href="classXalanMatchPatternData.html#a8b125d27d9da25af26c85011e3e5b99e">size_type</a>               thePosition,
<a name="l00080"></a>00080             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   theTargetString,
<a name="l00081"></a>00081             <span class="keyword">const</span> <a class="code" href="classXPath.html">XPath</a>&amp;            theMatchPattern,
<a name="l00082"></a>00082             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   thePatternString,
<a name="l00083"></a>00083             <a class="code" href="classXPath.html#a4b8fda385955090f1e265372de4fce7f">eMatchScore</a>             thePriority) :
<a name="l00084"></a>00084         m_template(&amp;theTemplate),
<a name="l00085"></a>00085         m_position(thePosition),
<a name="l00086"></a>00086         m_targetString(theTargetString, theManager),
<a name="l00087"></a>00087         m_matchPattern(&amp;theMatchPattern),
<a name="l00088"></a>00088         m_pattern(&amp;thePatternString),
<a name="l00089"></a>00089         m_priority(thePriority)
<a name="l00090"></a>00090     {
<a name="l00091"></a>00091     }
<a name="l00092"></a>00092 
<a name="l00093"></a><a class="code" href="classXalanMatchPatternData.html#a7a95fc48385b790359e85e63317e8f45">00093</a>     ~<a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>()
<a name="l00094"></a>00094     {
<a name="l00095"></a>00095     }
<a name="l00096"></a>00096 <span class="comment"></span>
<a name="l00097"></a>00097 <span class="comment">    /**</span>
<a name="l00098"></a>00098 <span class="comment">     * Retrieve string for target.</span>
<a name="l00099"></a>00099 <span class="comment">     * </span>
<a name="l00100"></a>00100 <span class="comment">     * @return target string</span>
<a name="l00101"></a>00101 <span class="comment">     */</span>
<a name="l00102"></a>00102     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00103"></a><a class="code" href="classXalanMatchPatternData.html#a9468fb5594ec6e1cd678b988fe1344f5">00103</a>     getTargetString()<span class="keyword"> const</span>
<a name="l00104"></a>00104 <span class="keyword">    </span>{
<a name="l00105"></a>00105         <span class="keywordflow">return</span> m_targetString;
<a name="l00106"></a>00106     }
<a name="l00107"></a>00107 <span class="comment"></span>
<a name="l00108"></a>00108 <span class="comment">    /**</span>
<a name="l00109"></a>00109 <span class="comment">     * Retrieve the match pattern associated with pattern.</span>
<a name="l00110"></a>00110 <span class="comment">     * </span>
<a name="l00111"></a>00111 <span class="comment">     * @return XPath for pattern</span>
<a name="l00112"></a>00112 <span class="comment">     */</span>
<a name="l00113"></a>00113     <span class="keyword">const</span> <a class="code" href="classXPath.html">XPath</a>*
<a name="l00114"></a><a class="code" href="classXalanMatchPatternData.html#aff0c8cf86ebb3c68c5dd98e2a126fe35">00114</a>     getExpression()<span class="keyword"> const</span>
<a name="l00115"></a>00115 <span class="keyword">    </span>{
<a name="l00116"></a>00116         <span class="keywordflow">return</span> m_matchPattern;
<a name="l00117"></a>00117     }
<a name="l00118"></a>00118 <span class="comment"></span>
<a name="l00119"></a>00119 <span class="comment">    /**</span>
<a name="l00120"></a>00120 <span class="comment">     * Retrieve position of pattern in stylesheet.</span>
<a name="l00121"></a>00121 <span class="comment">     * </span>
<a name="l00122"></a>00122 <span class="comment">     * @return The position in the stylesheet</span>
<a name="l00123"></a>00123 <span class="comment">     */</span>
<a name="l00124"></a>00124     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>
<a name="l00125"></a><a class="code" href="classXalanMatchPatternData.html#a414500fe71be1d34395c0619919f622d">00125</a>     getPosition()<span class="keyword"> const</span>
<a name="l00126"></a>00126 <span class="keyword">    </span>{
<a name="l00127"></a>00127         <span class="keywordflow">return</span> m_position;
<a name="l00128"></a>00128     }
<a name="l00129"></a>00129 <span class="comment"></span>
<a name="l00130"></a>00130 <span class="comment">    /**</span>
<a name="l00131"></a>00131 <span class="comment">     * Retrieve pattern string.</span>
<a name="l00132"></a>00132 <span class="comment">     * </span>
<a name="l00133"></a>00133 <span class="comment">     * @return string that contains element pattern</span>
<a name="l00134"></a>00134 <span class="comment">     */</span>
<a name="l00135"></a>00135     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*
<a name="l00136"></a><a class="code" href="classXalanMatchPatternData.html#aaef775751f3cb7a49149bd91c6c0a5bf">00136</a>     getPattern()<span class="keyword"> const</span>
<a name="l00137"></a>00137 <span class="keyword">    </span>{
<a name="l00138"></a>00138         <span class="keywordflow">return</span> m_pattern;
<a name="l00139"></a>00139     }
<a name="l00140"></a>00140 <span class="comment"></span>
<a name="l00141"></a>00141 <span class="comment">    /**</span>
<a name="l00142"></a>00142 <span class="comment">     * Retrieve node that contains the template for this pattern.</span>
<a name="l00143"></a>00143 <span class="comment">     * </span>
<a name="l00144"></a>00144 <span class="comment">     * @return template node</span>
<a name="l00145"></a>00145 <span class="comment">     */</span>
<a name="l00146"></a>00146     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*
<a name="l00147"></a><a class="code" href="classXalanMatchPatternData.html#a2ea895bb915047029637fe45080cd523">00147</a>     getTemplate()<span class="keyword"> const</span>
<a name="l00148"></a>00148 <span class="keyword">    </span>{
<a name="l00149"></a>00149         <span class="keywordflow">return</span> m_template;
<a name="l00150"></a>00150     }
<a name="l00151"></a>00151 
<a name="l00152"></a>00152     eMatchScore
<a name="l00153"></a><a class="code" href="classXalanMatchPatternData.html#a18d16099840f7b97894d46778ed9d01e">00153</a>     getDefaultPriority()<span class="keyword"> const</span>
<a name="l00154"></a>00154 <span class="keyword">    </span>{
<a name="l00155"></a>00155         <span class="keywordflow">return</span> m_priority;
<a name="l00156"></a>00156     }
<a name="l00157"></a>00157 
<a name="l00158"></a>00158     <span class="keywordtype">double</span>
<a name="l00159"></a>00159     getPriorityOrDefault() <span class="keyword">const</span>;
<a name="l00160"></a>00160 
<a name="l00161"></a>00161 <span class="keyword">private</span>:
<a name="l00162"></a>00162     <span class="comment">// not implemented</span>
<a name="l00163"></a>00163     <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>();
<a name="l00164"></a>00164     <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>( <span class="keyword">const</span> <a class="code" href="classXalanMatchPatternData.html" title="This class contains information concerning a match pattern in a stylesheet.">XalanMatchPatternData</a>&amp;);
<a name="l00165"></a>00165 
<a name="l00166"></a>00166     <span class="keyword">const</span> <a class="code" href="classElemTemplate.html">ElemTemplate</a>*     m_template;
<a name="l00167"></a>00167 
<a name="l00168"></a>00168     <a class="code" href="XalanMap_8hpp.html#a39efc23c4f36ef6389e4a1fbe96c5f2e">size_type</a>               m_position;
<a name="l00169"></a>00169 
<a name="l00170"></a>00170     <a class="code" href="classXalanDOMString.html">XalanDOMString</a>          m_targetString;
<a name="l00171"></a>00171 
<a name="l00172"></a>00172     <span class="keyword">const</span> <a class="code" href="classXPath.html">XPath</a>*            m_matchPattern;
<a name="l00173"></a>00173 
<a name="l00174"></a>00174     <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>*   m_pattern;
<a name="l00175"></a>00175 
<a name="l00176"></a>00176     eMatchScore             m_priority;
<a name="l00177"></a>00177 };
<a name="l00178"></a>00178 
<a name="l00179"></a>00179 
<a name="l00180"></a>00180 
<a name="l00181"></a>00181 XALAN_CPP_NAMESPACE_END
<a name="l00182"></a>00182 
<a name="l00183"></a>00183 
<a name="l00184"></a>00184 
<a name="l00185"></a>00185 <span class="preprocessor">#endif  // XALAN_MATCHPATTERNDATA_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>
