diff --git a/content/xslt/src/base/txError.h b/content/xslt/src/base/txError.h index 94933bd550bc..fa33d21d3f20 100644 --- a/content/xslt/src/base/txError.h +++ b/content/xslt/src/base/txError.h @@ -141,4 +141,7 @@ #define NS_ERROR_XSLT_BAD_NODE_NAME \ NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_XSLT, 30) +#define NS_ERROR_XSLT_VAR_ALREADY_SET \ + NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_XSLT, 31) + #endif // __TX_ERROR diff --git a/content/xslt/src/xslt/txVariableMap.h b/content/xslt/src/xslt/txVariableMap.h index 03aae275f5a7..e99d7646b2bd 100644 --- a/content/xslt/src/xslt/txVariableMap.h +++ b/content/xslt/src/xslt/txVariableMap.h @@ -77,6 +77,9 @@ txVariableMap::bindVariable(const txExpandedName& aName, txAExprResult* aValue) if (NS_SUCCEEDED(rv)) { NS_ADDREF(aValue); } + else if (rv == NS_ERROR_XSLT_ALREADY_SET) { + rv = NS_ERROR_XSLT_VAR_ALREADY_SET; + } return rv; } diff --git a/dom/locales/en-US/chrome/xslt/xslt.properties b/dom/locales/en-US/chrome/xslt/xslt.properties index 45fe06a25ebf..e40899ca1419 100644 --- a/dom/locales/en-US/chrome/xslt/xslt.properties +++ b/dom/locales/en-US/chrome/xslt/xslt.properties @@ -37,6 +37,7 @@ 1 = Parsing an XSLT stylesheet failed. 2 = Parsing an XPath expression failed. +3 = 4 = XSLT transformation failed. 5 = Invalid XSLT/XPath function. 6 = XSLT Stylesheet (possibly) contains a recursion. @@ -61,6 +62,10 @@ 25 = XPath parse failure: illegal character found: 26 = XPath parse failure: binary operator expected: 27 = An XSLT stylesheet load was blocked for security reasons. +28 = Evaluating an invalid expression. +29 = Unbalanced curly brace. +30 = Creating an element with an invalid QName. +31 = Variable binding shadows variable binding within the same template. LoadingError = Error loading stylesheet: %S TransformError = Error during XSLT transformation: %S