MessageSource.py :  » XML » 4Suite » 4Suite-XML-1.0.2 » Ft » Xml » Xslt » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » XML » 4Suite 
4Suite » 4Suite XML 1.0.2 » Ft » Xml » Xslt » MessageSource.py
########################################################################
# $Header: /var/local/cvsroot/4Suite/Ft/Xml/Xslt/MessageSource.py,v 1.37 2005/04/03 06:47:13 jkloth Exp $
"""
XSLT error codes and messages

Copyright 2003 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/
"""

from Ft import TranslateMessage

POSITION_INFO = _('In stylesheet %s, line %s, column %s:\n%s')

EXPRESSION_POSITION_INFO = _('In stylesheet %s, line %s, column %s in "%s":\n'
                             '%s')

XSLT_EXPRESSION_POSITION_INFO = _('%s\n'
                                  'The error occurred in the expression "%s".')

BUILTIN_TEMPLATE_WITH_PARAMS = _('Built-in template invoked with params that '
                                 'will be ignored. This message will only '
                                 'appear once per transform.')

TEMPLATE_CONFLICT_LOCATION = _('In stylesheet %s, line %s, column %s, pattern %s')

# for xsl:message output
DEFAULT_MESSAGE_PREFIX = _('STYLESHEET MESSAGE:\n')
DEFAULT_MESSAGE_SUFFIX = _('\nEND STYLESHEET MESSAGE\n')

class Error:
    # internal errors
    #INTERNAL_ERROR = 1

    # xsl:stylesheet
    NO_STYLESHEET = 20
    #STYLESHEET_MISSING_VERSION = 21
    LITERAL_RESULT_MISSING_VERSION = 22
    STYLESHEET_PARSE_ERROR = 23
    SOURCE_PARSE_ERROR = 24
    #XSL_STYLESHEET_NOT_DOCELEM = 25
    #TOP_LEVEL_ELEM_WITH_NULL_NS = 26
    XSLT_ILLEGAL_ELEMENT = 27
    #STYLESHEET_ILLEGAL_ROOT = 28
    CIRCULAR_VAR = 29
    DUPLICATE_TOP_LEVEL_VAR = 30
    DUPLICATE_NAMESPACE_ALIAS = 31

    # misc element validation
    ILLEGAL_ELEMENT_CHILD = 50
    ILLEGAL_TEXT_CHILD_PARSE = 51
    UNDEFINED_PREFIX = 52

    # misc attribute validation
    MISSING_REQUIRED_ATTRIBUTE = 70
    ILLEGAL_NULL_NAMESPACE_ATTR = 71
    ILLEGAL_XSL_NAMESPACE_ATTR = 72
    INVALID_ATTR_CHOICE = 73
    INVALID_CHAR_ATTR = 74
    INVALID_NUMBER_ATTR = 75
    INVALID_NS_URIREF_ATTR = 76
    INVALID_ID_ATTR = 77
    INVALID_QNAME_ATTR = 78
    INVALID_NCNAME_ATTR = 79
    INVALID_PREFIX_ATTR = 80
    INVALID_NMTOKEN_ATTR = 81
    QNAME_BUT_NOT_NCNAME = 82
    AVT_SYNTAX = 83
    AVT_EMPTY = 84
    INVALID_AVT = 85
    INVALID_PATTERN = 86
    INVALID_EXPRESSION = 87
    #PATTERN_SYNTAX = 88
    #PATTERN_SEMANTIC = 89

    # xsl:apply-imports
    APPLYIMPORTS_WITH_NULL_CURRENT_TEMPLATE = 100

    # xsl:import and xsl:include
    ILLEGAL_IMPORT = 110
    #IMPORT_NOT_FOUND = 111
    INCLUDE_NOT_FOUND = 112
    CIRCULAR_INCLUDE = 113

    # xsl:choose, xsl:when and xsl:otherwise
    ILLEGAL_CHOOSE_CHILD = 120
    CHOOSE_REQUIRES_WHEN = 121
    #CHOOSE_WHEN_AFTER_OTHERWISE = 122
    #CHOOSE_MULTIPLE_OTHERWISE = 123
    #WHEN_MISSING_TEST = 124

    # xsl:call-template
    #ILLEGAL_CALLTEMPLATE_CHILD = 130
    NAMED_TEMPLATE_NOT_FOUND = 131

    # xsl:template
    #ILLEGAL_TEMPLATE_PRIORITY = 140
    MULTIPLE_MATCH_TEMPLATES = 141
    DUPLICATE_NAMED_TEMPLATE = 142

    # xsl:attribute
    ATTRIBUTE_ADDED_TOO_LATE = 150
    #ATTRIBUTE_MISSING_NAME = 151
    ATTRIBUTE_ADDED_TO_NON_ELEMENT = 152
    NONTEXT_IN_ATTRIBUTE = 153
    BAD_ATTRIBUTE_NAME = 154

    # xsl:element
    UNDEFINED_ATTRIBUTE_SET = 160

    # xsl:for-each
    INVALID_FOREACH_SELECT = 170

    # xsl:value-of
    #VALUEOF_MISSING_SELECT = 180

    # xsl:copy-of
    #COPYOF_MISSING_SELECT = 190

    # xsl:text
    ILLEGAL_TEXT_CHILD = 200

    # xsl:apply-template
    #ILLEGAL_APPLYTEMPLATE_CHILD = 210
    #ILLEGAL_APPLYTEMPLATE_MODE = 211
    ILLEGAL_APPLYTEMPLATE_NODESET = 212

    # xsl:attribute-set
    #ILLEGAL_ATTRIBUTESET_CHILD = 220
    #ATTRIBUTESET_REQUIRES_NAME = 221
    CIRCULAR_ATTRIBUTE_SET = 222

    # xsl:param and xsl:variable
    #ILLEGAL_PARAM = 230
    #ILLEGAL_PARAM_PARENT = 231
    ILLEGAL_SHADOWING = 232
    VAR_WITH_CONTENT_AND_SELECT = 233

    # xsl:message
    #ILLEGAL_MESSAGE_PARENT = 240
    STYLESHEET_REQUESTED_TERMINATION = 241

    # xsl:processing-instruction
    ILLEGAL_XML_PI = 250
    NONTEXT_IN_PI = 251

    # xsl:output
    UNKNOWN_OUTPUT_METHOD = 260

    # xsl:decimal-format
    DUPLICATE_DECIMAL_FORMAT = 270
    UNDEFINED_DECIMAL_FORMAT = 271

    # xsl:sort
    #ILLEGAL_SORT_DATA_TYPE_VALUE = 280
    #ILLEGAL_SORT_CASE_ORDER_VALUE = 281
    #ILLEGAL_SORT_ORDER_VALUE = 282

    # xsl:number
    #ILLEGAL_NUMBER_GROUPING_SIZE_VALUE = 290
    #ILLEGAL_NUMBER_LEVEL_VALUE = 291
    #ILLEGAL_NUMBER_LETTER_VALUE = 292
    ILLEGAL_NUMBER_FORMAT_VALUE = 293
    UNSUPPORTED_NUMBER_LANG_VALUE = 294
    UNSUPPORTED_NUMBER_LETTER_FOR_LANG = 295

    # xsl:namespace-alias
    #INVALID_NAMESPACE_ALIAS = 300

    # xsl:comment
    NONTEXT_IN_COMMENT = 310

    # xsl:fallback and forwards-compatible processing
    FWD_COMPAT_WITHOUT_FALLBACK = 320
    UNKNOWN_EXTENSION_ELEMENT = 321

    # built-in functions and XSLT-specific extension functions
    DOC_FUNC_EMPTY_NODESET = 1000
    UNKNOWN_NODE_BASE_URI = 1001
    #KEY_WITH_RTF_CONTEXT = 1002
    #WRONG_NUMBER_OF_ARGUMENTS = 2000
    WRONG_ARGUMENT_TYPE = 2001
    INVALID_QNAME_ARGUMENT = 2002

    # EXSLT messages use 3000-3999; see Exslt/MessageSource.py

    # built-in output methods
    RESTRICTED_OUTPUT_VIOLATION = 7000

    #FEATURE_NOT_SUPPORTED = 9999


g_errorMessages = {

    # internal errors
    #Error.INTERNAL_ERROR: _('There is an internal bug in 4Suite. '
    #    'Please make a post to the 4Suite mailing list to report this error '
    #    'message to the developers. Include platform details and info about '
    #    'how to reproduce the error. Info about the mailing list is at '
    #    'http://lists.fourthought.com/mailman/listinfo/4suite. '
    #    'The error code to report is: %s'),

    # xsl:stylesheet
    Error.NO_STYLESHEET: _('No stylesheets to process.'),
    #Error.STYLESHEET_MISSING_VERSION: _('Stylesheet "%s", document root element must have a version attribute.  (see XSLT 1.0 sec. 2.2)'),
    Error.LITERAL_RESULT_MISSING_VERSION: _('Document root element must have a xsl:version attribute.  (see XSLT 1.0 sec. 2.3).'),
    Error.STYLESHEET_PARSE_ERROR: _('Error parsing stylesheet (%s): %s'),
    Error.SOURCE_PARSE_ERROR: _('Error parsing source document (%s): %s'),
    #Error.XSL_STYLESHEET_NOT_DOCELEM: _('An xsl:stylesheet or xsl:transform element must be the document element.'),
    #Error.TOP_LEVEL_ELEM_WITH_NULL_NS: _(''),
    Error.XSLT_ILLEGAL_ELEMENT: _("Illegal element '%s' in XSLT Namespace (see XSLT 1.0 sec. 2.1)."),
    #Error.STYLESHEET_ILLEGAL_ROOT: _('Illegal Document Root Element "%s" (see XSLT 1.0 sec. 2.2).'),
    Error.CIRCULAR_VAR: _('Circular variable reference error (see XSLT 1.0 sec. 11.4) for variable or parameter: (%s, %s)'),
    Error.DUPLICATE_TOP_LEVEL_VAR: _('Top level variable %s has duplicate definitions with the same import precedence.  (see XSLT 1.0 sec. 11)'),
    Error.DUPLICATE_NAMESPACE_ALIAS: _('The namespace for "%s" has duplicate namespace aliases defined with the same import precedence.  (see XSLT 1.0 sec. 2.6.2)'),

    # misc element validation
    Error.ILLEGAL_ELEMENT_CHILD: _("Illegal child '%s' within element '%s'"),
    Error.ILLEGAL_TEXT_CHILD_PARSE: _("Illegal literal text %s within element '%s'"),
    Error.UNDEFINED_PREFIX: _("Undefined namespace prefix '%s'"),

    # misc attribute validation
    Error.MISSING_REQUIRED_ATTRIBUTE: _("Element '%s' missing required attribute '%s'"),
    Error.ILLEGAL_NULL_NAMESPACE_ATTR: _("Illegal null-namespace attribute '%s' on element '%s'."),
    Error.ILLEGAL_XSL_NAMESPACE_ATTR: _("Illegal xsl-namespace attribute '%s' on element '%s'."),
    Error.INVALID_ATTR_CHOICE: _("Illegal attribute value '%s', must be one of '%s'"),
    Error.INVALID_CHAR_ATTR: _("Invalid char attribute value '%s'"),
    Error.INVALID_NUMBER_ATTR: _("Invalid number attribute value '%s'"),
    Error.INVALID_NS_URIREF_ATTR: _("'%s' is not a valid namespace name (see Namespaces in XML erratum NE05)"),
    Error.INVALID_ID_ATTR: _("Invalid ID attribute value '%s'"),
    Error.INVALID_QNAME_ATTR: _("Invalid QName attribute value '%s'"),
    Error.INVALID_NCNAME_ATTR: _("Invalid NCName attribute value '%s'"),
    Error.INVALID_PREFIX_ATTR: _("Invalid prefix attribute value '%s'"),
    Error.INVALID_NMTOKEN_ATTR: _("Invalid NMTOKEN attribute value '%s'"),
    Error.QNAME_BUT_NOT_NCNAME: _("QName allowed but not NCName, '%s' found"),
    Error.AVT_SYNTAX: _('Unbalanced curly braces ({}) in attribute value template. (see XSLT 1.0 sec. 7.6.2)'),
    Error.AVT_EMPTY: _('No expression in attribute value template.'),
    Error.INVALID_AVT: _('Malformed attribute value template: "%s" in the element at %s, line %s, column %s\n  %s'),
    Error.INVALID_PATTERN: _('Malformed pattern: "%s" in the element at %s, line %s, column %s\n  %s'),
    Error.INVALID_EXPRESSION: _('Malformed expression: "%s" in the element at %s, line %s, column %s\n  %s'),
    #Error.PATTERN_SYNTAX: _('Syntax error in pattern at location %s (XPattern production number: %d).'),
    #Error.PATTERN_SEMANTIC: _('Parse tree error in pattern at location %s (XPattern production number: %d, error type: %s, error value: %s, traceback:\n%s'),

    # xsl:apply-imports
    Error.APPLYIMPORTS_WITH_NULL_CURRENT_TEMPLATE: _('apply-imports used where there is no current template.  (see XSLT Spec)'),

    # xsl:import and xsl:include
    Error.ILLEGAL_IMPORT: _('xsl:import is not allowed here (xsl:import must be at top level and precede all other XSLT top-level instructions).  (see XSLT 1.0 sec. 2.6.2)'),
    #Error.IMPORT_NOT_FOUND: _(''),
    Error.INCLUDE_NOT_FOUND: _('Unable to open imported or included stylesheet "%s", using base URI "%s", or all base URIs in the include PATH'),
    Error.CIRCULAR_INCLUDE: _('Stylesheet %s may not be included or imported more than once (see XSLT 1.0 sec. 2.6)'),

    # xsl:choose, xsl:when and xsl:otherwise
    Error.ILLEGAL_CHOOSE_CHILD: _('FIXME'),
    Error.CHOOSE_REQUIRES_WHEN: _('"choose" must have at least one "when" child (see XSLT 1.0 sec. 9.2)'),
    #Error.CHOOSE_WHEN_AFTER_OTHERWISE: _('"choose" cannot have "when" child after "otherwise" child (see XSLT 1.0 sec. 9.2)'),
    #Error.CHOOSE_MULTIPLE_OTHERWISE: _('"choose" only allowed one "otherwise" child (see XSLT 1.0 sec. 9.2)'),
    #Error.WHEN_MISSING_TEST: _('xsl:when requires "test" attribute (see XSLT 1.0 sec. 9.2)'),

    # xsl:call-template
    #Error.ILLEGAL_CALLTEMPLATE_CHILD: _('call-template child must be with-param., (see XSLT 1.0 sec. 6)'),
    Error.NAMED_TEMPLATE_NOT_FOUND: _('Named template "%s" invoked but not defined.'),

    # xsl:template
    #Error.ILLEGAL_TEMPLATE_PRIORITY: _('Invalid priority value for template. (see XSLT 1.0 sec. 5.5)'),
    Error.MULTIPLE_MATCH_TEMPLATES:
    _('Multiple templates matching node %r.  (see XSLT 1.0 sec. 5.5).\n'
      'Conflicting template locations:\n%s'),
    Error.DUPLICATE_NAMED_TEMPLATE:
    _("Named template '%s' already defined with same import precedence"),

    # xsl:attribute
    Error.ATTRIBUTE_ADDED_TOO_LATE: _('Children were added to element before xsl:attribute instantiation. (see XSLT 1.0 sec. 7.1.3)'),
    #Error.ATTRIBUTE_MISSING_NAME: _('xsl:attribute missing required name attribute. (see XSLT 1.0 sec. 7.1.3)'),
    Error.ATTRIBUTE_ADDED_TO_NON_ELEMENT: _('xsl:attribute attempted to add attribute to non-element. (see XSLT 1.0 sec. 7.1.3)'),
    Error.NONTEXT_IN_ATTRIBUTE: _('Nodes other than text nodes created during xsl:attribute instantiation. (see XSLT 1.0 sec. 7.1.3)'),
    Error.BAD_ATTRIBUTE_NAME: _('An attribute cannot be created with name %s. (see XSLT 1.0 sec. 7.1.3)'),

    # xsl:element
    Error.UNDEFINED_ATTRIBUTE_SET: _('Undefined attribute set (%s)'),

    # xsl:for-each
    Error.INVALID_FOREACH_SELECT: _('"select" attribute of "for-each" must evaluate to a node set (see XSLT 1.0 sec. 8)'),

    # xsl:value-of
    #Error.VALUEOF_MISSING_SELECT: _('Empty "value-of" requires "select" attribute (see XSLT 1.0 sec. 7.6.1)'),

    # xsl:copy-of
    #Error.COPYOF_MISSING_SELECT: _('Empty "copy-of" requires "select" attribute (see XSLT 1.0 sec. 11.3)'),

    # xsl:text
    Error.ILLEGAL_TEXT_CHILD: _('xsl:text cannot have any child elements" (see XSLT 1.0 sec. 7.2)'),

    # xsl:apply-templates
    #Error.ILLEGAL_APPLYTEMPLATE_CHILD: _('apply-templates child must be with-param or sort. (see XSLT Spec 5.4)'),
    #Error.ILLEGAL_APPLYTEMPLATE_MODE: _('apply-templates mode must be a QName. (see XSLT Spec 5.4)'),
    Error.ILLEGAL_APPLYTEMPLATE_NODESET: _('apply-templates must apply to a node-set.'),

    # xsl:attribute-set
    #Error.ILLEGAL_ATTRIBUTESET_CHILD: _('xsl:attribute-set child must be "attribute" (see XSLT 1.0 sec. 7.1.4)'),
    #Error.ATTRIBUTESET_REQUIRES_NAME: _('xsl:attribute-set requires "name" attribute (see XSLT 1.0 sec. 7.1.4)'),
    Error.CIRCULAR_ATTRIBUTE_SET: _("Circular attribute-set error for '%s'. (see XSLT 1.0 sec. 7.1.4)"),

    # xsl:param and xsl:variable
    #Error.ILLEGAL_PARAM: _('xsl:param elements must be the first children of xsl:template (see XSLT 1.0 sec. 11).'),
    #Error.ILLEGAL_PARAM_PARENT: _('Uri: %s line %s col: %s\n   xsl:param can only appear at top level or as the child of an xsl:template (see XSLT 1.0 sec. 11).'),
    Error.ILLEGAL_SHADOWING: _('Illegal shadowing of %s.  An xsl:param or xsl:variable may not shadow another variable not at top level (see XSLT 1.0 sec. 11).'),
    Error.VAR_WITH_CONTENT_AND_SELECT: _('Illegal binding of of %s.  An xsl:param or xsl:variable may not have both a select attribute and non-empty content. (see XSLT 1.0 sec. 11.2).'),

    # xsl:message
    #Error.ILLEGAL_MESSAGE_PARENT: _('xsl:message cannot be a top-level element. (see XSLT 1.0 sec. 2.2)'),
    Error.STYLESHEET_REQUESTED_TERMINATION: _('A message instruction in the Stylesheet requested termination of processing:\n%s'),

    # xsl:processing-instruction
    Error.ILLEGAL_XML_PI: _('A processing instruction cannot be used to output an XML or text declaration. (see XSLT 1.0 sec. 7.3)'),
    Error.NONTEXT_IN_PI: _('Nodes other than text nodes created during xsl:processing-instruction instantiation. (see XSLT 1.0 sec. 7.4)'),

    # xsl:output
    Error.UNKNOWN_OUTPUT_METHOD: _('Unknown output method (%s)'),

    # xsl:decimal-format
    Error.DUPLICATE_DECIMAL_FORMAT: _('Duplicate declaration of decimal-format %s. (XSLT Spec: 12.3)'),
    Error.UNDEFINED_DECIMAL_FORMAT: _('Undefined decimal-format (%s)'),

    # xsl:sort
    #Error.ILLEGAL_SORT_CASE_ORDER_VALUE: _('The case-order attribute of sort must be either "upper-first" or "lower-first" (see XSLT 1.0 sec. 10)'),
    #Error.ILLEGAL_SORT_DATA_TYPE_VALUE: _('The data-type attribute of sort must be either "text" or "number" (see XSLT 1.0 sec. 10).'),
    #Error.ILLEGAL_SORT_ORDER_VALUE: _('The order attribute of sort must be either "ascending" or "descending". (see XSLT 1.0 sec. 10)'),

    # xsl:number
    #Error.ILLEGAL_NUMBER_GROUPING_SIZE_VALUE: _('The "grouping-size" attribute of number must be an integer. (see XSLT 1.0 sec. 7.7.1)'),
    #Error.ILLEGAL_NUMBER_LEVEL_VALUE: _('The "level" attribute of number must be "single", "multiple" or "any". (see XSLT 1.0 sec. 7.7)'),
    #Error.ILLEGAL_NUMBER_LETTER_VALUE: _('The "letter-value" attribute of number must be "alphabetic" or "traditional". (see XSLT 1.0 sec. 7.7.1)'),
    Error.ILLEGAL_NUMBER_FORMAT_VALUE: _('Value "%s" for "format" attribute of xsl:number is invalid. (see XSLT 1.0 sec. 7.7)'),
    Error.UNSUPPORTED_NUMBER_LANG_VALUE: _('Language "%s" for alphabetic numbering in xsl:number is unsupported.'),
    Error.UNSUPPORTED_NUMBER_LETTER_FOR_LANG: _('Value "%s" for "letter-value" attribute of xsl:number is not supported with the language "%s".'),

    # xsl:namespace-alias
    #Error.INVALID_NAMESPACE_ALIAS: _('Invalid arguments to the namespace-alias instruction. (see XSLT 1.0 sec. 7.1.1)'),

    # xsl:comment
    Error.NONTEXT_IN_COMMENT: _('Nodes other than text nodes created during xsl:comment instantiation. (see XSLT 1.0 sec. 7.4)'),

    # xsl:fallback and forwards-compatible processing
    Error.FWD_COMPAT_WITHOUT_FALLBACK: _('No xsl:fallback instruction found for element %r processed in forward-compatible mode.'),
    Error.UNKNOWN_EXTENSION_ELEMENT:
    _('No implementation for extension element %r, %r'),

    # built-in functions and XSLT-specific extension functions
    Error.DOC_FUNC_EMPTY_NODESET: _('Second argument to document(), if given, must be a non-empty node-set. (see XSLT 1.0 sec. 12.1 erratum E14)'),
    Error.UNKNOWN_NODE_BASE_URI: _('Could not determine base URI of node: %s'),
    #Error.KEY_WITH_RTF_CONTEXT: _('key() must not be invoked when the context node comes from the result tree (probably due to an earlier invokation of node-set()).'),
    #Error.WRONG_NUMBER_OF_ARGUMENTS: _('A built-in or extension function was called with the wrong number of arguments.'),
    Error.WRONG_ARGUMENT_TYPE: _('A built-in or extension function was called with the wrong type of argument(s).'),
    Error.INVALID_QNAME_ARGUMENT: _('A built-in or extension function requiring a QName argument was called with this non-QName value: "%s".'),

    # EXSLT messages use 3000-3999; see Exslt/MessageSource.py

    # built-in output methods
    Error.RESTRICTED_OUTPUT_VIOLATION: _('The requested output of element "%s" is forbidden according to output restrictions'),

    #Error.FEATURE_NOT_SUPPORTED: _('4XSLT does not yet support this feature.'),

}
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.