# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-23 18:39+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/pyexpat.rst:2 msgid ":mod:`xml.parsers.expat` --- Fast XML parsing using Expat" msgstr "" #: library/pyexpat.rst:21 #, fuzzy msgid "" "The :mod:`pyexpat` module is not secure against maliciously constructed " "data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" "vulnerabilities`." msgstr "" "Le module :mod:`xml.sax` n'est pas sécurisé contre les données construites " "de façon malveillante. Si vous avez besoin d'analyser des données non " "sécurisées ou non authentifiées, voir :ref:`xml-vulnerabilities`." #: library/pyexpat.rst:28 msgid "" "The :mod:`xml.parsers.expat` module is a Python interface to the Expat non-" "validating XML parser. The module provides a single extension type, :class:" "`xmlparser`, that represents the current state of an XML parser. After an :" "class:`xmlparser` object has been created, various attributes of the object " "can be set to handler functions. When an XML document is then fed to the " "parser, the handler functions are called for the character data and markup " "in the XML document." msgstr "" #: library/pyexpat.rst:38 msgid "" "This module uses the :mod:`pyexpat` module to provide access to the Expat " "parser. Direct use of the :mod:`pyexpat` module is deprecated." msgstr "" #: library/pyexpat.rst:41 msgid "This module provides one exception and one type object:" msgstr "" #: library/pyexpat.rst:46 msgid "" "The exception raised when Expat reports an error. See section :ref:" "`expaterror-objects` for more information on interpreting Expat errors." msgstr "" #: library/pyexpat.rst:52 msgid "Alias for :exc:`ExpatError`." msgstr "" #: library/pyexpat.rst:57 msgid "The type of the return values from the :func:`ParserCreate` function." msgstr "" #: library/pyexpat.rst:59 msgid "The :mod:`xml.parsers.expat` module contains two functions:" msgstr "" #: library/pyexpat.rst:64 msgid "Returns an explanatory string for a given error number *errno*." msgstr "" #: library/pyexpat.rst:69 msgid "" "Creates and returns a new :class:`xmlparser` object. *encoding*, if " "specified, must be a string naming the encoding used by the XML data. " "Expat doesn't support as many encodings as Python does, and its repertoire " "of encodings can't be extended; it supports UTF-8, UTF-16, ISO-8859-1 " "(Latin1), and ASCII. If *encoding* [1]_ is given it will override the " "implicit or explicit encoding of the document." msgstr "" #: library/pyexpat.rst:76 msgid "" "Expat can optionally do XML namespace processing for you, enabled by " "providing a value for *namespace_separator*. The value must be a one-" "character string; a :exc:`ValueError` will be raised if the string has an " "illegal length (``None`` is considered the same as omission). When " "namespace processing is enabled, element type names and attribute names that " "belong to a namespace will be expanded. The element name passed to the " "element handlers :attr:`StartElementHandler` and :attr:`EndElementHandler` " "will be the concatenation of the namespace URI, the namespace separator " "character, and the local part of the name. If the namespace separator is a " "zero byte (``chr(0)``) then the namespace URI and the local part will be " "concatenated without any separator." msgstr "" #: library/pyexpat.rst:88 msgid "" "For example, if *namespace_separator* is set to a space character (``' '``) " "and the following document is parsed:" msgstr "" #: library/pyexpat.rst:100 msgid "" ":attr:`StartElementHandler` will receive the following strings for each " "element::" msgstr "" #: library/pyexpat.rst:107 msgid "" "Due to limitations in the ``Expat`` library used by :mod:`pyexpat`, the :" "class:`xmlparser` instance returned can only be used to parse a single XML " "document. Call ``ParserCreate`` for each document to provide unique parser " "instances." msgstr "" #: library/pyexpat.rst:115 msgid "`The Expat XML Parser `_" msgstr "" #: library/pyexpat.rst:116 msgid "Home page of the Expat project." msgstr "" #: library/pyexpat.rst:122 msgid "XMLParser Objects" msgstr "" #: library/pyexpat.rst:124 msgid ":class:`xmlparser` objects have the following methods:" msgstr "" #: library/pyexpat.rst:129 msgid "" "Parses the contents of the string *data*, calling the appropriate handler " "functions to process the parsed data. *isfinal* must be true on the final " "call to this method; it allows the parsing of a single file in fragments, " "not the submission of multiple files. *data* can be the empty string at any " "time." msgstr "" #: library/pyexpat.rst:138 msgid "" "Parse XML data reading from the object *file*. *file* only needs to provide " "the ``read(nbytes)`` method, returning the empty string when there's no more " "data." msgstr "" #: library/pyexpat.rst:145 msgid "" "Sets the base to be used for resolving relative URIs in system identifiers " "in declarations. Resolving relative identifiers is left to the application: " "this value will be passed through as the *base* argument to the :func:" "`ExternalEntityRefHandler`, :func:`NotationDeclHandler`, and :func:" "`UnparsedEntityDeclHandler` functions." msgstr "" #: library/pyexpat.rst:154 msgid "" "Returns a string containing the base set by a previous call to :meth:" "`SetBase`, or ``None`` if :meth:`SetBase` hasn't been called." msgstr "" #: library/pyexpat.rst:160 msgid "" "Returns the input data that generated the current event as a string. The " "data is in the encoding of the entity which contains the text. When called " "while an event handler is not active, the return value is ``None``." msgstr "" #: library/pyexpat.rst:167 msgid "" "Create a \"child\" parser which can be used to parse an external parsed " "entity referred to by content parsed by the parent parser. The *context* " "parameter should be the string passed to the :meth:" "`ExternalEntityRefHandler` handler function, described below. The child " "parser is created with the :attr:`ordered_attributes` and :attr:" "`specified_attributes` set to the values of this parser." msgstr "" #: library/pyexpat.rst:176 msgid "" "Control parsing of parameter entities (including the external DTD subset). " "Possible *flag* values are :const:`XML_PARAM_ENTITY_PARSING_NEVER`, :const:" "`XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE` and :const:" "`XML_PARAM_ENTITY_PARSING_ALWAYS`. Return true if setting the flag was " "successful." msgstr "" #: library/pyexpat.rst:184 msgid "" "Calling this with a true value for *flag* (the default) will cause Expat to " "call the :attr:`ExternalEntityRefHandler` with :const:`None` for all " "arguments to allow an alternate DTD to be loaded. If the document does not " "contain a document type declaration, the :attr:`ExternalEntityRefHandler` " "will still be called, but the :attr:`StartDoctypeDeclHandler` and :attr:" "`EndDoctypeDeclHandler` will not be called." msgstr "" #: library/pyexpat.rst:191 msgid "" "Passing a false value for *flag* will cancel a previous call that passed a " "true value, but otherwise has no effect." msgstr "" #: library/pyexpat.rst:194 msgid "" "This method can only be called before the :meth:`Parse` or :meth:`ParseFile` " "methods are called; calling it after either of those have been called " "causes :exc:`ExpatError` to be raised with the :attr:`code` attribute set to " "``errors.codes[errors.XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." msgstr "" #: library/pyexpat.rst:199 msgid ":class:`xmlparser` objects have the following attributes:" msgstr "" #: library/pyexpat.rst:204 msgid "" "The size of the buffer used when :attr:`buffer_text` is true. A new buffer " "size can be set by assigning a new integer value to this attribute. When the " "size is changed, the buffer will be flushed." msgstr "" #: library/pyexpat.rst:212 msgid "" "Setting this to true causes the :class:`xmlparser` object to buffer textual " "content returned by Expat to avoid multiple calls to the :meth:" "`CharacterDataHandler` callback whenever possible. This can improve " "performance substantially since Expat normally breaks character data into " "chunks at every line ending. This attribute is false by default, and may be " "changed at any time." msgstr "" #: library/pyexpat.rst:222 msgid "" "If :attr:`buffer_text` is enabled, the number of bytes stored in the buffer. " "These bytes represent UTF-8 encoded text. This attribute has no meaningful " "interpretation when :attr:`buffer_text` is false." msgstr "" #: library/pyexpat.rst:229 msgid "" "Setting this attribute to a non-zero integer causes the attributes to be " "reported as a list rather than a dictionary. The attributes are presented " "in the order found in the document text. For each attribute, two list " "entries are presented: the attribute name and the attribute value. (Older " "versions of this module also used this format.) By default, this attribute " "is false; it may be changed at any time." msgstr "" #: library/pyexpat.rst:239 msgid "" "If set to a non-zero integer, the parser will report only those attributes " "which were specified in the document instance and not those which were " "derived from attribute declarations. Applications which set this need to be " "especially careful to use what additional information is available from the " "declarations as needed to comply with the standards for the behavior of XML " "processors. By default, this attribute is false; it may be changed at any " "time." msgstr "" #: library/pyexpat.rst:247 msgid "" "The following attributes contain values relating to the most recent error " "encountered by an :class:`xmlparser` object, and will only have correct " "values once a call to :meth:`Parse` or :meth:`ParseFile` has raised an :exc:" "`xml.parsers.expat.ExpatError` exception." msgstr "" #: library/pyexpat.rst:255 msgid "Byte index at which an error occurred." msgstr "" #: library/pyexpat.rst:260 msgid "" "Numeric code specifying the problem. This value can be passed to the :func:" "`ErrorString` function, or compared to one of the constants defined in the " "``errors`` object." msgstr "" #: library/pyexpat.rst:267 msgid "Column number at which an error occurred." msgstr "" #: library/pyexpat.rst:272 msgid "Line number at which an error occurred." msgstr "" #: library/pyexpat.rst:274 msgid "" "The following attributes contain values relating to the current parse " "location in an :class:`xmlparser` object. During a callback reporting a " "parse event they indicate the location of the first of the sequence of " "characters that generated the event. When called outside of a callback, the " "position indicated will be just past the last parse event (regardless of " "whether there was an associated callback)." msgstr "" #: library/pyexpat.rst:284 msgid "Current byte index in the parser input." msgstr "" #: library/pyexpat.rst:289 msgid "Current column number in the parser input." msgstr "" #: library/pyexpat.rst:294 msgid "Current line number in the parser input." msgstr "" #: library/pyexpat.rst:296 msgid "" "Here is the list of handlers that can be set. To set a handler on an :class:" "`xmlparser` object *o*, use ``o.handlername = func``. *handlername* must be " "taken from the following list, and *func* must be a callable object " "accepting the correct number of arguments. The arguments are all strings, " "unless otherwise stated." msgstr "" #: library/pyexpat.rst:305 msgid "" "Called when the XML declaration is parsed. The XML declaration is the " "(optional) declaration of the applicable version of the XML recommendation, " "the encoding of the document text, and an optional \"standalone\" " "declaration. *version* and *encoding* will be strings, and *standalone* will " "be ``1`` if the document is declared standalone, ``0`` if it is declared not " "to be standalone, or ``-1`` if the standalone clause was omitted. This is " "only available with Expat version 1.95.0 or newer." msgstr "" #: library/pyexpat.rst:316 msgid "" "Called when Expat begins parsing the document type declaration (``'``." msgstr "" #: library/pyexpat.rst:430 msgid "" "Called at the start of a CDATA section. This and :attr:" "`EndCdataSectionHandler` are needed to be able to identify the syntactical " "start and end for CDATA sections." msgstr "" #: library/pyexpat.rst:437 msgid "Called at the end of a CDATA section." msgstr "" #: library/pyexpat.rst:442 msgid "" "Called for any characters in the XML document for which no applicable " "handler has been specified. This means characters that are part of a " "construct which could be reported, but for which no handler has been " "supplied." msgstr "" #: library/pyexpat.rst:449 msgid "" "This is the same as the :func:`DefaultHandler`, but doesn't inhibit " "expansion of internal entities. The entity reference will not be passed to " "the default handler." msgstr "" #: library/pyexpat.rst:456 msgid "" "Called if the XML document hasn't been declared as being a standalone " "document. This happens when there is an external subset or a reference to a " "parameter entity, but the XML declaration does not set standalone to ``yes`` " "in an XML declaration. If this handler returns ``0``, then the parser will " "raise an :const:`XML_ERROR_NOT_STANDALONE` error. If this handler is not " "set, no exception is raised by the parser for this condition." msgstr "" #: library/pyexpat.rst:466 msgid "" "Called for references to external entities. *base* is the current base, as " "set by a previous call to :meth:`SetBase`. The public and system " "identifiers, *systemId* and *publicId*, are strings if given; if the public " "identifier is not given, *publicId* will be ``None``. The *context* value " "is opaque and should only be used as described below." msgstr "" #: library/pyexpat.rst:472 msgid "" "For external entities to be parsed, this handler must be implemented. It is " "responsible for creating the sub-parser using " "``ExternalEntityParserCreate(context)``, initializing it with the " "appropriate callbacks, and parsing the entity. This handler should return " "an integer; if it returns ``0``, the parser will raise an :const:" "`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will continue." msgstr "" #: library/pyexpat.rst:480 msgid "" "If this handler is not provided, external entities are reported by the :attr:" "`DefaultHandler` callback, if provided." msgstr "" #: library/pyexpat.rst:487 msgid "ExpatError Exceptions" msgstr "" #: library/pyexpat.rst:492 msgid ":exc:`ExpatError` exceptions have a number of interesting attributes:" msgstr "" #: library/pyexpat.rst:497 msgid "" "Expat's internal error number for the specific error. The :data:`errors." "messages ` dictionary maps these error " "numbers to Expat's error messages. For example::" msgstr "" #: library/pyexpat.rst:509 msgid "" "The :mod:`~xml.parsers.expat.errors` module also provides error message " "constants and a dictionary :data:`~xml.parsers.expat.errors.codes` mapping " "these messages back to the error codes, see below." msgstr "" #: library/pyexpat.rst:516 msgid "" "Line number on which the error was detected. The first line is numbered " "``1``." msgstr "" #: library/pyexpat.rst:521 msgid "" "Character offset into the line where the error occurred. The first column " "is numbered ``0``." msgstr "" #: library/pyexpat.rst:528 msgid "Example" msgstr "Exemple" #: library/pyexpat.rst:530 msgid "" "The following program defines three handlers that just print out their " "arguments. ::" msgstr "" #: library/pyexpat.rst:554 msgid "The output from this program is::" msgstr "" #: library/pyexpat.rst:571 msgid "Content Model Descriptions" msgstr "" #: library/pyexpat.rst:577 msgid "" "Content models are described using nested tuples. Each tuple contains four " "values: the type, the quantifier, the name, and a tuple of children. " "Children are simply additional content model descriptions." msgstr "" #: library/pyexpat.rst:581 msgid "" "The values of the first two fields are constants defined in the :mod:`xml." "parsers.expat.model` module. These constants can be collected in two " "groups: the model type group and the quantifier group." msgstr "" #: library/pyexpat.rst:585 msgid "The constants in the model type group are:" msgstr "" #: library/pyexpat.rst:591 msgid "" "The element named by the model name was declared to have a content model of " "``ANY``." msgstr "" #: library/pyexpat.rst:598 msgid "" "The named element allows a choice from a number of options; this is used for " "content models such as ``(A | B | C)``." msgstr "" #: library/pyexpat.rst:605 msgid "Elements which are declared to be ``EMPTY`` have this model type." msgstr "" #: library/pyexpat.rst:619 msgid "" "Models which represent a series of models which follow one after the other " "are indicated with this model type. This is used for models such as ``(A, " "B, C)``." msgstr "" #: library/pyexpat.rst:622 msgid "The constants in the quantifier group are:" msgstr "" #: library/pyexpat.rst:628 msgid "No modifier is given, so it can appear exactly once, as for ``A``." msgstr "" #: library/pyexpat.rst:634 msgid "The model is optional: it can appear once or not at all, as for ``A?``." msgstr "" #: library/pyexpat.rst:640 msgid "The model must occur one or more times (like ``A+``)." msgstr "" #: library/pyexpat.rst:646 msgid "The model must occur zero or more times, as for ``A*``." msgstr "" #: library/pyexpat.rst:652 msgid "Expat error constants" msgstr "" #: library/pyexpat.rst:656 msgid "" "The following constants are provided in the :mod:`xml.parsers.expat.errors` " "module. These constants are useful in interpreting some of the attributes " "of the :exc:`ExpatError` exception objects raised when an error has " "occurred. Since for backwards compatibility reasons, the constants' value is " "the error *message* and not the numeric error *code*, you do this by " "comparing its :attr:`code` attribute with :samp:`errors.codes[errors." "XML_ERROR_{CONSTANT_NAME}]`." msgstr "" #: library/pyexpat.rst:664 msgid "The ``errors`` module has the following attributes:" msgstr "" #: library/pyexpat.rst:668 msgid "A dictionary mapping string descriptions to their error codes." msgstr "" #: library/pyexpat.rst:675 msgid "A dictionary mapping numeric error codes to their string descriptions." msgstr "" #: library/pyexpat.rst:685 msgid "" "An entity reference in an attribute value referred to an external entity " "instead of an internal entity." msgstr "" #: library/pyexpat.rst:691 msgid "" "A character reference referred to a character which is illegal in XML (for " "example, character ``0``, or '``�``')." msgstr "" #: library/pyexpat.rst:697 msgid "" "An entity reference referred to an entity which was declared with a " "notation, so cannot be parsed." msgstr "" #: library/pyexpat.rst:703 msgid "An attribute was used more than once in a start tag." msgstr "" #: library/pyexpat.rst:711 msgid "" "Raised when an input byte could not properly be assigned to a character; for " "example, a NUL byte (value ``0``) in a UTF-8 input stream." msgstr "" #: library/pyexpat.rst:717 msgid "Something other than whitespace occurred after the document element." msgstr "" #: library/pyexpat.rst:722 msgid "" "An XML declaration was found somewhere other than the start of the input " "data." msgstr "" #: library/pyexpat.rst:727 msgid "" "The document contains no elements (XML requires all documents to contain " "exactly one top-level element).." msgstr "" #: library/pyexpat.rst:733 msgid "Expat was not able to allocate memory internally." msgstr "" #: library/pyexpat.rst:738 msgid "A parameter entity reference was found where it was not allowed." msgstr "" #: library/pyexpat.rst:743 msgid "An incomplete character was found in the input." msgstr "" #: library/pyexpat.rst:748 msgid "" "An entity reference contained another reference to the same entity; possibly " "via a different name, and possibly indirectly." msgstr "" #: library/pyexpat.rst:754 msgid "Some unspecified syntax error was encountered." msgstr "" #: library/pyexpat.rst:759 msgid "An end tag did not match the innermost open start tag." msgstr "" #: library/pyexpat.rst:764 msgid "" "Some token (such as a start tag) was not closed before the end of the stream " "or the next token was encountered." msgstr "" #: library/pyexpat.rst:770 msgid "A reference was made to an entity which was not defined." msgstr "" #: library/pyexpat.rst:775 msgid "The document encoding is not supported by Expat." msgstr "" #: library/pyexpat.rst:780 msgid "A CDATA marked section was not closed." msgstr "" #: library/pyexpat.rst:788 msgid "" "The parser determined that the document was not \"standalone\" though it " "declared itself to be in the XML declaration, and the :attr:" "`NotStandaloneHandler` was set and returned ``0``." msgstr "" #: library/pyexpat.rst:801 msgid "" "An operation was requested that requires DTD support to be compiled in, but " "Expat was configured without DTD support. This should never be reported by " "a standard build of the :mod:`xml.parsers.expat` module." msgstr "" #: library/pyexpat.rst:808 msgid "" "A behavioral change was requested after parsing started that can only be " "changed before parsing has started. This is (currently) only raised by :" "meth:`UseForeignDTD`." msgstr "" #: library/pyexpat.rst:815 msgid "An undeclared prefix was found when namespace processing was enabled." msgstr "" #: library/pyexpat.rst:820 msgid "" "The document attempted to remove the namespace declaration associated with a " "prefix." msgstr "" #: library/pyexpat.rst:826 msgid "A parameter entity contained incomplete markup." msgstr "" #: library/pyexpat.rst:831 msgid "The document contained no document element at all." msgstr "" #: library/pyexpat.rst:836 msgid "There was an error parsing a text declaration in an external entity." msgstr "" #: library/pyexpat.rst:841 msgid "Characters were found in the public id that are not allowed." msgstr "" #: library/pyexpat.rst:846 msgid "" "The requested operation was made on a suspended parser, but isn't allowed. " "This includes attempts to provide additional input or to stop the parser." msgstr "" #: library/pyexpat.rst:852 msgid "" "An attempt to resume the parser was made when the parser had not been " "suspended." msgstr "" #: library/pyexpat.rst:890 library/pyexpat.rst:895 msgid "This should not be reported to Python applications." msgstr "" #: library/pyexpat.rst:862 msgid "" "The requested operation was made on a parser which was finished parsing " "input, but isn't allowed. This includes attempts to provide additional " "input or to stop the parser." msgstr "" #: library/pyexpat.rst:872 msgid "" "An attempt was made to undeclare reserved namespace prefix ``xml`` or to " "bind it to another namespace URI." msgstr "" #: library/pyexpat.rst:879 msgid "" "An attempt was made to declare or undeclare reserved namespace prefix " "``xmlns``." msgstr "" #: library/pyexpat.rst:884 msgid "" "An attempt was made to bind the URI of one the reserved namespace prefixes " "``xml`` and ``xmlns`` to another namespace prefix." msgstr "" #: library/pyexpat.rst:900 msgid "" "The limit on input amplification factor (from DTD and entities) has been " "breached." msgstr "" #: library/pyexpat.rst:905 msgid "Footnotes" msgstr "Notes" #: library/pyexpat.rst:906 msgid "" "The encoding string included in XML output should conform to the appropriate " "standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See https://" "www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://www.iana." "org/assignments/character-sets/character-sets.xhtml." msgstr ""