<HTML>
<BODY BGCOLOR="white">
<PRE>
<FONT color="green">001</FONT>    /*<a name="line.1"></a>
<FONT color="green">002</FONT>     * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
<FONT color="green">003</FONT>     * or more contributor license agreements. See the NOTICE file<a name="line.3"></a>
<FONT color="green">004</FONT>     * distributed with this work for additional information<a name="line.4"></a>
<FONT color="green">005</FONT>     * regarding copyright ownership. The ASF licenses this file<a name="line.5"></a>
<FONT color="green">006</FONT>     * to you under the Apache License, Version 2.0 (the  "License");<a name="line.6"></a>
<FONT color="green">007</FONT>     * you may not use this file except in compliance with the License.<a name="line.7"></a>
<FONT color="green">008</FONT>     * You may obtain a copy of the License at<a name="line.8"></a>
<FONT color="green">009</FONT>     *<a name="line.9"></a>
<FONT color="green">010</FONT>     *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
<FONT color="green">011</FONT>     *<a name="line.11"></a>
<FONT color="green">012</FONT>     * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
<FONT color="green">013</FONT>     * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
<FONT color="green">014</FONT>     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
<FONT color="green">015</FONT>     * See the License for the specific language governing permissions and<a name="line.15"></a>
<FONT color="green">016</FONT>     * limitations under the License.<a name="line.16"></a>
<FONT color="green">017</FONT>     */<a name="line.17"></a>
<FONT color="green">018</FONT>    /*<a name="line.18"></a>
<FONT color="green">019</FONT>     * $Id: XPATHErrorResources_fr.java 468655 2006-10-28 07:12:06Z minchau $<a name="line.19"></a>
<FONT color="green">020</FONT>     */<a name="line.20"></a>
<FONT color="green">021</FONT>    package org.apache.xpath.res;<a name="line.21"></a>
<FONT color="green">022</FONT>    <a name="line.22"></a>
<FONT color="green">023</FONT>    import java.util.ListResourceBundle;<a name="line.23"></a>
<FONT color="green">024</FONT>    import java.util.Locale;<a name="line.24"></a>
<FONT color="green">025</FONT>    import java.util.MissingResourceException;<a name="line.25"></a>
<FONT color="green">026</FONT>    import java.util.ResourceBundle;<a name="line.26"></a>
<FONT color="green">027</FONT>    <a name="line.27"></a>
<FONT color="green">028</FONT>    /**<a name="line.28"></a>
<FONT color="green">029</FONT>     * Set up error messages.<a name="line.29"></a>
<FONT color="green">030</FONT>     * We build a two dimensional array of message keys and<a name="line.30"></a>
<FONT color="green">031</FONT>     * message strings. In order to add a new message here,<a name="line.31"></a>
<FONT color="green">032</FONT>     * you need to first add a Static string constant for the<a name="line.32"></a>
<FONT color="green">033</FONT>     * Key and update the contents array with Key, Value pair<a name="line.33"></a>
<FONT color="green">034</FONT>      * Also you need to  update the count of messages(MAX_CODE)or<a name="line.34"></a>
<FONT color="green">035</FONT>     * the count of warnings(MAX_WARNING) [ Information purpose only]<a name="line.35"></a>
<FONT color="green">036</FONT>     * @xsl.usage advanced<a name="line.36"></a>
<FONT color="green">037</FONT>     */<a name="line.37"></a>
<FONT color="green">038</FONT>    public class XPATHErrorResources_fr extends ListResourceBundle<a name="line.38"></a>
<FONT color="green">039</FONT>    {<a name="line.39"></a>
<FONT color="green">040</FONT>    <a name="line.40"></a>
<FONT color="green">041</FONT>    /*<a name="line.41"></a>
<FONT color="green">042</FONT>     * General notes to translators:<a name="line.42"></a>
<FONT color="green">043</FONT>     *<a name="line.43"></a>
<FONT color="green">044</FONT>     * This file contains error and warning messages related to XPath Error<a name="line.44"></a>
<FONT color="green">045</FONT>     * Handling.<a name="line.45"></a>
<FONT color="green">046</FONT>     *<a name="line.46"></a>
<FONT color="green">047</FONT>     *  1) Xalan (or more properly, Xalan-interpretive) and XSLTC are names of<a name="line.47"></a>
<FONT color="green">048</FONT>     *     components.<a name="line.48"></a>
<FONT color="green">049</FONT>     *     XSLT is an acronym for "XML Stylesheet Language: Transformations".<a name="line.49"></a>
<FONT color="green">050</FONT>     *     XSLTC is an acronym for XSLT Compiler.<a name="line.50"></a>
<FONT color="green">051</FONT>     *<a name="line.51"></a>
<FONT color="green">052</FONT>     *  2) A stylesheet is a description of how to transform an input XML document<a name="line.52"></a>
<FONT color="green">053</FONT>     *     into a resultant XML document (or HTML document or text).  The<a name="line.53"></a>
<FONT color="green">054</FONT>     *     stylesheet itself is described in the form of an XML document.<a name="line.54"></a>
<FONT color="green">055</FONT>     *<a name="line.55"></a>
<FONT color="green">056</FONT>     *  3) A template is a component of a stylesheet that is used to match a<a name="line.56"></a>
<FONT color="green">057</FONT>     *     particular portion of an input document and specifies the form of the<a name="line.57"></a>
<FONT color="green">058</FONT>     *     corresponding portion of the output document.<a name="line.58"></a>
<FONT color="green">059</FONT>     *<a name="line.59"></a>
<FONT color="green">060</FONT>     *  4) An element is a mark-up tag in an XML document; an attribute is a<a name="line.60"></a>
<FONT color="green">061</FONT>     *     modifier on the tag.  For example, in &lt;elem attr='val' attr2='val2'&gt;<a name="line.61"></a>
<FONT color="green">062</FONT>     *     "elem" is an element name, "attr" and "attr2" are attribute names with<a name="line.62"></a>
<FONT color="green">063</FONT>     *     the values "val" and "val2", respectively.<a name="line.63"></a>
<FONT color="green">064</FONT>     *<a name="line.64"></a>
<FONT color="green">065</FONT>     *  5) A namespace declaration is a special attribute that is used to associate<a name="line.65"></a>
<FONT color="green">066</FONT>     *     a prefix with a URI (the namespace).  The meanings of element names and<a name="line.66"></a>
<FONT color="green">067</FONT>     *     attribute names that use that prefix are defined with respect to that<a name="line.67"></a>
<FONT color="green">068</FONT>     *     namespace.<a name="line.68"></a>
<FONT color="green">069</FONT>     *<a name="line.69"></a>
<FONT color="green">070</FONT>     *  6) "Translet" is an invented term that describes the class file that<a name="line.70"></a>
<FONT color="green">071</FONT>     *     results from compiling an XML stylesheet into a Java class.<a name="line.71"></a>
<FONT color="green">072</FONT>     *<a name="line.72"></a>
<FONT color="green">073</FONT>     *  7) XPath is a specification that describes a notation for identifying<a name="line.73"></a>
<FONT color="green">074</FONT>     *     nodes in a tree-structured representation of an XML document.  An<a name="line.74"></a>
<FONT color="green">075</FONT>     *     instance of that notation is referred to as an XPath expression.<a name="line.75"></a>
<FONT color="green">076</FONT>     *<a name="line.76"></a>
<FONT color="green">077</FONT>     *  8) The context node is the node in the document with respect to which an<a name="line.77"></a>
<FONT color="green">078</FONT>     *     XPath expression is being evaluated.<a name="line.78"></a>
<FONT color="green">079</FONT>     *<a name="line.79"></a>
<FONT color="green">080</FONT>     *  9) An iterator is an object that traverses nodes in the tree, one at a time.<a name="line.80"></a>
<FONT color="green">081</FONT>     *<a name="line.81"></a>
<FONT color="green">082</FONT>     *  10) NCName is an XML term used to describe a name that does not contain a<a name="line.82"></a>
<FONT color="green">083</FONT>     *     colon (a "no-colon name").<a name="line.83"></a>
<FONT color="green">084</FONT>     *<a name="line.84"></a>
<FONT color="green">085</FONT>     *  11) QName is an XML term meaning "qualified name".<a name="line.85"></a>
<FONT color="green">086</FONT>     */<a name="line.86"></a>
<FONT color="green">087</FONT>    <a name="line.87"></a>
<FONT color="green">088</FONT>      /*<a name="line.88"></a>
<FONT color="green">089</FONT>       * static variables<a name="line.89"></a>
<FONT color="green">090</FONT>       */<a name="line.90"></a>
<FONT color="green">091</FONT>      public static final String ERROR0000 = "ERROR0000";<a name="line.91"></a>
<FONT color="green">092</FONT>      public static final String ER_CURRENT_NOT_ALLOWED_IN_MATCH =<a name="line.92"></a>
<FONT color="green">093</FONT>             "ER_CURRENT_NOT_ALLOWED_IN_MATCH";<a name="line.93"></a>
<FONT color="green">094</FONT>      public static final String ER_CURRENT_TAKES_NO_ARGS =<a name="line.94"></a>
<FONT color="green">095</FONT>             "ER_CURRENT_TAKES_NO_ARGS";<a name="line.95"></a>
<FONT color="green">096</FONT>      public static final String ER_DOCUMENT_REPLACED = "ER_DOCUMENT_REPLACED";<a name="line.96"></a>
<FONT color="green">097</FONT>      public static final String ER_CONTEXT_HAS_NO_OWNERDOC =<a name="line.97"></a>
<FONT color="green">098</FONT>             "ER_CONTEXT_HAS_NO_OWNERDOC";<a name="line.98"></a>
<FONT color="green">099</FONT>      public static final String ER_LOCALNAME_HAS_TOO_MANY_ARGS =<a name="line.99"></a>
<FONT color="green">100</FONT>             "ER_LOCALNAME_HAS_TOO_MANY_ARGS";<a name="line.100"></a>
<FONT color="green">101</FONT>      public static final String ER_NAMESPACEURI_HAS_TOO_MANY_ARGS =<a name="line.101"></a>
<FONT color="green">102</FONT>             "ER_NAMESPACEURI_HAS_TOO_MANY_ARGS";<a name="line.102"></a>
<FONT color="green">103</FONT>      public static final String ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS =<a name="line.103"></a>
<FONT color="green">104</FONT>             "ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS";<a name="line.104"></a>
<FONT color="green">105</FONT>      public static final String ER_NUMBER_HAS_TOO_MANY_ARGS =<a name="line.105"></a>
<FONT color="green">106</FONT>             "ER_NUMBER_HAS_TOO_MANY_ARGS";<a name="line.106"></a>
<FONT color="green">107</FONT>      public static final String ER_NAME_HAS_TOO_MANY_ARGS =<a name="line.107"></a>
<FONT color="green">108</FONT>             "ER_NAME_HAS_TOO_MANY_ARGS";<a name="line.108"></a>
<FONT color="green">109</FONT>      public static final String ER_STRING_HAS_TOO_MANY_ARGS =<a name="line.109"></a>
<FONT color="green">110</FONT>             "ER_STRING_HAS_TOO_MANY_ARGS";<a name="line.110"></a>
<FONT color="green">111</FONT>      public static final String ER_STRINGLENGTH_HAS_TOO_MANY_ARGS =<a name="line.111"></a>
<FONT color="green">112</FONT>             "ER_STRINGLENGTH_HAS_TOO_MANY_ARGS";<a name="line.112"></a>
<FONT color="green">113</FONT>      public static final String ER_TRANSLATE_TAKES_3_ARGS =<a name="line.113"></a>
<FONT color="green">114</FONT>             "ER_TRANSLATE_TAKES_3_ARGS";<a name="line.114"></a>
<FONT color="green">115</FONT>      public static final String ER_UNPARSEDENTITYURI_TAKES_1_ARG =<a name="line.115"></a>
<FONT color="green">116</FONT>             "ER_UNPARSEDENTITYURI_TAKES_1_ARG";<a name="line.116"></a>
<FONT color="green">117</FONT>      public static final String ER_NAMESPACEAXIS_NOT_IMPLEMENTED =<a name="line.117"></a>
<FONT color="green">118</FONT>             "ER_NAMESPACEAXIS_NOT_IMPLEMENTED";<a name="line.118"></a>
<FONT color="green">119</FONT>      public static final String ER_UNKNOWN_AXIS = "ER_UNKNOWN_AXIS";<a name="line.119"></a>
<FONT color="green">120</FONT>      public static final String ER_UNKNOWN_MATCH_OPERATION =<a name="line.120"></a>
<FONT color="green">121</FONT>             "ER_UNKNOWN_MATCH_OPERATION";<a name="line.121"></a>
<FONT color="green">122</FONT>      public static final String ER_INCORRECT_ARG_LENGTH ="ER_INCORRECT_ARG_LENGTH";<a name="line.122"></a>
<FONT color="green">123</FONT>      public static final String ER_CANT_CONVERT_TO_NUMBER =<a name="line.123"></a>
<FONT color="green">124</FONT>             "ER_CANT_CONVERT_TO_NUMBER";<a name="line.124"></a>
<FONT color="green">125</FONT>      public static final String ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER =<a name="line.125"></a>
<FONT color="green">126</FONT>               "ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER";<a name="line.126"></a>
<FONT color="green">127</FONT>      public static final String ER_CANT_CONVERT_TO_NODELIST =<a name="line.127"></a>
<FONT color="green">128</FONT>             "ER_CANT_CONVERT_TO_NODELIST";<a name="line.128"></a>
<FONT color="green">129</FONT>      public static final String ER_CANT_CONVERT_TO_MUTABLENODELIST =<a name="line.129"></a>
<FONT color="green">130</FONT>             "ER_CANT_CONVERT_TO_MUTABLENODELIST";<a name="line.130"></a>
<FONT color="green">131</FONT>      public static final String ER_CANT_CONVERT_TO_TYPE ="ER_CANT_CONVERT_TO_TYPE";<a name="line.131"></a>
<FONT color="green">132</FONT>      public static final String ER_EXPECTED_MATCH_PATTERN =<a name="line.132"></a>
<FONT color="green">133</FONT>             "ER_EXPECTED_MATCH_PATTERN";<a name="line.133"></a>
<FONT color="green">134</FONT>      public static final String ER_COULDNOT_GET_VAR_NAMED =<a name="line.134"></a>
<FONT color="green">135</FONT>             "ER_COULDNOT_GET_VAR_NAMED";<a name="line.135"></a>
<FONT color="green">136</FONT>      public static final String ER_UNKNOWN_OPCODE = "ER_UNKNOWN_OPCODE";<a name="line.136"></a>
<FONT color="green">137</FONT>      public static final String ER_EXTRA_ILLEGAL_TOKENS ="ER_EXTRA_ILLEGAL_TOKENS";<a name="line.137"></a>
<FONT color="green">138</FONT>      public static final String ER_EXPECTED_DOUBLE_QUOTE =<a name="line.138"></a>
<FONT color="green">139</FONT>             "ER_EXPECTED_DOUBLE_QUOTE";<a name="line.139"></a>
<FONT color="green">140</FONT>      public static final String ER_EXPECTED_SINGLE_QUOTE =<a name="line.140"></a>
<FONT color="green">141</FONT>             "ER_EXPECTED_SINGLE_QUOTE";<a name="line.141"></a>
<FONT color="green">142</FONT>      public static final String ER_EMPTY_EXPRESSION = "ER_EMPTY_EXPRESSION";<a name="line.142"></a>
<FONT color="green">143</FONT>      public static final String ER_EXPECTED_BUT_FOUND = "ER_EXPECTED_BUT_FOUND";<a name="line.143"></a>
<FONT color="green">144</FONT>      public static final String ER_INCORRECT_PROGRAMMER_ASSERTION =<a name="line.144"></a>
<FONT color="green">145</FONT>             "ER_INCORRECT_PROGRAMMER_ASSERTION";<a name="line.145"></a>
<FONT color="green">146</FONT>      public static final String ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL =<a name="line.146"></a>
<FONT color="green">147</FONT>             "ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL";<a name="line.147"></a>
<FONT color="green">148</FONT>      public static final String ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG =<a name="line.148"></a>
<FONT color="green">149</FONT>             "ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG";<a name="line.149"></a>
<FONT color="green">150</FONT>      public static final String ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG =<a name="line.150"></a>
<FONT color="green">151</FONT>             "ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG";<a name="line.151"></a>
<FONT color="green">152</FONT>      public static final String ER_PREDICATE_ILLEGAL_SYNTAX =<a name="line.152"></a>
<FONT color="green">153</FONT>             "ER_PREDICATE_ILLEGAL_SYNTAX";<a name="line.153"></a>
<FONT color="green">154</FONT>      public static final String ER_ILLEGAL_AXIS_NAME = "ER_ILLEGAL_AXIS_NAME";<a name="line.154"></a>
<FONT color="green">155</FONT>      public static final String ER_UNKNOWN_NODETYPE = "ER_UNKNOWN_NODETYPE";<a name="line.155"></a>
<FONT color="green">156</FONT>      public static final String ER_PATTERN_LITERAL_NEEDS_BE_QUOTED =<a name="line.156"></a>
<FONT color="green">157</FONT>             "ER_PATTERN_LITERAL_NEEDS_BE_QUOTED";<a name="line.157"></a>
<FONT color="green">158</FONT>      public static final String ER_COULDNOT_BE_FORMATTED_TO_NUMBER =<a name="line.158"></a>
<FONT color="green">159</FONT>             "ER_COULDNOT_BE_FORMATTED_TO_NUMBER";<a name="line.159"></a>
<FONT color="green">160</FONT>      public static final String ER_COULDNOT_CREATE_XMLPROCESSORLIAISON =<a name="line.160"></a>
<FONT color="green">161</FONT>             "ER_COULDNOT_CREATE_XMLPROCESSORLIAISON";<a name="line.161"></a>
<FONT color="green">162</FONT>      public static final String ER_DIDNOT_FIND_XPATH_SELECT_EXP =<a name="line.162"></a>
<FONT color="green">163</FONT>             "ER_DIDNOT_FIND_XPATH_SELECT_EXP";<a name="line.163"></a>
<FONT color="green">164</FONT>      public static final String ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH =<a name="line.164"></a>
<FONT color="green">165</FONT>             "ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH";<a name="line.165"></a>
<FONT color="green">166</FONT>      public static final String ER_ERROR_OCCURED = "ER_ERROR_OCCURED";<a name="line.166"></a>
<FONT color="green">167</FONT>      public static final String ER_ILLEGAL_VARIABLE_REFERENCE =<a name="line.167"></a>
<FONT color="green">168</FONT>             "ER_ILLEGAL_VARIABLE_REFERENCE";<a name="line.168"></a>
<FONT color="green">169</FONT>      public static final String ER_AXES_NOT_ALLOWED = "ER_AXES_NOT_ALLOWED";<a name="line.169"></a>
<FONT color="green">170</FONT>      public static final String ER_KEY_HAS_TOO_MANY_ARGS =<a name="line.170"></a>
<FONT color="green">171</FONT>             "ER_KEY_HAS_TOO_MANY_ARGS";<a name="line.171"></a>
<FONT color="green">172</FONT>      public static final String ER_COUNT_TAKES_1_ARG = "ER_COUNT_TAKES_1_ARG";<a name="line.172"></a>
<FONT color="green">173</FONT>      public static final String ER_COULDNOT_FIND_FUNCTION =<a name="line.173"></a>
<FONT color="green">174</FONT>             "ER_COULDNOT_FIND_FUNCTION";<a name="line.174"></a>
<FONT color="green">175</FONT>      public static final String ER_UNSUPPORTED_ENCODING ="ER_UNSUPPORTED_ENCODING";<a name="line.175"></a>
<FONT color="green">176</FONT>      public static final String ER_PROBLEM_IN_DTM_NEXTSIBLING =<a name="line.176"></a>
<FONT color="green">177</FONT>             "ER_PROBLEM_IN_DTM_NEXTSIBLING";<a name="line.177"></a>
<FONT color="green">178</FONT>      public static final String ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL =<a name="line.178"></a>
<FONT color="green">179</FONT>             "ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL";<a name="line.179"></a>
<FONT color="green">180</FONT>      public static final String ER_SETDOMFACTORY_NOT_SUPPORTED =<a name="line.180"></a>
<FONT color="green">181</FONT>             "ER_SETDOMFACTORY_NOT_SUPPORTED";<a name="line.181"></a>
<FONT color="green">182</FONT>      public static final String ER_PREFIX_MUST_RESOLVE = "ER_PREFIX_MUST_RESOLVE";<a name="line.182"></a>
<FONT color="green">183</FONT>      public static final String ER_PARSE_NOT_SUPPORTED = "ER_PARSE_NOT_SUPPORTED";<a name="line.183"></a>
<FONT color="green">184</FONT>      public static final String ER_SAX_API_NOT_HANDLED = "ER_SAX_API_NOT_HANDLED";<a name="line.184"></a>
<FONT color="green">185</FONT>    public static final String ER_IGNORABLE_WHITESPACE_NOT_HANDLED =<a name="line.185"></a>
<FONT color="green">186</FONT>             "ER_IGNORABLE_WHITESPACE_NOT_HANDLED";<a name="line.186"></a>
<FONT color="green">187</FONT>      public static final String ER_DTM_CANNOT_HANDLE_NODES =<a name="line.187"></a>
<FONT color="green">188</FONT>             "ER_DTM_CANNOT_HANDLE_NODES";<a name="line.188"></a>
<FONT color="green">189</FONT>      public static final String ER_XERCES_CANNOT_HANDLE_NODES =<a name="line.189"></a>
<FONT color="green">190</FONT>             "ER_XERCES_CANNOT_HANDLE_NODES";<a name="line.190"></a>
<FONT color="green">191</FONT>      public static final String ER_XERCES_PARSE_ERROR_DETAILS =<a name="line.191"></a>
<FONT color="green">192</FONT>             "ER_XERCES_PARSE_ERROR_DETAILS";<a name="line.192"></a>
<FONT color="green">193</FONT>      public static final String ER_XERCES_PARSE_ERROR = "ER_XERCES_PARSE_ERROR";<a name="line.193"></a>
<FONT color="green">194</FONT>      public static final String ER_INVALID_UTF16_SURROGATE =<a name="line.194"></a>
<FONT color="green">195</FONT>             "ER_INVALID_UTF16_SURROGATE";<a name="line.195"></a>
<FONT color="green">196</FONT>      public static final String ER_OIERROR = "ER_OIERROR";<a name="line.196"></a>
<FONT color="green">197</FONT>      public static final String ER_CANNOT_CREATE_URL = "ER_CANNOT_CREATE_URL";<a name="line.197"></a>
<FONT color="green">198</FONT>      public static final String ER_XPATH_READOBJECT = "ER_XPATH_READOBJECT";<a name="line.198"></a>
<FONT color="green">199</FONT>     public static final String ER_FUNCTION_TOKEN_NOT_FOUND =<a name="line.199"></a>
<FONT color="green">200</FONT>             "ER_FUNCTION_TOKEN_NOT_FOUND";<a name="line.200"></a>
<FONT color="green">201</FONT>      public static final String ER_CANNOT_DEAL_XPATH_TYPE =<a name="line.201"></a>
<FONT color="green">202</FONT>             "ER_CANNOT_DEAL_XPATH_TYPE";<a name="line.202"></a>
<FONT color="green">203</FONT>      public static final String ER_NODESET_NOT_MUTABLE = "ER_NODESET_NOT_MUTABLE";<a name="line.203"></a>
<FONT color="green">204</FONT>      public static final String ER_NODESETDTM_NOT_MUTABLE =<a name="line.204"></a>
<FONT color="green">205</FONT>             "ER_NODESETDTM_NOT_MUTABLE";<a name="line.205"></a>
<FONT color="green">206</FONT>       /**  Variable not resolvable:   */<a name="line.206"></a>
<FONT color="green">207</FONT>      public static final String ER_VAR_NOT_RESOLVABLE = "ER_VAR_NOT_RESOLVABLE";<a name="line.207"></a>
<FONT color="green">208</FONT>       /** Null error handler  */<a name="line.208"></a>
<FONT color="green">209</FONT>     public static final String ER_NULL_ERROR_HANDLER = "ER_NULL_ERROR_HANDLER";<a name="line.209"></a>
<FONT color="green">210</FONT>       /**  Programmer's assertion: unknown opcode  */<a name="line.210"></a>
<FONT color="green">211</FONT>      public static final String ER_PROG_ASSERT_UNKNOWN_OPCODE =<a name="line.211"></a>
<FONT color="green">212</FONT>             "ER_PROG_ASSERT_UNKNOWN_OPCODE";<a name="line.212"></a>
<FONT color="green">213</FONT>       /**  0 or 1   */<a name="line.213"></a>
<FONT color="green">214</FONT>      public static final String ER_ZERO_OR_ONE = "ER_ZERO_OR_ONE";<a name="line.214"></a>
<FONT color="green">215</FONT>       /**  rtf() not supported by XRTreeFragSelectWrapper   */<a name="line.215"></a>
<FONT color="green">216</FONT>      public static final String ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =<a name="line.216"></a>
<FONT color="green">217</FONT>             "ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";<a name="line.217"></a>
<FONT color="green">218</FONT>       /**  asNodeIterator() not supported by XRTreeFragSelectWrapper   */<a name="line.218"></a>
<FONT color="green">219</FONT>      public static final String ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER = "ER_ASNODEITERATOR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";<a name="line.219"></a>
<FONT color="green">220</FONT>       /**  fsb() not supported for XStringForChars   */<a name="line.220"></a>
<FONT color="green">221</FONT>      public static final String ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS =<a name="line.221"></a>
<FONT color="green">222</FONT>             "ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS";<a name="line.222"></a>
<FONT color="green">223</FONT>       /**  Could not find variable with the name of   */<a name="line.223"></a>
<FONT color="green">224</FONT>     public static final String ER_COULD_NOT_FIND_VAR = "ER_COULD_NOT_FIND_VAR";<a name="line.224"></a>
<FONT color="green">225</FONT>       /**  XStringForChars can not take a string for an argument   */<a name="line.225"></a>
<FONT color="green">226</FONT>     public static final String ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING =<a name="line.226"></a>
<FONT color="green">227</FONT>             "ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING";<a name="line.227"></a>
<FONT color="green">228</FONT>       /**  The FastStringBuffer argument can not be null   */<a name="line.228"></a>
<FONT color="green">229</FONT>     public static final String ER_FASTSTRINGBUFFER_CANNOT_BE_NULL =<a name="line.229"></a>
<FONT color="green">230</FONT>             "ER_FASTSTRINGBUFFER_CANNOT_BE_NULL";<a name="line.230"></a>
<FONT color="green">231</FONT>       /**  2 or 3   */<a name="line.231"></a>
<FONT color="green">232</FONT>      public static final String ER_TWO_OR_THREE = "ER_TWO_OR_THREE";<a name="line.232"></a>
<FONT color="green">233</FONT>       /** Variable accessed before it is bound! */<a name="line.233"></a>
<FONT color="green">234</FONT>      public static final String ER_VARIABLE_ACCESSED_BEFORE_BIND =<a name="line.234"></a>
<FONT color="green">235</FONT>             "ER_VARIABLE_ACCESSED_BEFORE_BIND";<a name="line.235"></a>
<FONT color="green">236</FONT>       /** XStringForFSB can not take a string for an argument! */<a name="line.236"></a>
<FONT color="green">237</FONT>     public static final String ER_FSB_CANNOT_TAKE_STRING =<a name="line.237"></a>
<FONT color="green">238</FONT>             "ER_FSB_CANNOT_TAKE_STRING";<a name="line.238"></a>
<FONT color="green">239</FONT>       /** Error! Setting the root of a walker to null! */<a name="line.239"></a>
<FONT color="green">240</FONT>      public static final String ER_SETTING_WALKER_ROOT_TO_NULL =<a name="line.240"></a>
<FONT color="green">241</FONT>             "ER_SETTING_WALKER_ROOT_TO_NULL";<a name="line.241"></a>
<FONT color="green">242</FONT>       /** This NodeSetDTM can not iterate to a previous node! */<a name="line.242"></a>
<FONT color="green">243</FONT>      public static final String ER_NODESETDTM_CANNOT_ITERATE =<a name="line.243"></a>
<FONT color="green">244</FONT>             "ER_NODESETDTM_CANNOT_ITERATE";<a name="line.244"></a>
<FONT color="green">245</FONT>      /** This NodeSet can not iterate to a previous node! */<a name="line.245"></a>
<FONT color="green">246</FONT>     public static final String ER_NODESET_CANNOT_ITERATE =<a name="line.246"></a>
<FONT color="green">247</FONT>             "ER_NODESET_CANNOT_ITERATE";<a name="line.247"></a>
<FONT color="green">248</FONT>      /** This NodeSetDTM can not do indexing or counting functions! */<a name="line.248"></a>
<FONT color="green">249</FONT>      public static final String ER_NODESETDTM_CANNOT_INDEX =<a name="line.249"></a>
<FONT color="green">250</FONT>             "ER_NODESETDTM_CANNOT_INDEX";<a name="line.250"></a>
<FONT color="green">251</FONT>      /** This NodeSet can not do indexing or counting functions! */<a name="line.251"></a>
<FONT color="green">252</FONT>      public static final String ER_NODESET_CANNOT_INDEX =<a name="line.252"></a>
<FONT color="green">253</FONT>             "ER_NODESET_CANNOT_INDEX";<a name="line.253"></a>
<FONT color="green">254</FONT>      /** Can not call setShouldCacheNodes after nextNode has been called! */<a name="line.254"></a>
<FONT color="green">255</FONT>      public static final String ER_CANNOT_CALL_SETSHOULDCACHENODE =<a name="line.255"></a>
<FONT color="green">256</FONT>             "ER_CANNOT_CALL_SETSHOULDCACHENODE";<a name="line.256"></a>
<FONT color="green">257</FONT>      /** {0} only allows {1} arguments */<a name="line.257"></a>
<FONT color="green">258</FONT>     public static final String ER_ONLY_ALLOWS = "ER_ONLY_ALLOWS";<a name="line.258"></a>
<FONT color="green">259</FONT>      /** Programmer's assertion in getNextStepPos: unknown stepType: {0} */<a name="line.259"></a>
<FONT color="green">260</FONT>      public static final String ER_UNKNOWN_STEP = "ER_UNKNOWN_STEP";<a name="line.260"></a>
<FONT color="green">261</FONT>      /** Problem with RelativeLocationPath */<a name="line.261"></a>
<FONT color="green">262</FONT>      public static final String ER_EXPECTED_REL_LOC_PATH =<a name="line.262"></a>
<FONT color="green">263</FONT>             "ER_EXPECTED_REL_LOC_PATH";<a name="line.263"></a>
<FONT color="green">264</FONT>      /** Problem with LocationPath */<a name="line.264"></a>
<FONT color="green">265</FONT>      public static final String ER_EXPECTED_LOC_PATH = "ER_EXPECTED_LOC_PATH";<a name="line.265"></a>
<FONT color="green">266</FONT>      public static final String ER_EXPECTED_LOC_PATH_AT_END_EXPR =<a name="line.266"></a>
<FONT color="green">267</FONT>                                            "ER_EXPECTED_LOC_PATH_AT_END_EXPR";<a name="line.267"></a>
<FONT color="green">268</FONT>      /** Problem with Step */<a name="line.268"></a>
<FONT color="green">269</FONT>      public static final String ER_EXPECTED_LOC_STEP = "ER_EXPECTED_LOC_STEP";<a name="line.269"></a>
<FONT color="green">270</FONT>      /** Problem with NodeTest */<a name="line.270"></a>
<FONT color="green">271</FONT>      public static final String ER_EXPECTED_NODE_TEST = "ER_EXPECTED_NODE_TEST";<a name="line.271"></a>
<FONT color="green">272</FONT>      /** Expected step pattern */<a name="line.272"></a>
<FONT color="green">273</FONT>      public static final String ER_EXPECTED_STEP_PATTERN =<a name="line.273"></a>
<FONT color="green">274</FONT>            "ER_EXPECTED_STEP_PATTERN";<a name="line.274"></a>
<FONT color="green">275</FONT>      /** Expected relative path pattern */<a name="line.275"></a>
<FONT color="green">276</FONT>      public static final String ER_EXPECTED_REL_PATH_PATTERN =<a name="line.276"></a>
<FONT color="green">277</FONT>             "ER_EXPECTED_REL_PATH_PATTERN";<a name="line.277"></a>
<FONT color="green">278</FONT>      /** ER_CANT_CONVERT_XPATHRESULTTYPE_TO_BOOLEAN          */<a name="line.278"></a>
<FONT color="green">279</FONT>      public static final String ER_CANT_CONVERT_TO_BOOLEAN =<a name="line.279"></a>
<FONT color="green">280</FONT>             "ER_CANT_CONVERT_TO_BOOLEAN";<a name="line.280"></a>
<FONT color="green">281</FONT>      /** Field ER_CANT_CONVERT_TO_SINGLENODE       */<a name="line.281"></a>
<FONT color="green">282</FONT>      public static final String ER_CANT_CONVERT_TO_SINGLENODE =<a name="line.282"></a>
<FONT color="green">283</FONT>             "ER_CANT_CONVERT_TO_SINGLENODE";<a name="line.283"></a>
<FONT color="green">284</FONT>      /** Field ER_CANT_GET_SNAPSHOT_LENGTH         */<a name="line.284"></a>
<FONT color="green">285</FONT>      public static final String ER_CANT_GET_SNAPSHOT_LENGTH =<a name="line.285"></a>
<FONT color="green">286</FONT>             "ER_CANT_GET_SNAPSHOT_LENGTH";<a name="line.286"></a>
<FONT color="green">287</FONT>      /** Field ER_NON_ITERATOR_TYPE                */<a name="line.287"></a>
<FONT color="green">288</FONT>      public static final String ER_NON_ITERATOR_TYPE = "ER_NON_ITERATOR_TYPE";<a name="line.288"></a>
<FONT color="green">289</FONT>      /** Field ER_DOC_MUTATED                      */<a name="line.289"></a>
<FONT color="green">290</FONT>      public static final String ER_DOC_MUTATED = "ER_DOC_MUTATED";<a name="line.290"></a>
<FONT color="green">291</FONT>      public static final String ER_INVALID_XPATH_TYPE = "ER_INVALID_XPATH_TYPE";<a name="line.291"></a>
<FONT color="green">292</FONT>      public static final String ER_EMPTY_XPATH_RESULT = "ER_EMPTY_XPATH_RESULT";<a name="line.292"></a>
<FONT color="green">293</FONT>      public static final String ER_INCOMPATIBLE_TYPES = "ER_INCOMPATIBLE_TYPES";<a name="line.293"></a>
<FONT color="green">294</FONT>      public static final String ER_NULL_RESOLVER = "ER_NULL_RESOLVER";<a name="line.294"></a>
<FONT color="green">295</FONT>      public static final String ER_CANT_CONVERT_TO_STRING =<a name="line.295"></a>
<FONT color="green">296</FONT>             "ER_CANT_CONVERT_TO_STRING";<a name="line.296"></a>
<FONT color="green">297</FONT>      public static final String ER_NON_SNAPSHOT_TYPE = "ER_NON_SNAPSHOT_TYPE";<a name="line.297"></a>
<FONT color="green">298</FONT>      public static final String ER_WRONG_DOCUMENT = "ER_WRONG_DOCUMENT";<a name="line.298"></a>
<FONT color="green">299</FONT>      /* Note to translators:  The XPath expression cannot be evaluated with respect<a name="line.299"></a>
<FONT color="green">300</FONT>       * to this type of node.<a name="line.300"></a>
<FONT color="green">301</FONT>       */<a name="line.301"></a>
<FONT color="green">302</FONT>      /** Field ER_WRONG_NODETYPE                    */<a name="line.302"></a>
<FONT color="green">303</FONT>      public static final String ER_WRONG_NODETYPE = "ER_WRONG_NODETYPE";<a name="line.303"></a>
<FONT color="green">304</FONT>      public static final String ER_XPATH_ERROR = "ER_XPATH_ERROR";<a name="line.304"></a>
<FONT color="green">305</FONT>    <a name="line.305"></a>
<FONT color="green">306</FONT>      //BEGIN: Keys needed for exception messages of  JAXP 1.3 XPath API implementation<a name="line.306"></a>
<FONT color="green">307</FONT>      public static final String ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED = "ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED";<a name="line.307"></a>
<FONT color="green">308</FONT>      public static final String ER_RESOLVE_VARIABLE_RETURNS_NULL = "ER_RESOLVE_VARIABLE_RETURNS_NULL";<a name="line.308"></a>
<FONT color="green">309</FONT>      public static final String ER_UNSUPPORTED_RETURN_TYPE = "ER_UNSUPPORTED_RETURN_TYPE";<a name="line.309"></a>
<FONT color="green">310</FONT>      public static final String ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL = "ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL";<a name="line.310"></a>
<FONT color="green">311</FONT>      public static final String ER_ARG_CANNOT_BE_NULL = "ER_ARG_CANNOT_BE_NULL";<a name="line.311"></a>
<FONT color="green">312</FONT>    <a name="line.312"></a>
<FONT color="green">313</FONT>      public static final String ER_OBJECT_MODEL_NULL = "ER_OBJECT_MODEL_NULL";<a name="line.313"></a>
<FONT color="green">314</FONT>      public static final String ER_OBJECT_MODEL_EMPTY = "ER_OBJECT_MODEL_EMPTY";<a name="line.314"></a>
<FONT color="green">315</FONT>      public static final String ER_FEATURE_NAME_NULL = "ER_FEATURE_NAME_NULL";<a name="line.315"></a>
<FONT color="green">316</FONT>      public static final String ER_FEATURE_UNKNOWN = "ER_FEATURE_UNKNOWN";<a name="line.316"></a>
<FONT color="green">317</FONT>      public static final String ER_GETTING_NULL_FEATURE = "ER_GETTING_NULL_FEATURE";<a name="line.317"></a>
<FONT color="green">318</FONT>      public static final String ER_GETTING_UNKNOWN_FEATURE = "ER_GETTING_UNKNOWN_FEATURE";<a name="line.318"></a>
<FONT color="green">319</FONT>      public static final String ER_NULL_XPATH_FUNCTION_RESOLVER = "ER_NULL_XPATH_FUNCTION_RESOLVER";<a name="line.319"></a>
<FONT color="green">320</FONT>      public static final String ER_NULL_XPATH_VARIABLE_RESOLVER = "ER_NULL_XPATH_VARIABLE_RESOLVER";<a name="line.320"></a>
<FONT color="green">321</FONT>      //END: Keys needed for exception messages of  JAXP 1.3 XPath API implementation<a name="line.321"></a>
<FONT color="green">322</FONT>    <a name="line.322"></a>
<FONT color="green">323</FONT>      public static final String WG_LOCALE_NAME_NOT_HANDLED =<a name="line.323"></a>
<FONT color="green">324</FONT>             "WG_LOCALE_NAME_NOT_HANDLED";<a name="line.324"></a>
<FONT color="green">325</FONT>      public static final String WG_PROPERTY_NOT_SUPPORTED =<a name="line.325"></a>
<FONT color="green">326</FONT>             "WG_PROPERTY_NOT_SUPPORTED";<a name="line.326"></a>
<FONT color="green">327</FONT>      public static final String WG_DONT_DO_ANYTHING_WITH_NS =<a name="line.327"></a>
<FONT color="green">328</FONT>             "WG_DONT_DO_ANYTHING_WITH_NS";<a name="line.328"></a>
<FONT color="green">329</FONT>      public static final String WG_SECURITY_EXCEPTION = "WG_SECURITY_EXCEPTION";<a name="line.329"></a>
<FONT color="green">330</FONT>      public static final String WG_QUO_NO_LONGER_DEFINED =<a name="line.330"></a>
<FONT color="green">331</FONT>             "WG_QUO_NO_LONGER_DEFINED";<a name="line.331"></a>
<FONT color="green">332</FONT>      public static final String WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST =<a name="line.332"></a>
<FONT color="green">333</FONT>             "WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST";<a name="line.333"></a>
<FONT color="green">334</FONT>      public static final String WG_FUNCTION_TOKEN_NOT_FOUND =<a name="line.334"></a>
<FONT color="green">335</FONT>             "WG_FUNCTION_TOKEN_NOT_FOUND";<a name="line.335"></a>
<FONT color="green">336</FONT>      public static final String WG_COULDNOT_FIND_FUNCTION =<a name="line.336"></a>
<FONT color="green">337</FONT>             "WG_COULDNOT_FIND_FUNCTION";<a name="line.337"></a>
<FONT color="green">338</FONT>      public static final String WG_CANNOT_MAKE_URL_FROM ="WG_CANNOT_MAKE_URL_FROM";<a name="line.338"></a>
<FONT color="green">339</FONT>      public static final String WG_EXPAND_ENTITIES_NOT_SUPPORTED =<a name="line.339"></a>
<FONT color="green">340</FONT>             "WG_EXPAND_ENTITIES_NOT_SUPPORTED";<a name="line.340"></a>
<FONT color="green">341</FONT>      public static final String WG_ILLEGAL_VARIABLE_REFERENCE =<a name="line.341"></a>
<FONT color="green">342</FONT>             "WG_ILLEGAL_VARIABLE_REFERENCE";<a name="line.342"></a>
<FONT color="green">343</FONT>      public static final String WG_UNSUPPORTED_ENCODING ="WG_UNSUPPORTED_ENCODING";<a name="line.343"></a>
<FONT color="green">344</FONT>    <a name="line.344"></a>
<FONT color="green">345</FONT>      /**  detach() not supported by XRTreeFragSelectWrapper   */<a name="line.345"></a>
<FONT color="green">346</FONT>      public static final String ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =<a name="line.346"></a>
<FONT color="green">347</FONT>             "ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";<a name="line.347"></a>
<FONT color="green">348</FONT>      /**  num() not supported by XRTreeFragSelectWrapper   */<a name="line.348"></a>
<FONT color="green">349</FONT>      public static final String ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =<a name="line.349"></a>
<FONT color="green">350</FONT>             "ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";<a name="line.350"></a>
<FONT color="green">351</FONT>      /**  xstr() not supported by XRTreeFragSelectWrapper   */<a name="line.351"></a>
<FONT color="green">352</FONT>      public static final String ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =<a name="line.352"></a>
<FONT color="green">353</FONT>             "ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";<a name="line.353"></a>
<FONT color="green">354</FONT>      /**  str() not supported by XRTreeFragSelectWrapper   */<a name="line.354"></a>
<FONT color="green">355</FONT>      public static final String ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER =<a name="line.355"></a>
<FONT color="green">356</FONT>             "ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER";<a name="line.356"></a>
<FONT color="green">357</FONT>    <a name="line.357"></a>
<FONT color="green">358</FONT>      // Error messages...<a name="line.358"></a>
<FONT color="green">359</FONT>    <a name="line.359"></a>
<FONT color="green">360</FONT>    <a name="line.360"></a>
<FONT color="green">361</FONT>      /**<a name="line.361"></a>
<FONT color="green">362</FONT>       * Get the association list.<a name="line.362"></a>
<FONT color="green">363</FONT>       *<a name="line.363"></a>
<FONT color="green">364</FONT>       * @return The association list.<a name="line.364"></a>
<FONT color="green">365</FONT>       */<a name="line.365"></a>
<FONT color="green">366</FONT>      public Object[][] getContents()<a name="line.366"></a>
<FONT color="green">367</FONT>      {<a name="line.367"></a>
<FONT color="green">368</FONT>        return new Object[][]{<a name="line.368"></a>
<FONT color="green">369</FONT>    <a name="line.369"></a>
<FONT color="green">370</FONT>      { "ERROR0000" , "{0}" },<a name="line.370"></a>
<FONT color="green">371</FONT>    <a name="line.371"></a>
<FONT color="green">372</FONT>      { ER_CURRENT_NOT_ALLOWED_IN_MATCH, "La fonction current() n'est pas admise dans un motif de correspondance !" },<a name="line.372"></a>
<FONT color="green">373</FONT>    <a name="line.373"></a>
<FONT color="green">374</FONT>      { ER_CURRENT_TAKES_NO_ARGS, "La fonction current() n'accepte pas d'arguments !" },<a name="line.374"></a>
<FONT color="green">375</FONT>    <a name="line.375"></a>
<FONT color="green">376</FONT>      { ER_DOCUMENT_REPLACED,<a name="line.376"></a>
<FONT color="green">377</FONT>          "L'impl\u00e9mentation de la fonction document() a \u00e9t\u00e9 remplac\u00e9e par org.apache.xalan.xslt.FuncDocument !"},<a name="line.377"></a>
<FONT color="green">378</FONT>    <a name="line.378"></a>
<FONT color="green">379</FONT>      { ER_CONTEXT_HAS_NO_OWNERDOC,<a name="line.379"></a>
<FONT color="green">380</FONT>          "Le contexte ne poss\u00e8de pas de document propri\u00e9taire !"},<a name="line.380"></a>
<FONT color="green">381</FONT>    <a name="line.381"></a>
<FONT color="green">382</FONT>      { ER_LOCALNAME_HAS_TOO_MANY_ARGS,<a name="line.382"></a>
<FONT color="green">383</FONT>          "local-name() poss\u00e8de trop d'arguments."},<a name="line.383"></a>
<FONT color="green">384</FONT>    <a name="line.384"></a>
<FONT color="green">385</FONT>      { ER_NAMESPACEURI_HAS_TOO_MANY_ARGS,<a name="line.385"></a>
<FONT color="green">386</FONT>          "namespace-uri() poss\u00e8de trop d'arguments."},<a name="line.386"></a>
<FONT color="green">387</FONT>    <a name="line.387"></a>
<FONT color="green">388</FONT>      { ER_NORMALIZESPACE_HAS_TOO_MANY_ARGS,<a name="line.388"></a>
<FONT color="green">389</FONT>          "normalize-space() poss\u00e8de trop d'arguments."},<a name="line.389"></a>
<FONT color="green">390</FONT>    <a name="line.390"></a>
<FONT color="green">391</FONT>      { ER_NUMBER_HAS_TOO_MANY_ARGS,<a name="line.391"></a>
<FONT color="green">392</FONT>          "number() poss\u00e8de trop d'arguments."},<a name="line.392"></a>
<FONT color="green">393</FONT>    <a name="line.393"></a>
<FONT color="green">394</FONT>      { ER_NAME_HAS_TOO_MANY_ARGS,<a name="line.394"></a>
<FONT color="green">395</FONT>         "name() poss\u00e8de trop d'arguments."},<a name="line.395"></a>
<FONT color="green">396</FONT>    <a name="line.396"></a>
<FONT color="green">397</FONT>      { ER_STRING_HAS_TOO_MANY_ARGS,<a name="line.397"></a>
<FONT color="green">398</FONT>          "string() poss\u00e8de trop d'arguments."},<a name="line.398"></a>
<FONT color="green">399</FONT>    <a name="line.399"></a>
<FONT color="green">400</FONT>      { ER_STRINGLENGTH_HAS_TOO_MANY_ARGS,<a name="line.400"></a>
<FONT color="green">401</FONT>          "string-length() poss\u00e8de trop d'arguments."},<a name="line.401"></a>
<FONT color="green">402</FONT>    <a name="line.402"></a>
<FONT color="green">403</FONT>      { ER_TRANSLATE_TAKES_3_ARGS,<a name="line.403"></a>
<FONT color="green">404</FONT>          "La fonction translate() accepte trois arguments !"},<a name="line.404"></a>
<FONT color="green">405</FONT>    <a name="line.405"></a>
<FONT color="green">406</FONT>      { ER_UNPARSEDENTITYURI_TAKES_1_ARG,<a name="line.406"></a>
<FONT color="green">407</FONT>          "Un argument doit \u00eatre fournie \u00e0 la fonction unparsed-entity-uri !"},<a name="line.407"></a>
<FONT color="green">408</FONT>    <a name="line.408"></a>
<FONT color="green">409</FONT>      { ER_NAMESPACEAXIS_NOT_IMPLEMENTED,<a name="line.409"></a>
<FONT color="green">410</FONT>          "L'axe de l'espace de noms n'est pas impl\u00e9ment\u00e9 !"},<a name="line.410"></a>
<FONT color="green">411</FONT>    <a name="line.411"></a>
<FONT color="green">412</FONT>      { ER_UNKNOWN_AXIS,<a name="line.412"></a>
<FONT color="green">413</FONT>         "axe inconnu : {0}"},<a name="line.413"></a>
<FONT color="green">414</FONT>    <a name="line.414"></a>
<FONT color="green">415</FONT>      { ER_UNKNOWN_MATCH_OPERATION,<a name="line.415"></a>
<FONT color="green">416</FONT>         "op\u00e9ration de correspondance inconnue !"},<a name="line.416"></a>
<FONT color="green">417</FONT>    <a name="line.417"></a>
<FONT color="green">418</FONT>      { ER_INCORRECT_ARG_LENGTH,<a name="line.418"></a>
<FONT color="green">419</FONT>          "La longueur d'argument du test du noeud processing-instruction() n'est pas correcte !"},<a name="line.419"></a>
<FONT color="green">420</FONT>    <a name="line.420"></a>
<FONT color="green">421</FONT>      { ER_CANT_CONVERT_TO_NUMBER,<a name="line.421"></a>
<FONT color="green">422</FONT>          "Impossible de convertir {0} en un nombre"},<a name="line.422"></a>
<FONT color="green">423</FONT>    <a name="line.423"></a>
<FONT color="green">424</FONT>      { ER_CANT_CONVERT_TO_NODELIST,<a name="line.424"></a>
<FONT color="green">425</FONT>          "Impossible de convertir {0} en un NodeList !"},<a name="line.425"></a>
<FONT color="green">426</FONT>    <a name="line.426"></a>
<FONT color="green">427</FONT>      { ER_CANT_CONVERT_TO_MUTABLENODELIST,<a name="line.427"></a>
<FONT color="green">428</FONT>          "Impossible de convertir {0} en un NodeSetDTM !"},<a name="line.428"></a>
<FONT color="green">429</FONT>    <a name="line.429"></a>
<FONT color="green">430</FONT>      { ER_CANT_CONVERT_TO_TYPE,<a name="line.430"></a>
<FONT color="green">431</FONT>          "Impossible de convertir {0} en un type#{1}"},<a name="line.431"></a>
<FONT color="green">432</FONT>    <a name="line.432"></a>
<FONT color="green">433</FONT>      { ER_EXPECTED_MATCH_PATTERN,<a name="line.433"></a>
<FONT color="green">434</FONT>          "Motif de correspondance obligatoire dans getMatchScore !"},<a name="line.434"></a>
<FONT color="green">435</FONT>    <a name="line.435"></a>
<FONT color="green">436</FONT>      { ER_COULDNOT_GET_VAR_NAMED,<a name="line.436"></a>
<FONT color="green">437</FONT>          "Impossible d''extraire la variable {0}"},<a name="line.437"></a>
<FONT color="green">438</FONT>    <a name="line.438"></a>
<FONT color="green">439</FONT>      { ER_UNKNOWN_OPCODE,<a name="line.439"></a>
<FONT color="green">440</FONT>         "ERREUR ! Code op\u00e9ration inconnu : {0}"},<a name="line.440"></a>
<FONT color="green">441</FONT>    <a name="line.441"></a>
<FONT color="green">442</FONT>      { ER_EXTRA_ILLEGAL_TOKENS,<a name="line.442"></a>
<FONT color="green">443</FONT>         "Jetons incorrects suppl\u00e9mentaires : {0}"},<a name="line.443"></a>
<FONT color="green">444</FONT>    <a name="line.444"></a>
<FONT color="green">445</FONT>    <a name="line.445"></a>
<FONT color="green">446</FONT>      { ER_EXPECTED_DOUBLE_QUOTE,<a name="line.446"></a>
<FONT color="green">447</FONT>          "Erreur de guillemets dans un litt\u00e9ral... Guillemet double obligatoire !"},<a name="line.447"></a>
<FONT color="green">448</FONT>    <a name="line.448"></a>
<FONT color="green">449</FONT>      { ER_EXPECTED_SINGLE_QUOTE,<a name="line.449"></a>
<FONT color="green">450</FONT>          "Erreur de guillemets dans un litt\u00e9ral... Guillemet simple obligatoire !"},<a name="line.450"></a>
<FONT color="green">451</FONT>    <a name="line.451"></a>
<FONT color="green">452</FONT>      { ER_EMPTY_EXPRESSION,<a name="line.452"></a>
<FONT color="green">453</FONT>         "Expression vide !"},<a name="line.453"></a>
<FONT color="green">454</FONT>    <a name="line.454"></a>
<FONT color="green">455</FONT>      { ER_EXPECTED_BUT_FOUND,<a name="line.455"></a>
<FONT color="green">456</FONT>         "{1} a \u00e9t\u00e9 trouv\u00e9 alors que {0} \u00e9tait attendu :"},<a name="line.456"></a>
<FONT color="green">457</FONT>    <a name="line.457"></a>
<FONT color="green">458</FONT>      { ER_INCORRECT_PROGRAMMER_ASSERTION,<a name="line.458"></a>
<FONT color="green">459</FONT>          "Assertion de programme incorrecte ! - {0}"},<a name="line.459"></a>
<FONT color="green">460</FONT>    <a name="line.460"></a>
<FONT color="green">461</FONT>      { ER_BOOLEAN_ARG_NO_LONGER_OPTIONAL,<a name="line.461"></a>
<FONT color="green">462</FONT>          "L'argument bool\u00e9en(...) n'est plus optionnel avec le document de normalisation XPath 19990709."},<a name="line.462"></a>
<FONT color="green">463</FONT>    <a name="line.463"></a>
<FONT color="green">464</FONT>      { ER_FOUND_COMMA_BUT_NO_PRECEDING_ARG,<a name="line.464"></a>
<FONT color="green">465</FONT>          "Virgule trouv\u00e9e sans argument qui la pr\u00e9c\u00e8de !"},<a name="line.465"></a>
<FONT color="green">466</FONT>    <a name="line.466"></a>
<FONT color="green">467</FONT>      { ER_FOUND_COMMA_BUT_NO_FOLLOWING_ARG,<a name="line.467"></a>
<FONT color="green">468</FONT>          "Virgule trouv\u00e9e sans argument qui la suit !"},<a name="line.468"></a>
<FONT color="green">469</FONT>    <a name="line.469"></a>
<FONT color="green">470</FONT>      { ER_PREDICATE_ILLEGAL_SYNTAX,<a name="line.470"></a>
<FONT color="green">471</FONT>          "La syntaxe '[pr\u00e9dicat]' ou '.[pr\u00e9dicat]' est incorrecte. Pr\u00e9f\u00e9rez 'self::node()[pr\u00e9dicat]'."},<a name="line.471"></a>
<FONT color="green">472</FONT>    <a name="line.472"></a>
<FONT color="green">473</FONT>      { ER_ILLEGAL_AXIS_NAME,<a name="line.473"></a>
<FONT color="green">474</FONT>         "nom d''axe incorrect : {0}"},<a name="line.474"></a>
<FONT color="green">475</FONT>    <a name="line.475"></a>
<FONT color="green">476</FONT>      { ER_UNKNOWN_NODETYPE,<a name="line.476"></a>
<FONT color="green">477</FONT>         "Type de noeud inconnu : {0}"},<a name="line.477"></a>
<FONT color="green">478</FONT>    <a name="line.478"></a>
<FONT color="green">479</FONT>      { ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,<a name="line.479"></a>
<FONT color="green">480</FONT>          "Le litt\u00e9ral de motif ({0}) doit figurer entre guillemets !"},<a name="line.480"></a>
<FONT color="green">481</FONT>    <a name="line.481"></a>
<FONT color="green">482</FONT>      { ER_COULDNOT_BE_FORMATTED_TO_NUMBER,<a name="line.482"></a>
<FONT color="green">483</FONT>          "{0} ne peut \u00eatre format\u00e9e sous forme num\u00e9rique !"},<a name="line.483"></a>
<FONT color="green">484</FONT>    <a name="line.484"></a>
<FONT color="green">485</FONT>      { ER_COULDNOT_CREATE_XMLPROCESSORLIAISON,<a name="line.485"></a>
<FONT color="green">486</FONT>          "Impossible de cr\u00e9er XML TransformerFactory Liaison : {0}"},<a name="line.486"></a>
<FONT color="green">487</FONT>    <a name="line.487"></a>
<FONT color="green">488</FONT>      { ER_DIDNOT_FIND_XPATH_SELECT_EXP,<a name="line.488"></a>
<FONT color="green">489</FONT>          "Erreur ! Impossible de trouver l'expression de s\u00e9lection xpath (-select)."},<a name="line.489"></a>
<FONT color="green">490</FONT>    <a name="line.490"></a>
<FONT color="green">491</FONT>      { ER_COULDNOT_FIND_ENDOP_AFTER_OPLOCATIONPATH,<a name="line.491"></a>
<FONT color="green">492</FONT>          "ERREUR ! Impossible de trouver ENDOP apr\u00e8s OP_LOCATIONPATH"},<a name="line.492"></a>
<FONT color="green">493</FONT>    <a name="line.493"></a>
<FONT color="green">494</FONT>      { ER_ERROR_OCCURED,<a name="line.494"></a>
<FONT color="green">495</FONT>         "Une erreur s'est produite !"},<a name="line.495"></a>
<FONT color="green">496</FONT>    <a name="line.496"></a>
<FONT color="green">497</FONT>      { ER_ILLEGAL_VARIABLE_REFERENCE,<a name="line.497"></a>
<FONT color="green">498</FONT>          "R\u00e9f\u00e9rence de la variable hors contexte ou sans d\u00e9finition !  Nom = {0}"},<a name="line.498"></a>
<FONT color="green">499</FONT>    <a name="line.499"></a>
<FONT color="green">500</FONT>      { ER_AXES_NOT_ALLOWED,<a name="line.500"></a>
<FONT color="green">501</FONT>          "Seuls les axes child:: et attribute:: sont autoris\u00e9s dans des motifs de correspondance !  Axes incorrects= {0}"},<a name="line.501"></a>
<FONT color="green">502</FONT>    <a name="line.502"></a>
<FONT color="green">503</FONT>      { ER_KEY_HAS_TOO_MANY_ARGS,<a name="line.503"></a>
<FONT color="green">504</FONT>          "key() poss\u00e8de un nombre non valide d'arguments."},<a name="line.504"></a>
<FONT color="green">505</FONT>    <a name="line.505"></a>
<FONT color="green">506</FONT>      { ER_COUNT_TAKES_1_ARG,<a name="line.506"></a>
<FONT color="green">507</FONT>          "Un seul argument doit \u00eatre fourni \u00e0 la fonction count !"},<a name="line.507"></a>
<FONT color="green">508</FONT>    <a name="line.508"></a>
<FONT color="green">509</FONT>      { ER_COULDNOT_FIND_FUNCTION,<a name="line.509"></a>
<FONT color="green">510</FONT>         "Impossible de trouver la fonction : {0}"},<a name="line.510"></a>
<FONT color="green">511</FONT>    <a name="line.511"></a>
<FONT color="green">512</FONT>      { ER_UNSUPPORTED_ENCODING,<a name="line.512"></a>
<FONT color="green">513</FONT>         "Codage non pris en charge : {0}"},<a name="line.513"></a>
<FONT color="green">514</FONT>    <a name="line.514"></a>
<FONT color="green">515</FONT>      { ER_PROBLEM_IN_DTM_NEXTSIBLING,<a name="line.515"></a>
<FONT color="green">516</FONT>          "Une erreur s'est produite dans la DTM de getNextSibling... Tentative de reprise en cours"},<a name="line.516"></a>
<FONT color="green">517</FONT>    <a name="line.517"></a>
<FONT color="green">518</FONT>      { ER_CANNOT_WRITE_TO_EMPTYNODELISTIMPL,<a name="line.518"></a>
<FONT color="green">519</FONT>          "Erreur de programme : Ecriture impossible dans EmptyNodeList."},<a name="line.519"></a>
<FONT color="green">520</FONT>    <a name="line.520"></a>
<FONT color="green">521</FONT>      { ER_SETDOMFACTORY_NOT_SUPPORTED,<a name="line.521"></a>
<FONT color="green">522</FONT>          "SetDOMFactory n'est pas pris en charge par XPathContext !"},<a name="line.522"></a>
<FONT color="green">523</FONT>    <a name="line.523"></a>
<FONT color="green">524</FONT>      { ER_PREFIX_MUST_RESOLVE,<a name="line.524"></a>
<FONT color="green">525</FONT>          "Le pr\u00e9fixe doit se convertir en espace de noms : {0}"},<a name="line.525"></a>
<FONT color="green">526</FONT>    <a name="line.526"></a>
<FONT color="green">527</FONT>      { ER_PARSE_NOT_SUPPORTED,<a name="line.527"></a>
<FONT color="green">528</FONT>          "parse (InputSource source) non pris en charge dans XPathContext ! Ouverture de {0} impossible"},<a name="line.528"></a>
<FONT color="green">529</FONT>    <a name="line.529"></a>
<FONT color="green">530</FONT>      { ER_SAX_API_NOT_HANDLED,<a name="line.530"></a>
<FONT color="green">531</FONT>          "Caract\u00e8res (char ch[]...) de l'API SAX non pris en charge par le DTM !"},<a name="line.531"></a>
<FONT color="green">532</FONT>    <a name="line.532"></a>
<FONT color="green">533</FONT>      { ER_IGNORABLE_WHITESPACE_NOT_HANDLED,<a name="line.533"></a>
<FONT color="green">534</FONT>          "ignorableWhitespace(char ch[]... non pris en charge par le DTM !"},<a name="line.534"></a>
<FONT color="green">535</FONT>    <a name="line.535"></a>
<FONT color="green">536</FONT>      { ER_DTM_CANNOT_HANDLE_NODES,<a name="line.536"></a>
<FONT color="green">537</FONT>          "DTMLiaison ne prend pas en charge des noeuds de type {0}"},<a name="line.537"></a>
<FONT color="green">538</FONT>    <a name="line.538"></a>
<FONT color="green">539</FONT>      { ER_XERCES_CANNOT_HANDLE_NODES,<a name="line.539"></a>
<FONT color="green">540</FONT>          "DOM2Helper ne prend pas en charge des noeuds de type {0}"},<a name="line.540"></a>
<FONT color="green">541</FONT>    <a name="line.541"></a>
<FONT color="green">542</FONT>      { ER_XERCES_PARSE_ERROR_DETAILS,<a name="line.542"></a>
<FONT color="green">543</FONT>          "Erreur de DOM2Helper.parse : ID syst\u00e8me - {0} ligne - {1}"},<a name="line.543"></a>
<FONT color="green">544</FONT>    <a name="line.544"></a>
<FONT color="green">545</FONT>      { ER_XERCES_PARSE_ERROR,<a name="line.545"></a>
<FONT color="green">546</FONT>         "Erreur de DOM2Helper.parse"},<a name="line.546"></a>
<FONT color="green">547</FONT>    <a name="line.547"></a>
<FONT color="green">548</FONT>      { ER_INVALID_UTF16_SURROGATE,<a name="line.548"></a>
<FONT color="green">549</FONT>          "Substitut UTF-16 non valide d\u00e9tect\u00e9 : {0} ?"},<a name="line.549"></a>
<FONT color="green">550</FONT>    <a name="line.550"></a>
<FONT color="green">551</FONT>      { ER_OIERROR,<a name="line.551"></a>
<FONT color="green">552</FONT>         "Erreur d'E-S"},<a name="line.552"></a>
<FONT color="green">553</FONT>    <a name="line.553"></a>
<FONT color="green">554</FONT>      { ER_CANNOT_CREATE_URL,<a name="line.554"></a>
<FONT color="green">555</FONT>         "Impossible de cr\u00e9er une URL pour : {0}"},<a name="line.555"></a>
<FONT color="green">556</FONT>    <a name="line.556"></a>
<FONT color="green">557</FONT>      { ER_XPATH_READOBJECT,<a name="line.557"></a>
<FONT color="green">558</FONT>         "Dans XPath.readObject : {0}"},<a name="line.558"></a>
<FONT color="green">559</FONT>    <a name="line.559"></a>
<FONT color="green">560</FONT>      { ER_FUNCTION_TOKEN_NOT_FOUND,<a name="line.560"></a>
<FONT color="green">561</FONT>          "jeton de fonction introuvable."},<a name="line.561"></a>
<FONT color="green">562</FONT>    <a name="line.562"></a>
<FONT color="green">563</FONT>      { ER_CANNOT_DEAL_XPATH_TYPE,<a name="line.563"></a>
<FONT color="green">564</FONT>           "Impossible de traiter le type XPath : {0}"},<a name="line.564"></a>
<FONT color="green">565</FONT>    <a name="line.565"></a>
<FONT color="green">566</FONT>      { ER_NODESET_NOT_MUTABLE,<a name="line.566"></a>
<FONT color="green">567</FONT>           "NodeSet indivisible"},<a name="line.567"></a>
<FONT color="green">568</FONT>    <a name="line.568"></a>
<FONT color="green">569</FONT>      { ER_NODESETDTM_NOT_MUTABLE,<a name="line.569"></a>
<FONT color="green">570</FONT>           "NodeSetDTM indivisible"},<a name="line.570"></a>
<FONT color="green">571</FONT>    <a name="line.571"></a>
<FONT color="green">572</FONT>      { ER_VAR_NOT_RESOLVABLE,<a name="line.572"></a>
<FONT color="green">573</FONT>            "Impossible de r\u00e9soudre la variable : {0}"},<a name="line.573"></a>
<FONT color="green">574</FONT>    <a name="line.574"></a>
<FONT color="green">575</FONT>      { ER_NULL_ERROR_HANDLER,<a name="line.575"></a>
<FONT color="green">576</FONT>            "Gestionnaire d'erreurs vide"},<a name="line.576"></a>
<FONT color="green">577</FONT>    <a name="line.577"></a>
<FONT color="green">578</FONT>      { ER_PROG_ASSERT_UNKNOWN_OPCODE,<a name="line.578"></a>
<FONT color="green">579</FONT>           "Assertion de programme : code op\u00e9ration inconnu : {0}"},<a name="line.579"></a>
<FONT color="green">580</FONT>    <a name="line.580"></a>
<FONT color="green">581</FONT>      { ER_ZERO_OR_ONE,<a name="line.581"></a>
<FONT color="green">582</FONT>           "0 ou 1"},<a name="line.582"></a>
<FONT color="green">583</FONT>    <a name="line.583"></a>
<FONT color="green">584</FONT>      { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,<a name="line.584"></a>
<FONT color="green">585</FONT>           "rtf() non pris en charge par XRTreeFragSelectWrapper"},<a name="line.585"></a>
<FONT color="green">586</FONT>    <a name="line.586"></a>
<FONT color="green">587</FONT>      { ER_RTF_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,<a name="line.587"></a>
<FONT color="green">588</FONT>           "asNodeIterator() non pris en charge par XRTreeFragSelectWrapper"},<a name="line.588"></a>
<FONT color="green">589</FONT>    <a name="line.589"></a>
<FONT color="green">590</FONT>       { ER_DETACH_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,<a name="line.590"></a>
<FONT color="green">591</FONT>                    "detach() non pris en charge par XRTreeFragSelectWrapper"},<a name="line.591"></a>
<FONT color="green">592</FONT>    <a name="line.592"></a>
<FONT color="green">593</FONT>       { ER_NUM_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,<a name="line.593"></a>
<FONT color="green">594</FONT>                    "num() non pris en charge par XRTreeFragSelectWrapper"},<a name="line.594"></a>
<FONT color="green">595</FONT>    <a name="line.595"></a>
<FONT color="green">596</FONT>       { ER_XSTR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,<a name="line.596"></a>
<FONT color="green">597</FONT>                    "xstr() non pris en charge par XRTreeFragSelectWrapper"},<a name="line.597"></a>
<FONT color="green">598</FONT>    <a name="line.598"></a>
<FONT color="green">599</FONT>       { ER_STR_NOT_SUPPORTED_XRTREEFRAGSELECTWRAPPER,<a name="line.599"></a>
<FONT color="green">600</FONT>                    "str() non pris en charge par XRTreeFragSelectWrapper"},<a name="line.600"></a>
<FONT color="green">601</FONT>    <a name="line.601"></a>
<FONT color="green">602</FONT>      { ER_FSB_NOT_SUPPORTED_XSTRINGFORCHARS,<a name="line.602"></a>
<FONT color="green">603</FONT>           "fsb() non pris en charge par XStringForChars"},<a name="line.603"></a>
<FONT color="green">604</FONT>    <a name="line.604"></a>
<FONT color="green">605</FONT>      { ER_COULD_NOT_FIND_VAR,<a name="line.605"></a>
<FONT color="green">606</FONT>          "Impossible de trouver la variable portant le nom {0}"},<a name="line.606"></a>
<FONT color="green">607</FONT>    <a name="line.607"></a>
<FONT color="green">608</FONT>      { ER_XSTRINGFORCHARS_CANNOT_TAKE_STRING,<a name="line.608"></a>
<FONT color="green">609</FONT>          "XStringForChars n'accepte pas de cha\u00eene comme argument"},<a name="line.609"></a>
<FONT color="green">610</FONT>    <a name="line.610"></a>
<FONT color="green">611</FONT>      { ER_FASTSTRINGBUFFER_CANNOT_BE_NULL,<a name="line.611"></a>
<FONT color="green">612</FONT>          "L'argument FastStringBuffer ne doit pas \u00eatre vide"},<a name="line.612"></a>
<FONT color="green">613</FONT>    <a name="line.613"></a>
<FONT color="green">614</FONT>      { ER_TWO_OR_THREE,<a name="line.614"></a>
<FONT color="green">615</FONT>           "2 ou 3"},<a name="line.615"></a>
<FONT color="green">616</FONT>    <a name="line.616"></a>
<FONT color="green">617</FONT>      { ER_VARIABLE_ACCESSED_BEFORE_BIND,<a name="line.617"></a>
<FONT color="green">618</FONT>           "L'acc\u00e8s \u00e0 la variable a pr\u00e9c\u00e9d\u00e9 la liaison de celle-ci !"},<a name="line.618"></a>
<FONT color="green">619</FONT>    <a name="line.619"></a>
<FONT color="green">620</FONT>      { ER_FSB_CANNOT_TAKE_STRING,<a name="line.620"></a>
<FONT color="green">621</FONT>           "XStringForFSB n'accepte pas de cha\u00eene comme argument !"},<a name="line.621"></a>
<FONT color="green">622</FONT>    <a name="line.622"></a>
<FONT color="green">623</FONT>      { ER_SETTING_WALKER_ROOT_TO_NULL,<a name="line.623"></a>
<FONT color="green">624</FONT>           "\n !!!! Erreur ! D\u00e9finition d'une valeur nulle pour la racine d'un \u00e9l\u00e9ment walker !!!"},<a name="line.624"></a>
<FONT color="green">625</FONT>    <a name="line.625"></a>
<FONT color="green">626</FONT>      { ER_NODESETDTM_CANNOT_ITERATE,<a name="line.626"></a>
<FONT color="green">627</FONT>           "Ce NodeSetDTM ne permet pas d'it\u00e9ration vers un noeud pr\u00e9c\u00e9dent !"},<a name="line.627"></a>
<FONT color="green">628</FONT>    <a name="line.628"></a>
<FONT color="green">629</FONT>      { ER_NODESET_CANNOT_ITERATE,<a name="line.629"></a>
<FONT color="green">630</FONT>           "Ce NodeSet ne permet pas d'it\u00e9ration vers un noeud pr\u00e9c\u00e9dent !"},<a name="line.630"></a>
<FONT color="green">631</FONT>    <a name="line.631"></a>
<FONT color="green">632</FONT>      { ER_NODESETDTM_CANNOT_INDEX,<a name="line.632"></a>
<FONT color="green">633</FONT>           "Ce NodeSetDTM ne peut pas effectuer de fonctions d'indexage ou de d\u00e9nombrement !"},<a name="line.633"></a>
<FONT color="green">634</FONT>    <a name="line.634"></a>
<FONT color="green">635</FONT>      { ER_NODESET_CANNOT_INDEX,<a name="line.635"></a>
<FONT color="green">636</FONT>           "Ce NodeSet ne peut pas effectuer de fonctions d'indexage ou de d\u00e9nombrement !"},<a name="line.636"></a>
<FONT color="green">637</FONT>    <a name="line.637"></a>
<FONT color="green">638</FONT>      { ER_CANNOT_CALL_SETSHOULDCACHENODE,<a name="line.638"></a>
<FONT color="green">639</FONT>           "Impossible d'appeler setShouldCacheNodes apr\u00e8s nextNode !"},<a name="line.639"></a>
<FONT color="green">640</FONT>    <a name="line.640"></a>
<FONT color="green">641</FONT>      { ER_ONLY_ALLOWS,<a name="line.641"></a>
<FONT color="green">642</FONT>           "{0} accepte uniquement {1} arguments"},<a name="line.642"></a>
<FONT color="green">643</FONT>    <a name="line.643"></a>
<FONT color="green">644</FONT>      { ER_UNKNOWN_STEP,<a name="line.644"></a>
<FONT color="green">645</FONT>           "Assertion du programmeur dans getNextStepPos : stepType inconnu : {0}"},<a name="line.645"></a>
<FONT color="green">646</FONT>    <a name="line.646"></a>
<FONT color="green">647</FONT>      //Note to translators:  A relative location path is a form of XPath expression.<a name="line.647"></a>
<FONT color="green">648</FONT>      // The message indicates that such an expression was expected following the<a name="line.648"></a>
<FONT color="green">649</FONT>      // characters '/' or '//', but was not found.<a name="line.649"></a>
<FONT color="green">650</FONT>      { ER_EXPECTED_REL_LOC_PATH,<a name="line.650"></a>
<FONT color="green">651</FONT>          "Un chemin d'emplacement relatif \u00e9tait attendu apr\u00e8s le jeton '/' ou '//'."},<a name="line.651"></a>
<FONT color="green">652</FONT>    <a name="line.652"></a>
<FONT color="green">653</FONT>      // Note to translators:  A location path is a form of XPath expression.<a name="line.653"></a>
<FONT color="green">654</FONT>      // The message indicates that syntactically such an expression was expected,but<a name="line.654"></a>
<FONT color="green">655</FONT>      // the characters specified by the substitution text were encountered instead.<a name="line.655"></a>
<FONT color="green">656</FONT>      { ER_EXPECTED_LOC_PATH,<a name="line.656"></a>
<FONT color="green">657</FONT>           "Un chemin d''emplacement \u00e9tait attendu, mais le jeton suivant a \u00e9t\u00e9 d\u00e9tect\u00e9 :  {0}"},<a name="line.657"></a>
<FONT color="green">658</FONT>    <a name="line.658"></a>
<FONT color="green">659</FONT>      // Note to translators:  A location path is a form of XPath expression.<a name="line.659"></a>
<FONT color="green">660</FONT>      // The message indicates that syntactically such a subexpression was expected,<a name="line.660"></a>
<FONT color="green">661</FONT>      // but no more characters were found in the expression.<a name="line.661"></a>
<FONT color="green">662</FONT>      { ER_EXPECTED_LOC_PATH_AT_END_EXPR,<a name="line.662"></a>
<FONT color="green">663</FONT>           "Un chemin d'emplacement \u00e9tait attendu mais la fin de l'expression XPath a \u00e9t\u00e9 d\u00e9tect\u00e9e."},<a name="line.663"></a>
<FONT color="green">664</FONT>    <a name="line.664"></a>
<FONT color="green">665</FONT>      // Note to translators:  A location step is part of an XPath expression.<a name="line.665"></a>
<FONT color="green">666</FONT>      // The message indicates that syntactically such an expression was expected<a name="line.666"></a>
<FONT color="green">667</FONT>      // following the specified characters.<a name="line.667"></a>
<FONT color="green">668</FONT>      { ER_EXPECTED_LOC_STEP,<a name="line.668"></a>
<FONT color="green">669</FONT>           "Une \u00e9tape d'emplacement \u00e9tait attendue apr\u00e8s le jeton '/' ou '//'."},<a name="line.669"></a>
<FONT color="green">670</FONT>    <a name="line.670"></a>
<FONT color="green">671</FONT>      // Note to translators:  A node test is part of an XPath expression that is<a name="line.671"></a>
<FONT color="green">672</FONT>      // used to test for particular kinds of nodes.  In this case, a node test that<a name="line.672"></a>
<FONT color="green">673</FONT>      // consists of an NCName followed by a colon and an asterisk or that consists<a name="line.673"></a>
<FONT color="green">674</FONT>      // of a QName was expected, but was not found.<a name="line.674"></a>
<FONT color="green">675</FONT>      { ER_EXPECTED_NODE_TEST,<a name="line.675"></a>
<FONT color="green">676</FONT>           "Un test de noeud correspondant \u00e0 NCName:* ou QName \u00e9tait attendu."},<a name="line.676"></a>
<FONT color="green">677</FONT>    <a name="line.677"></a>
<FONT color="green">678</FONT>      // Note to translators:  A step pattern is part of an XPath expression.<a name="line.678"></a>
<FONT color="green">679</FONT>      // The message indicates that syntactically such an expression was expected,<a name="line.679"></a>
<FONT color="green">680</FONT>      // but the specified character was found in the expression instead.<a name="line.680"></a>
<FONT color="green">681</FONT>      { ER_EXPECTED_STEP_PATTERN,<a name="line.681"></a>
<FONT color="green">682</FONT>           "Un mod\u00e8le d'\u00e9tape \u00e9tait attendu, mais '/' a \u00e9t\u00e9 d\u00e9tect\u00e9."},<a name="line.682"></a>
<FONT color="green">683</FONT>    <a name="line.683"></a>
<FONT color="green">684</FONT>      // Note to translators: A relative path pattern is part of an XPath expression.<a name="line.684"></a>
<FONT color="green">685</FONT>      // The message indicates that syntactically such an expression was expected,<a name="line.685"></a>
<FONT color="green">686</FONT>      // but was not found.<a name="line.686"></a>
<FONT color="green">687</FONT>      { ER_EXPECTED_REL_PATH_PATTERN,<a name="line.687"></a>
<FONT color="green">688</FONT>           "Un mod\u00e8le de chemin relatif \u00e9tait attendu."},<a name="line.688"></a>
<FONT color="green">689</FONT>    <a name="line.689"></a>
<FONT color="green">690</FONT>      // Note to translators:  The substitution text is the name of a data type.  The<a name="line.690"></a>
<FONT color="green">691</FONT>      // message indicates that a value of a particular type could not be converted<a name="line.691"></a>
<FONT color="green">692</FONT>      // to a value of type boolean.<a name="line.692"></a>
<FONT color="green">693</FONT>      { ER_CANT_CONVERT_TO_BOOLEAN,<a name="line.693"></a>
<FONT color="green">694</FONT>           "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en valeur bool\u00e9enne."},<a name="line.694"></a>
<FONT color="green">695</FONT>    <a name="line.695"></a>
<FONT color="green">696</FONT>      // Note to translators: Do not translate ANY_UNORDERED_NODE_TYPE and<a name="line.696"></a>
<FONT color="green">697</FONT>      // FIRST_ORDERED_NODE_TYPE.<a name="line.697"></a>
<FONT color="green">698</FONT>      { ER_CANT_CONVERT_TO_SINGLENODE,<a name="line.698"></a>
<FONT color="green">699</FONT>           "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en noeud unique. La m\u00e9thode getSingleNodeValue s''applique uniquement aux types ANY_UNORDERED_NODE_TYPE et FIRST_ORDERED_NODE_TYPE."},<a name="line.699"></a>
<FONT color="green">700</FONT>    <a name="line.700"></a>
<FONT color="green">701</FONT>      // Note to translators: Do not translate UNORDERED_NODE_SNAPSHOT_TYPE and<a name="line.701"></a>
<FONT color="green">702</FONT>      // ORDERED_NODE_SNAPSHOT_TYPE.<a name="line.702"></a>
<FONT color="green">703</FONT>      { ER_CANT_GET_SNAPSHOT_LENGTH,<a name="line.703"></a>
<FONT color="green">704</FONT>           "La m\u00e9thode getSnapshotLength ne peut pas \u00eatre appel\u00e9e sur le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' car son type XPathResultType est {1}. Cette m\u00e9thode s''applique uniquement aux types UNORDERED_NODE_SNAPSHOT_TYPE et ORDERED_NODE_SNAPSHOT_TYPE."},<a name="line.704"></a>
<FONT color="green">705</FONT>    <a name="line.705"></a>
<FONT color="green">706</FONT>      { ER_NON_ITERATOR_TYPE,<a name="line.706"></a>
<FONT color="green">707</FONT>           "La m\u00e9thode iterateNext ne peut pas \u00eatre appel\u00e9e sur le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' car son type XPathResultType est {1}. Cette m\u00e9thode s''applique uniquement aux types UNORDERED_NODE_ITERATOR_TYPE et ORDERED_NODE_ITERATOR_TYPE."},<a name="line.707"></a>
<FONT color="green">708</FONT>    <a name="line.708"></a>
<FONT color="green">709</FONT>      // Note to translators: This message indicates that the document being operated<a name="line.709"></a>
<FONT color="green">710</FONT>      // upon changed, so the iterator object that was being used to traverse the<a name="line.710"></a>
<FONT color="green">711</FONT>      // document has now become invalid.<a name="line.711"></a>
<FONT color="green">712</FONT>      { ER_DOC_MUTATED,<a name="line.712"></a>
<FONT color="green">713</FONT>           "Mutation du document depuis le renvoi du r\u00e9sultat. L'it\u00e9rateur est incorrect."},<a name="line.713"></a>
<FONT color="green">714</FONT>    <a name="line.714"></a>
<FONT color="green">715</FONT>      { ER_INVALID_XPATH_TYPE,<a name="line.715"></a>
<FONT color="green">716</FONT>           "Argument de type XPath incorrect : {0}"},<a name="line.716"></a>
<FONT color="green">717</FONT>    <a name="line.717"></a>
<FONT color="green">718</FONT>      { ER_EMPTY_XPATH_RESULT,<a name="line.718"></a>
<FONT color="green">719</FONT>           "Objet r\u00e9sultat XPath vide"},<a name="line.719"></a>
<FONT color="green">720</FONT>    <a name="line.720"></a>
<FONT color="green">721</FONT>      { ER_INCOMPATIBLE_TYPES,<a name="line.721"></a>
<FONT color="green">722</FONT>           "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre forc\u00e9 dans le type XPathResultType indiqu\u00e9 de {2}."},<a name="line.722"></a>
<FONT color="green">723</FONT>    <a name="line.723"></a>
<FONT color="green">724</FONT>      { ER_NULL_RESOLVER,<a name="line.724"></a>
<FONT color="green">725</FONT>           "Conversion impossible du pr\u00e9fixe avec un programme de r\u00e9solution de pr\u00e9fixe de valeur nulle."},<a name="line.725"></a>
<FONT color="green">726</FONT>    <a name="line.726"></a>
<FONT color="green">727</FONT>      // Note to translators:  The substitution text is the name of a data type.  The<a name="line.727"></a>
<FONT color="green">728</FONT>      // message indicates that a value of a particular type could not be converted<a name="line.728"></a>
<FONT color="green">729</FONT>      // to a value of type string.<a name="line.729"></a>
<FONT color="green">730</FONT>      { ER_CANT_CONVERT_TO_STRING,<a name="line.730"></a>
<FONT color="green">731</FONT>           "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en cha\u00eene."},<a name="line.731"></a>
<FONT color="green">732</FONT>    <a name="line.732"></a>
<FONT color="green">733</FONT>      // Note to translators: Do not translate snapshotItem,<a name="line.733"></a>
<FONT color="green">734</FONT>      // UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.<a name="line.734"></a>
<FONT color="green">735</FONT>      { ER_NON_SNAPSHOT_TYPE,<a name="line.735"></a>
<FONT color="green">736</FONT>           "La m\u00e9thode snapshotItem ne peut pas \u00eatre appel\u00e9e sur le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' car son type XPathResultType est {1}. Cette m\u00e9thode s''applique uniquement aux types UNORDERED_NODE_SNAPSHOT_TYPE et ORDERED_NODE_SNAPSHOT_TYPE."},<a name="line.736"></a>
<FONT color="green">737</FONT>    <a name="line.737"></a>
<FONT color="green">738</FONT>      // Note to translators:  XPathEvaluator is a Java interface name.  An<a name="line.738"></a>
<FONT color="green">739</FONT>      // XPathEvaluator is created with respect to a particular XML document, and in<a name="line.739"></a>
<FONT color="green">740</FONT>      // this case the expression represented by this object was being evaluated with<a name="line.740"></a>
<FONT color="green">741</FONT>      // respect to a context node from a different document.<a name="line.741"></a>
<FONT color="green">742</FONT>      { ER_WRONG_DOCUMENT,<a name="line.742"></a>
<FONT color="green">743</FONT>           "Le noeud de contexte n'appartient pas au document li\u00e9 \u00e0 ce XPathEvaluator."},<a name="line.743"></a>
<FONT color="green">744</FONT>    <a name="line.744"></a>
<FONT color="green">745</FONT>      // Note to translators:  The XPath expression cannot be evaluated with respect<a name="line.745"></a>
<FONT color="green">746</FONT>      // to this type of node.<a name="line.746"></a>
<FONT color="green">747</FONT>      { ER_WRONG_NODETYPE,<a name="line.747"></a>
<FONT color="green">748</FONT>           "Le type de noeud contextuel n'est pas pris en charge."},<a name="line.748"></a>
<FONT color="green">749</FONT>    <a name="line.749"></a>
<FONT color="green">750</FONT>      { ER_XPATH_ERROR,<a name="line.750"></a>
<FONT color="green">751</FONT>           "Erreur inconnue d\u00e9tect\u00e9e dans XPath."},<a name="line.751"></a>
<FONT color="green">752</FONT>    <a name="line.752"></a>
<FONT color="green">753</FONT>            { ER_CANT_CONVERT_XPATHRESULTTYPE_TO_NUMBER,<a name="line.753"></a>
<FONT color="green">754</FONT>                    "Le r\u00e9sultat XPathResult de l''expression XPath ''{0}'' a un type XPathResultType de {1} qui ne peut pas \u00eatre converti en un nombre."},<a name="line.754"></a>
<FONT color="green">755</FONT>    <a name="line.755"></a>
<FONT color="green">756</FONT>     //BEGIN:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation<a name="line.756"></a>
<FONT color="green">757</FONT>    <a name="line.757"></a>
<FONT color="green">758</FONT>      /** Field ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED                       */<a name="line.758"></a>
<FONT color="green">759</FONT>    <a name="line.759"></a>
<FONT color="green">760</FONT>      { ER_EXTENSION_FUNCTION_CANNOT_BE_INVOKED,<a name="line.760"></a>
<FONT color="green">761</FONT>           "La fonction d''extension : ''{0}'' ne peut pas \u00eatre appel\u00e9e lorsque la fonction XMLConstants.FEATURE_SECURE_PROCESSING a la valeur true."},<a name="line.761"></a>
<FONT color="green">762</FONT>    <a name="line.762"></a>
<FONT color="green">763</FONT>      /** Field ER_RESOLVE_VARIABLE_RETURNS_NULL                       */<a name="line.763"></a>
<FONT color="green">764</FONT>    <a name="line.764"></a>
<FONT color="green">765</FONT>      { ER_RESOLVE_VARIABLE_RETURNS_NULL,<a name="line.765"></a>
<FONT color="green">766</FONT>           "resolveVariable pour la variable {0} renvoyant la valeur null"},<a name="line.766"></a>
<FONT color="green">767</FONT>    <a name="line.767"></a>
<FONT color="green">768</FONT>      /** Field ER_UNSUPPORTED_RETURN_TYPE                       */<a name="line.768"></a>
<FONT color="green">769</FONT>    <a name="line.769"></a>
<FONT color="green">770</FONT>      { ER_UNSUPPORTED_RETURN_TYPE,<a name="line.770"></a>
<FONT color="green">771</FONT>           "Type de retour non pris en charge : {0}"},<a name="line.771"></a>
<FONT color="green">772</FONT>    <a name="line.772"></a>
<FONT color="green">773</FONT>      /** Field ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL                       */<a name="line.773"></a>
<FONT color="green">774</FONT>    <a name="line.774"></a>
<FONT color="green">775</FONT>      { ER_SOURCE_RETURN_TYPE_CANNOT_BE_NULL,<a name="line.775"></a>
<FONT color="green">776</FONT>           "Le type de retour et/ou source ne peut pas avoir une valeur null"},<a name="line.776"></a>
<FONT color="green">777</FONT>    <a name="line.777"></a>
<FONT color="green">778</FONT>      /** Field ER_ARG_CANNOT_BE_NULL                       */<a name="line.778"></a>
<FONT color="green">779</FONT>    <a name="line.779"></a>
<FONT color="green">780</FONT>      { ER_ARG_CANNOT_BE_NULL,<a name="line.780"></a>
<FONT color="green">781</FONT>           "L''argument {0} ne peut pas avoir une valeur null"},<a name="line.781"></a>
<FONT color="green">782</FONT>    <a name="line.782"></a>
<FONT color="green">783</FONT>      /** Field ER_OBJECT_MODEL_NULL                       */<a name="line.783"></a>
<FONT color="green">784</FONT>    <a name="line.784"></a>
<FONT color="green">785</FONT>      { ER_OBJECT_MODEL_NULL,<a name="line.785"></a>
<FONT color="green">786</FONT>           "{0}#isObjectModelSupported( Cha\u00eene objectModel ) ne peut pas \u00eatre appel\u00e9 avec objectModel == null"},<a name="line.786"></a>
<FONT color="green">787</FONT>    <a name="line.787"></a>
<FONT color="green">788</FONT>      /** Field ER_OBJECT_MODEL_EMPTY                       */<a name="line.788"></a>
<FONT color="green">789</FONT>    <a name="line.789"></a>
<FONT color="green">790</FONT>      { ER_OBJECT_MODEL_EMPTY,<a name="line.790"></a>
<FONT color="green">791</FONT>           "{0}#isObjectModelSupported( Cha\u00eene objectModel ) ne peut pas \u00eatre appel\u00e9 avec objectModel == \"\""},<a name="line.791"></a>
<FONT color="green">792</FONT>    <a name="line.792"></a>
<FONT color="green">793</FONT>      /** Field ER_OBJECT_MODEL_EMPTY                       */<a name="line.793"></a>
<FONT color="green">794</FONT>    <a name="line.794"></a>
<FONT color="green">795</FONT>      { ER_FEATURE_NAME_NULL,<a name="line.795"></a>
<FONT color="green">796</FONT>           "Tentative de d\u00e9finition d''une fonction ayant un nom null : {0}#setFeature( null, {1})"},<a name="line.796"></a>
<FONT color="green">797</FONT>    <a name="line.797"></a>
<FONT color="green">798</FONT>      /** Field ER_FEATURE_UNKNOWN                       */<a name="line.798"></a>
<FONT color="green">799</FONT>    <a name="line.799"></a>
<FONT color="green">800</FONT>      { ER_FEATURE_UNKNOWN,<a name="line.800"></a>
<FONT color="green">801</FONT>           "Tentative de d\u00e9finition d''une fonction inconnue \"{0}\":{1}#setFeature({0},{2})"},<a name="line.801"></a>
<FONT color="green">802</FONT>    <a name="line.802"></a>
<FONT color="green">803</FONT>      /** Field ER_GETTING_NULL_FEATURE                       */<a name="line.803"></a>
<FONT color="green">804</FONT>    <a name="line.804"></a>
<FONT color="green">805</FONT>      { ER_GETTING_NULL_FEATURE,<a name="line.805"></a>
<FONT color="green">806</FONT>           "Tentative de d\u00e9finition d''une fonction ayant un nom null : {0}#getFeature(null)"},<a name="line.806"></a>
<FONT color="green">807</FONT>    <a name="line.807"></a>
<FONT color="green">808</FONT>      /** Field ER_GETTING_NULL_FEATURE                       */<a name="line.808"></a>
<FONT color="green">809</FONT>    <a name="line.809"></a>
<FONT color="green">810</FONT>      { ER_GETTING_UNKNOWN_FEATURE,<a name="line.810"></a>
<FONT color="green">811</FONT>           "Tentative d''extraction d''une fonction inconnue \"{0}\":{1}#getFeature({0})"},<a name="line.811"></a>
<FONT color="green">812</FONT>    <a name="line.812"></a>
<FONT color="green">813</FONT>      /** Field ER_NULL_XPATH_FUNCTION_RESOLVER                       */<a name="line.813"></a>
<FONT color="green">814</FONT>    <a name="line.814"></a>
<FONT color="green">815</FONT>      { ER_NULL_XPATH_FUNCTION_RESOLVER,<a name="line.815"></a>
<FONT color="green">816</FONT>           "Tentative de d\u00e9finition d''un \u00e9l\u00e9ment XPathFunctionResolver null : {0}#setXPathFunctionResolver(null)"},<a name="line.816"></a>
<FONT color="green">817</FONT>    <a name="line.817"></a>
<FONT color="green">818</FONT>      /** Field ER_NULL_XPATH_VARIABLE_RESOLVER                       */<a name="line.818"></a>
<FONT color="green">819</FONT>    <a name="line.819"></a>
<FONT color="green">820</FONT>      { ER_NULL_XPATH_VARIABLE_RESOLVER,<a name="line.820"></a>
<FONT color="green">821</FONT>           "Tentative de d\u00e9finition d''un \u00e9l\u00e9ment XPathVariableResolver null : {0}#setXPathVariableResolver(null)"},<a name="line.821"></a>
<FONT color="green">822</FONT>    <a name="line.822"></a>
<FONT color="green">823</FONT>      //END:  Definitions of error keys used  in exception messages of  JAXP 1.3 XPath API implementation<a name="line.823"></a>
<FONT color="green">824</FONT>    <a name="line.824"></a>
<FONT color="green">825</FONT>      // Warnings...<a name="line.825"></a>
<FONT color="green">826</FONT>    <a name="line.826"></a>
<FONT color="green">827</FONT>      { WG_LOCALE_NAME_NOT_HANDLED,<a name="line.827"></a>
<FONT color="green">828</FONT>          "Le nom d'environnement local de la fonction format-number n'est pas encore pris en charge."},<a name="line.828"></a>
<FONT color="green">829</FONT>    <a name="line.829"></a>
<FONT color="green">830</FONT>      { WG_PROPERTY_NOT_SUPPORTED,<a name="line.830"></a>
<FONT color="green">831</FONT>          "Propri\u00e9t\u00e9 XSL non prise en charge : {0}"},<a name="line.831"></a>
<FONT color="green">832</FONT>    <a name="line.832"></a>
<FONT color="green">833</FONT>      { WG_DONT_DO_ANYTHING_WITH_NS,<a name="line.833"></a>
<FONT color="green">834</FONT>          "Espace de noms {0} inexploitable dans la propri\u00e9t\u00e9 : {1}"},<a name="line.834"></a>
<FONT color="green">835</FONT>    <a name="line.835"></a>
<FONT color="green">836</FONT>      { WG_SECURITY_EXCEPTION,<a name="line.836"></a>
<FONT color="green">837</FONT>          "Une exception de s\u00e9curit\u00e9 s''est produite lors de l''acc\u00e8s \u00e0 la propri\u00e9t\u00e9 : {0}"},<a name="line.837"></a>
<FONT color="green">838</FONT>    <a name="line.838"></a>
<FONT color="green">839</FONT>      { WG_QUO_NO_LONGER_DEFINED,<a name="line.839"></a>
<FONT color="green">840</FONT>          "L'ancienne syntaxe : quo(...) n'est plus d\u00e9finie dans XPath."},<a name="line.840"></a>
<FONT color="green">841</FONT>    <a name="line.841"></a>
<FONT color="green">842</FONT>      { WG_NEED_DERIVED_OBJECT_TO_IMPLEMENT_NODETEST,<a name="line.842"></a>
<FONT color="green">843</FONT>          "XPath requiert un objet d\u00e9riv\u00e9 pour impl\u00e9menter nodeTest !"},<a name="line.843"></a>
<FONT color="green">844</FONT>    <a name="line.844"></a>
<FONT color="green">845</FONT>      { WG_FUNCTION_TOKEN_NOT_FOUND,<a name="line.845"></a>
<FONT color="green">846</FONT>          "jeton de fonction introuvable."},<a name="line.846"></a>
<FONT color="green">847</FONT>    <a name="line.847"></a>
<FONT color="green">848</FONT>      { WG_COULDNOT_FIND_FUNCTION,<a name="line.848"></a>
<FONT color="green">849</FONT>          "Impossible de trouver la fonction : {0}"},<a name="line.849"></a>
<FONT color="green">850</FONT>    <a name="line.850"></a>
<FONT color="green">851</FONT>      { WG_CANNOT_MAKE_URL_FROM,<a name="line.851"></a>
<FONT color="green">852</FONT>          "Impossible de cr\u00e9er l''URL \u00e0 partir de : {0}"},<a name="line.852"></a>
<FONT color="green">853</FONT>    <a name="line.853"></a>
<FONT color="green">854</FONT>      { WG_EXPAND_ENTITIES_NOT_SUPPORTED,<a name="line.854"></a>
<FONT color="green">855</FONT>          "L'option -E n'est pas prise en charge pour l'analyseur DTM"},<a name="line.855"></a>
<FONT color="green">856</FONT>    <a name="line.856"></a>
<FONT color="green">857</FONT>      { WG_ILLEGAL_VARIABLE_REFERENCE,<a name="line.857"></a>
<FONT color="green">858</FONT>          "R\u00e9f\u00e9rence de la variable hors contexte ou sans d\u00e9finition !  Nom = {0}"},<a name="line.858"></a>
<FONT color="green">859</FONT>    <a name="line.859"></a>
<FONT color="green">860</FONT>      { WG_UNSUPPORTED_ENCODING,<a name="line.860"></a>
<FONT color="green">861</FONT>         "Codage non pris en charge : {0}"},<a name="line.861"></a>
<FONT color="green">862</FONT>    <a name="line.862"></a>
<FONT color="green">863</FONT>    <a name="line.863"></a>
<FONT color="green">864</FONT>    <a name="line.864"></a>
<FONT color="green">865</FONT>      // Other miscellaneous text used inside the code...<a name="line.865"></a>
<FONT color="green">866</FONT>      { "ui_language", "en"},<a name="line.866"></a>
<FONT color="green">867</FONT>      { "help_language", "en"},<a name="line.867"></a>
<FONT color="green">868</FONT>      { "language", "en"},<a name="line.868"></a>
<FONT color="green">869</FONT>      { "BAD_CODE", "Le param\u00e8tre de createMessage se trouve hors limites"},<a name="line.869"></a>
<FONT color="green">870</FONT>      { "FORMAT_FAILED", "Exception soulev\u00e9e lors de l'appel de messageFormat"},<a name="line.870"></a>
<FONT color="green">871</FONT>      { "version", "&gt;&gt;&gt;&gt;&gt;&gt;&gt; Version de Xalan "},<a name="line.871"></a>
<FONT color="green">872</FONT>      { "version2", "&lt;&lt;&lt;&lt;&lt;&lt;&lt;"},<a name="line.872"></a>
<FONT color="green">873</FONT>      { "yes", "oui"},<a name="line.873"></a>
<FONT color="green">874</FONT>      { "line", "Ligne #"},<a name="line.874"></a>
<FONT color="green">875</FONT>      { "column", "Colonne #"},<a name="line.875"></a>
<FONT color="green">876</FONT>      { "xsldone", "XSLProcessor : termin\u00e9"},<a name="line.876"></a>
<FONT color="green">877</FONT>      { "xpath_option", "options xpath : "},<a name="line.877"></a>
<FONT color="green">878</FONT>      { "optionIN", "   [-in URLXMLentr\u00e9e]"},<a name="line.878"></a>
<FONT color="green">879</FONT>      { "optionSelect", "   [-select expression xpath]"},<a name="line.879"></a>
<FONT color="green">880</FONT>      { "optionMatch", "   [-match motif de correspondance (diagnostics)]"},<a name="line.880"></a>
<FONT color="green">881</FONT>      { "optionAnyExpr", "Une expression xpath effectuera un vidage de diagnostics"},<a name="line.881"></a>
<FONT color="green">882</FONT>      { "noParsermsg1", "Echec du processus XSL."},<a name="line.882"></a>
<FONT color="green">883</FONT>      { "noParsermsg2", "** Analyseur introuvable **"},<a name="line.883"></a>
<FONT color="green">884</FONT>      { "noParsermsg3", "V\u00e9rifiez le chemin d'acc\u00e8s des classes."},<a name="line.884"></a>
<FONT color="green">885</FONT>      { "noParsermsg4", "XML Parser for Java disponible en t\u00e9l\u00e9chargement sur le site"},<a name="line.885"></a>
<FONT color="green">886</FONT>      { "noParsermsg5", "AlphaWorks de IBM : http://www.alphaworks.ibm.com/formula/xml"},<a name="line.886"></a>
<FONT color="green">887</FONT>      { "gtone", "&gt;1" },<a name="line.887"></a>
<FONT color="green">888</FONT>      { "zero", "0" },<a name="line.888"></a>
<FONT color="green">889</FONT>      { "one", "1" },<a name="line.889"></a>
<FONT color="green">890</FONT>      { "two" , "2" },<a name="line.890"></a>
<FONT color="green">891</FONT>      { "three", "3" }<a name="line.891"></a>
<FONT color="green">892</FONT>    <a name="line.892"></a>
<FONT color="green">893</FONT>      };<a name="line.893"></a>
<FONT color="green">894</FONT>      }<a name="line.894"></a>
<FONT color="green">895</FONT>    <a name="line.895"></a>
<FONT color="green">896</FONT>    <a name="line.896"></a>
<FONT color="green">897</FONT>      // ================= INFRASTRUCTURE ======================<a name="line.897"></a>
<FONT color="green">898</FONT>    <a name="line.898"></a>
<FONT color="green">899</FONT>      /** Field BAD_CODE          */<a name="line.899"></a>
<FONT color="green">900</FONT>      public static final String BAD_CODE = "BAD_CODE";<a name="line.900"></a>
<FONT color="green">901</FONT>    <a name="line.901"></a>
<FONT color="green">902</FONT>      /** Field FORMAT_FAILED          */<a name="line.902"></a>
<FONT color="green">903</FONT>      public static final String FORMAT_FAILED = "FORMAT_FAILED";<a name="line.903"></a>
<FONT color="green">904</FONT>    <a name="line.904"></a>
<FONT color="green">905</FONT>      /** Field ERROR_RESOURCES          */<a name="line.905"></a>
<FONT color="green">906</FONT>      public static final String ERROR_RESOURCES =<a name="line.906"></a>
<FONT color="green">907</FONT>        "org.apache.xpath.res.XPATHErrorResources";<a name="line.907"></a>
<FONT color="green">908</FONT>    <a name="line.908"></a>
<FONT color="green">909</FONT>      /** Field ERROR_STRING          */<a name="line.909"></a>
<FONT color="green">910</FONT>      public static final String ERROR_STRING = "#error";<a name="line.910"></a>
<FONT color="green">911</FONT>    <a name="line.911"></a>
<FONT color="green">912</FONT>      /** Field ERROR_HEADER          */<a name="line.912"></a>
<FONT color="green">913</FONT>      public static final String ERROR_HEADER = "Erreur : ";<a name="line.913"></a>
<FONT color="green">914</FONT>    <a name="line.914"></a>
<FONT color="green">915</FONT>      /** Field WARNING_HEADER          */<a name="line.915"></a>
<FONT color="green">916</FONT>      public static final String WARNING_HEADER = "Avertissement : ";<a name="line.916"></a>
<FONT color="green">917</FONT>    <a name="line.917"></a>
<FONT color="green">918</FONT>      /** Field XSL_HEADER          */<a name="line.918"></a>
<FONT color="green">919</FONT>      public static final String XSL_HEADER = "XSL ";<a name="line.919"></a>
<FONT color="green">920</FONT>    <a name="line.920"></a>
<FONT color="green">921</FONT>      /** Field XML_HEADER          */<a name="line.921"></a>
<FONT color="green">922</FONT>      public static final String XML_HEADER = "XML ";<a name="line.922"></a>
<FONT color="green">923</FONT>    <a name="line.923"></a>
<FONT color="green">924</FONT>      /** Field QUERY_HEADER          */<a name="line.924"></a>
<FONT color="green">925</FONT>      public static final String QUERY_HEADER = "PATTERN ";<a name="line.925"></a>
<FONT color="green">926</FONT>    <a name="line.926"></a>
<FONT color="green">927</FONT>    <a name="line.927"></a>
<FONT color="green">928</FONT>      /**<a name="line.928"></a>
<FONT color="green">929</FONT>       * Return a named ResourceBundle for a particular locale.  This method mimics the behavior<a name="line.929"></a>
<FONT color="green">930</FONT>       * of ResourceBundle.getBundle().<a name="line.930"></a>
<FONT color="green">931</FONT>       *<a name="line.931"></a>
<FONT color="green">932</FONT>       * @param className Name of local-specific subclass.<a name="line.932"></a>
<FONT color="green">933</FONT>       * @return the ResourceBundle<a name="line.933"></a>
<FONT color="green">934</FONT>       * @throws MissingResourceException<a name="line.934"></a>
<FONT color="green">935</FONT>       */<a name="line.935"></a>
<FONT color="green">936</FONT>      public static final XPATHErrorResources loadResourceBundle(String className)<a name="line.936"></a>
<FONT color="green">937</FONT>              throws MissingResourceException<a name="line.937"></a>
<FONT color="green">938</FONT>      {<a name="line.938"></a>
<FONT color="green">939</FONT>    <a name="line.939"></a>
<FONT color="green">940</FONT>        Locale locale = Locale.getDefault();<a name="line.940"></a>
<FONT color="green">941</FONT>        String suffix = getResourceSuffix(locale);<a name="line.941"></a>
<FONT color="green">942</FONT>    <a name="line.942"></a>
<FONT color="green">943</FONT>        try<a name="line.943"></a>
<FONT color="green">944</FONT>        {<a name="line.944"></a>
<FONT color="green">945</FONT>    <a name="line.945"></a>
<FONT color="green">946</FONT>          // first try with the given locale<a name="line.946"></a>
<FONT color="green">947</FONT>          return (XPATHErrorResources) ResourceBundle.getBundle(className<a name="line.947"></a>
<FONT color="green">948</FONT>                  + suffix, locale);<a name="line.948"></a>
<FONT color="green">949</FONT>        }<a name="line.949"></a>
<FONT color="green">950</FONT>        catch (MissingResourceException e)<a name="line.950"></a>
<FONT color="green">951</FONT>        {<a name="line.951"></a>
<FONT color="green">952</FONT>          try  // try to fall back to en_US if we can't load<a name="line.952"></a>
<FONT color="green">953</FONT>          {<a name="line.953"></a>
<FONT color="green">954</FONT>    <a name="line.954"></a>
<FONT color="green">955</FONT>            // Since we can't find the localized property file,<a name="line.955"></a>
<FONT color="green">956</FONT>            // fall back to en_US.<a name="line.956"></a>
<FONT color="green">957</FONT>            return (XPATHErrorResources) ResourceBundle.getBundle(className,<a name="line.957"></a>
<FONT color="green">958</FONT>                    new Locale("en", "US"));<a name="line.958"></a>
<FONT color="green">959</FONT>          }<a name="line.959"></a>
<FONT color="green">960</FONT>          catch (MissingResourceException e2)<a name="line.960"></a>
<FONT color="green">961</FONT>          {<a name="line.961"></a>
<FONT color="green">962</FONT>    <a name="line.962"></a>
<FONT color="green">963</FONT>            // Now we are really in trouble.<a name="line.963"></a>
<FONT color="green">964</FONT>            // very bad, definitely very bad...not going to get very far<a name="line.964"></a>
<FONT color="green">965</FONT>            throw new MissingResourceException(<a name="line.965"></a>
<FONT color="green">966</FONT>              "Could not load any resource bundles.", className, "");<a name="line.966"></a>
<FONT color="green">967</FONT>          }<a name="line.967"></a>
<FONT color="green">968</FONT>        }<a name="line.968"></a>
<FONT color="green">969</FONT>      }<a name="line.969"></a>
<FONT color="green">970</FONT>    <a name="line.970"></a>
<FONT color="green">971</FONT>      /**<a name="line.971"></a>
<FONT color="green">972</FONT>       * Return the resource file suffic for the indicated locale<a name="line.972"></a>
<FONT color="green">973</FONT>       * For most locales, this will be based the language code.  However<a name="line.973"></a>
<FONT color="green">974</FONT>       * for Chinese, we do distinguish between Taiwan and PRC<a name="line.974"></a>
<FONT color="green">975</FONT>       *<a name="line.975"></a>
<FONT color="green">976</FONT>       * @param locale the locale<a name="line.976"></a>
<FONT color="green">977</FONT>       * @return an String suffix which canbe appended to a resource name<a name="line.977"></a>
<FONT color="green">978</FONT>       */<a name="line.978"></a>
<FONT color="green">979</FONT>      private static final String getResourceSuffix(Locale locale)<a name="line.979"></a>
<FONT color="green">980</FONT>      {<a name="line.980"></a>
<FONT color="green">981</FONT>    <a name="line.981"></a>
<FONT color="green">982</FONT>        String suffix = "_" + locale.getLanguage();<a name="line.982"></a>
<FONT color="green">983</FONT>        String country = locale.getCountry();<a name="line.983"></a>
<FONT color="green">984</FONT>    <a name="line.984"></a>
<FONT color="green">985</FONT>        if (country.equals("TW"))<a name="line.985"></a>
<FONT color="green">986</FONT>          suffix += "_" + country;<a name="line.986"></a>
<FONT color="green">987</FONT>    <a name="line.987"></a>
<FONT color="green">988</FONT>        return suffix;<a name="line.988"></a>
<FONT color="green">989</FONT>      }<a name="line.989"></a>
<FONT color="green">990</FONT>    <a name="line.990"></a>
<FONT color="green">991</FONT>    }<a name="line.991"></a>




























































</PRE>
</BODY>
</HTML>
