<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_ca.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_ca 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 funci\u00f3 current() no \u00e9s permesa en un patr\u00f3 de coincid\u00e8ncia." },<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 funci\u00f3 current() no accepta 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>          "La implementaci\u00f3 de la funci\u00f3 document() s'ha substitu\u00eft per 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>          "El context no t\u00e9 un document de propietari."},<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() t\u00e9 massa 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() t\u00e9 massa 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() t\u00e9 massa 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() t\u00e9 massa 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() t\u00e9 massa 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() t\u00e9 massa 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() t\u00e9 massa 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 funci\u00f3 translate() t\u00e9 tres 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>          "La funci\u00f3 unparsed-entity-uri ha de tenir un argument."},<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'eix de l'espai de noms encara no s'ha implementat."},<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>         "Eix desconegut: {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>         "Operaci\u00f3 de coincid\u00e8ncia desconeguda."},<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 longitud de l'argument de la prova de node processing-instruction() no \u00e9s correcta."},<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>          "No es pot convertir {0} en un n\u00famero."},<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>          "No es pot convertir {0} en una 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>          "No es pot 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>          "No es pot convertir {0} en un tipus #{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>          "El patr\u00f3 de coincid\u00e8ncia de getMatchScore \u00e9s l'esperat."},<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>          "No s''ha pogut obtenir 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>         "ERROR. Codi op desconegut: {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>         "Senyals addicionals no permesos: {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>          "Les cometes del literal s\u00f3n incorrectes. Hi ha d'haver cometes dobles."},<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>          "Les cometes del literal s\u00f3n incorrectes. Hi ha d'haver una cometa simple."},<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>         "Expressi\u00f3 buida."},<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>         "S''esperava {0}, per\u00f2 s''ha detectat {1}"},<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>          "L''afirmaci\u00f3 del programador \u00e9s incorrecta. - {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 boolean(...) ja no \u00e9s opcional amb l'esborrany d'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>          "S'ha trobat ',' per\u00f2 al davant no hi havia cap argument."},<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>          "S'ha trobat ',' per\u00f2 al darrere no hi havia cap argument."},<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>          "'..[predicate]' o '.[predicate]' no \u00e9s una sintaxi permesa. En comptes d'aix\u00f2, utilitzeu 'self::node()[predicate]'."},<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''eix no perm\u00e8s: {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>         "Tipus de node desconegut: {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>          "El literal de patr\u00f3 ({0}) ha d''anar entre cometes."},<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} no s''ha pogut formatar com a n\u00famero."},<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>          "No s''ha pogut crear la relaci\u00f3 XML TransformerFactory: {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>          "Error. No s'ha trobat l'expressi\u00f3 select d'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>          "ERROR. No s'ha trobat ENDOP despr\u00e9s d'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>         "S'ha produ\u00eft un error."},<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>          "S''ha donat VariableReference per a una variable fora de context o sense definici\u00f3. 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>          "Nom\u00e9s es permeten els eixos subordinat:: i atribut:: en els patrons de coincid\u00e8ncia. Eixos incorrectes = {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() t\u00e9 un nombre incorrecte 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>          "La funci\u00f3 count ha de tenir un argument."},<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>         "No s''ha pogut trobar la funci\u00f3: {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>         "Codificaci\u00f3 sense suport: {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>          "S'ha produ\u00eft un error en el DTM de getNextSibling. S'intentar\u00e0 solucionar."},<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>          "Error del programador: no es pot escriure a 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>          "XPathContext no d\u00f3na suport a setDOMFactory."},<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>          "El prefix s''ha de resoldre en un espai 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>          "L''an\u00e0lisi (origen InputSource) no t\u00e9 suport a XPathContext. No es pot obrir {0}."},<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>          "Els car\u00e0cters de l'API SAX (char ch[]... no es poden gestionar pel 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[]... no es poden gestionar pel 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 no pot gestionar nodes del tipus {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 no pot gestionar nodes del tipus {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>          "Error de DOM2Helper.parse: ID del sistema - {0} l\u00ednia - {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>         "Error 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>          "S''ha detectat un suplent UTF-16 no v\u00e0lid: {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>         "Error 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>         "No es pot crear la URL de: {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>         "En 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>          "No s'ha trobat el senyal de funci\u00f3."},<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>           "No s''ha pogut tractar amb el tipus d''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>           "Aquest NodeSet no \u00e9s mutable."},<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>           "Aquest NodeSetDTM no \u00e9s mutable."},<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>            "No es pot resoldre 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>            "Manejador d'error nul"},<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>           "Afirmaci\u00f3 del programador: opcode desconegut: {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 o 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() no t\u00e9 suport d'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() no t\u00e9 suport d'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() no t\u00e9 suport d'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() no t\u00e9 suport d'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() no t\u00e9 suport d'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() no t\u00e9 suport d'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() no t\u00e9 suport d'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>          "No s''ha trobat la variable amb el nom de {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 no pot agafar una cadena com a 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 no pot ser nul."},<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 o 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>           "S'ha accedit a la variable abans que estigu\u00e9s vinculada."},<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 no pot agafar una cadena com a 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 Error. S'est\u00e0 establint l'arrel d'un itinerant en nul."},<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>           "Aquest NodeSetDTM no es pot iterar en un node previ"},<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>           "Aquest NodeSet no es pot iterar en un node previ"},<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>           "Aquest NodeSetDTM no pot indexar ni efectuar funcions de recompte"},<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>           "Aquest NodeSet no pot indexar ni efectuar funcions de recompte"},<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>           "No es pot cridar setShouldCacheNodes despr\u00e9s que s'hagi cridat 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} nom\u00e9s permet {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>           "Afirmaci\u00f3 del programador a getNextStepPos: stepType desconegut: {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>          "S'esperava una via d'acc\u00e9s relativa darrere del senyal '/' o '//'."},<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>           "S''esperava una via d''acc\u00e9s d''ubicaci\u00f3, per\u00f2 s''ha trobat el senyal seg\u00fcent\u003a {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>           "S'esperava una via d'acc\u00e9s, per\u00f2 enlloc d'aix\u00f2 s'ha trobat el final de l'expressi\u00f3 XPath. "},<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>           "S'esperava un pas d'ubicaci\u00f3 despr\u00e9s del senyal '/' o '//'."},<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>           "S'esperava una prova de node que coincid\u00eds amb NCName:* o QName."},<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>           "S'esperava un patr\u00f3 de pas per\u00f2 s'ha trobat '/'."},<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>           "S'esperava un patr\u00f3 de via d'acc\u00e9s relativa."},<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>           "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a un cap valor boole\u00e0. "},<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>           "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a un node \u00fanic. El m\u00e8tode getSingleNodeValue s''aplica nom\u00e9s al tipus ANY_UNORDERED_NODE_TYPE i 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>           "El m\u00e8tode getSnapshotLength no es pot cridar a l''expressi\u00f3 XPathResult d''XPath ''{0}'' perqu\u00e8 el seu XPathResultType \u00e9s {1}. Aquest m\u00e8tode nom\u00e9s s''aplica als tipus UNORDERED_NODE_SNAPSHOT_TYPE i 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>           "El m\u00e8tode iterateNext no es pot cridar a l''expressi\u00f3 XPathResult d''XPath ''{0}'' perqu\u00e8 el seu XPathResultType \u00e9s {1}. Aquest m\u00e8tode nom\u00e9s s''aplica als tipus UNORDERED_NODE_ITERATOR_TYPE i 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>           "El document s'ha modificat des que es van produir els resultats. L'iterador no \u00e9s v\u00e0lid."},<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>           "L''argument de tipus XPath no \u00e9s v\u00e0lid: {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>           "L'objecte de resultats XPath est\u00e0 buit."},<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>           "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot encaixar al XPathResultType especificat 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>           "No es pot resoldre el prefix amb un solucionador de prefix nul."},<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>           "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a cap cadena. "},<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>           "El m\u00e8tode snapshotItem no es pot cridar a l''expressi\u00f3 XPathResult d''XPath ''{0}'' perqu\u00e8 el seu XPathResultType \u00e9s {1}. Aquest m\u00e8tode nom\u00e9s s''aplica als tipus UNORDERED_NODE_SNAPSHOT_TYPE i 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>           "El node de context no pertany al document vinculat a aquest 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>           "El tipus de node de context no t\u00e9 suport."},<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>           "S'ha produ\u00eft un error desconegut a 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>                    "L''expressi\u00f3 XPathResult d''XPath ''{0}'' t\u00e9 un XPathResultType de {1} que no es pot convertir a cap n\u00famero "},<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>           "Funci\u00f3 d''extensi\u00f3: no es pot invocar ''{0}'' si la caracter\u00edstica XMLConstants.FEATURE_SECURE_PROCESSING s''ha establert en 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 de la variable {0} torna el valor nul"},<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>           "Tipus de retorn no suportat: {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>           "El tipus de retorn o d'origen no pot ser nul"},<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} no pot ser nul "},<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( String objectModel) no es pot cridar amb 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( String objectModel ) no es pot cridar amb 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>           "Intent d''establir una caracter\u00edstica amb un nom nul: {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>           "Intent d''establir una caracter\u00edstica desconeguda \"{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>           "Intent d''obtenir una caracter\u00edstica amb un nom nul: {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>           "Intent d''obtenir la caracter\u00edstica desconeguda \"{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>           "S''ha intentat establir un XPathFunctionResolver nul:{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>           "S''ha intentat establir un 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>          "No s'ha gestionat encara el nom d'entorn nacional en la funci\u00f3 format-number."},<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>          "La propietat XSL no t\u00e9 suport: {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>          "No feu res ara mateix amb l''espai de noms {0} de la propietat: {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>          "S''ha produ\u00eft SecurityException en intentar accedir a la propietat de sistema XSL: {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>          "Sintaxi antiga: quo(...) ja no est\u00e0 definit a 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 necessita un objecte dedu\u00eft per implementar 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>          "No s'ha trobat el senyal de funci\u00f3."},<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>          "No s''ha pogut trobar la funci\u00f3: {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>          "No es pot crear la URL 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'opci\u00f3 -E no t\u00e9 suport a l'analitzador de 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>          "S''ha donat VariableReference per a una variable fora de context o sense definici\u00f3. 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>         "Codificaci\u00f3 sense suport: {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", "ca"},<a name="line.866"></a>
<FONT color="green">867</FONT>      { "help_language", "ca"},<a name="line.867"></a>
<FONT color="green">868</FONT>      { "language", "ca"},<a name="line.868"></a>
<FONT color="green">869</FONT>      { "BAD_CODE", "El par\u00e0metre de createMessage estava fora dels l\u00edmits."},<a name="line.869"></a>
<FONT color="green">870</FONT>      { "FORMAT_FAILED", "S'ha generat una excepci\u00f3 durant la crida messageFormat."},<a name="line.870"></a>
<FONT color="green">871</FONT>      { "version", "&gt;&gt;&gt;&gt;&gt;&gt;&gt; Versi\u00f3 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", "s\u00ed"},<a name="line.873"></a>
<FONT color="green">874</FONT>      { "line", "L\u00ednia n\u00fam."},<a name="line.874"></a>
<FONT color="green">875</FONT>      { "column", "Columna n\u00fam."},<a name="line.875"></a>
<FONT color="green">876</FONT>      { "xsldone", "XSLProcessor: fet"},<a name="line.876"></a>
<FONT color="green">877</FONT>      { "xpath_option", "Opcions d'xpath: "},<a name="line.877"></a>
<FONT color="green">878</FONT>      { "optionIN", "   [-in inputXMLURL]"},<a name="line.878"></a>
<FONT color="green">879</FONT>      { "optionSelect", "   [-select expressi\u00f3 xpath]"},<a name="line.879"></a>
<FONT color="green">880</FONT>      { "optionMatch", "   [-match patr\u00f3 coincid\u00e8ncia (per a diagn\u00f2stics de coincid\u00e8ncia)]"},<a name="line.880"></a>
<FONT color="green">881</FONT>      { "optionAnyExpr", "O nom\u00e9s una expressi\u00f3 xpath far\u00e0 un buidatge de diagn\u00f2stic."},<a name="line.881"></a>
<FONT color="green">882</FONT>      { "noParsermsg1", "El proc\u00e9s XSL no ha estat correcte."},<a name="line.882"></a>
<FONT color="green">883</FONT>      { "noParsermsg2", "** No s'ha trobat l'analitzador **"},<a name="line.883"></a>
<FONT color="green">884</FONT>      { "noParsermsg3", "Comproveu la vostra classpath."},<a name="line.884"></a>
<FONT color="green">885</FONT>      { "noParsermsg4", "Si no teniu XML Parser for Java d'IBM, el podeu baixar de l'indret web"},<a name="line.885"></a>
<FONT color="green">886</FONT>      { "noParsermsg5", "AlphaWorks d'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 = "Error: ";<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 = "Av\u00eds: ";<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("ca", "ES"));<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>
