17db96d56Sopenharmony_ci:mod:`xml.sax.xmlreader` --- Interface for XML parsers 27db96d56Sopenharmony_ci====================================================== 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: xml.sax.xmlreader 57db96d56Sopenharmony_ci :synopsis: Interface which SAX-compliant XML parsers must implement. 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci.. moduleauthor:: Lars Marius Garshol <larsga@garshol.priv.no> 87db96d56Sopenharmony_ci.. sectionauthor:: Martin v. Löwis <martin@v.loewis.de> 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci**Source code:** :source:`Lib/xml/sax/xmlreader.py` 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci-------------- 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ciSAX parsers implement the :class:`XMLReader` interface. They are implemented in 157db96d56Sopenharmony_cia Python module, which must provide a function :func:`create_parser`. This 167db96d56Sopenharmony_cifunction is invoked by :func:`xml.sax.make_parser` with no arguments to create 177db96d56Sopenharmony_cia new parser object. 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci.. class:: XMLReader() 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci Base class which can be inherited by SAX parsers. 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci.. class:: IncrementalParser() 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci In some cases, it is desirable not to parse an input source at once, but to feed 287db96d56Sopenharmony_ci chunks of the document as they get available. Note that the reader will normally 297db96d56Sopenharmony_ci not read the entire file, but read it in chunks as well; still :meth:`parse` 307db96d56Sopenharmony_ci won't return until the entire document is processed. So these interfaces should 317db96d56Sopenharmony_ci be used if the blocking behaviour of :meth:`parse` is not desirable. 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci When the parser is instantiated it is ready to begin accepting data from the 347db96d56Sopenharmony_ci feed method immediately. After parsing has been finished with a call to close 357db96d56Sopenharmony_ci the reset method must be called to make the parser ready to accept new data, 367db96d56Sopenharmony_ci either from feed or using the parse method. 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci Note that these methods must *not* be called during parsing, that is, after 397db96d56Sopenharmony_ci parse has been called and before it returns. 407db96d56Sopenharmony_ci 417db96d56Sopenharmony_ci By default, the class also implements the parse method of the XMLReader 427db96d56Sopenharmony_ci interface using the feed, close and reset methods of the IncrementalParser 437db96d56Sopenharmony_ci interface as a convenience to SAX 2.0 driver writers. 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci.. class:: Locator() 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci Interface for associating a SAX event with a document location. A locator object 497db96d56Sopenharmony_ci will return valid results only during calls to DocumentHandler methods; at any 507db96d56Sopenharmony_ci other time, the results are unpredictable. If information is not available, 517db96d56Sopenharmony_ci methods may return ``None``. 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci.. class:: InputSource(system_id=None) 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ci Encapsulation of the information needed by the :class:`XMLReader` to read 577db96d56Sopenharmony_ci entities. 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ci This class may include information about the public identifier, system 607db96d56Sopenharmony_ci identifier, byte stream (possibly with character encoding information) and/or 617db96d56Sopenharmony_ci the character stream of an entity. 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci Applications will create objects of this class for use in the 647db96d56Sopenharmony_ci :meth:`XMLReader.parse` method and for returning from 657db96d56Sopenharmony_ci EntityResolver.resolveEntity. 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ci An :class:`InputSource` belongs to the application, the :class:`XMLReader` is 687db96d56Sopenharmony_ci not allowed to modify :class:`InputSource` objects passed to it from the 697db96d56Sopenharmony_ci application, although it may make copies and modify those. 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci 727db96d56Sopenharmony_ci.. class:: AttributesImpl(attrs) 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ci This is an implementation of the :class:`Attributes` interface (see section 757db96d56Sopenharmony_ci :ref:`attributes-objects`). This is a dictionary-like object which 767db96d56Sopenharmony_ci represents the element attributes in a :meth:`startElement` call. In addition 777db96d56Sopenharmony_ci to the most useful dictionary operations, it supports a number of other 787db96d56Sopenharmony_ci methods as described by the interface. Objects of this class should be 797db96d56Sopenharmony_ci instantiated by readers; *attrs* must be a dictionary-like object containing 807db96d56Sopenharmony_ci a mapping from attribute names to attribute values. 817db96d56Sopenharmony_ci 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ci.. class:: AttributesNSImpl(attrs, qnames) 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_ci Namespace-aware variant of :class:`AttributesImpl`, which will be passed to 867db96d56Sopenharmony_ci :meth:`startElementNS`. It is derived from :class:`AttributesImpl`, but 877db96d56Sopenharmony_ci understands attribute names as two-tuples of *namespaceURI* and 887db96d56Sopenharmony_ci *localname*. In addition, it provides a number of methods expecting qualified 897db96d56Sopenharmony_ci names as they appear in the original document. This class implements the 907db96d56Sopenharmony_ci :class:`AttributesNS` interface (see section :ref:`attributes-ns-objects`). 917db96d56Sopenharmony_ci 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci.. _xmlreader-objects: 947db96d56Sopenharmony_ci 957db96d56Sopenharmony_ciXMLReader Objects 967db96d56Sopenharmony_ci----------------- 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_ciThe :class:`XMLReader` interface supports the following methods: 997db96d56Sopenharmony_ci 1007db96d56Sopenharmony_ci 1017db96d56Sopenharmony_ci.. method:: XMLReader.parse(source) 1027db96d56Sopenharmony_ci 1037db96d56Sopenharmony_ci Process an input source, producing SAX events. The *source* object can be a 1047db96d56Sopenharmony_ci system identifier (a string identifying the input source -- typically a file 1057db96d56Sopenharmony_ci name or a URL), a :class:`pathlib.Path` or :term:`path-like <path-like object>` 1067db96d56Sopenharmony_ci object, or an :class:`InputSource` object. When 1077db96d56Sopenharmony_ci :meth:`parse` returns, the input is completely processed, and the parser object 1087db96d56Sopenharmony_ci can be discarded or reset. 1097db96d56Sopenharmony_ci 1107db96d56Sopenharmony_ci .. versionchanged:: 3.5 1117db96d56Sopenharmony_ci Added support of character streams. 1127db96d56Sopenharmony_ci 1137db96d56Sopenharmony_ci .. versionchanged:: 3.8 1147db96d56Sopenharmony_ci Added support of path-like objects. 1157db96d56Sopenharmony_ci 1167db96d56Sopenharmony_ci 1177db96d56Sopenharmony_ci.. method:: XMLReader.getContentHandler() 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ci Return the current :class:`~xml.sax.handler.ContentHandler`. 1207db96d56Sopenharmony_ci 1217db96d56Sopenharmony_ci 1227db96d56Sopenharmony_ci.. method:: XMLReader.setContentHandler(handler) 1237db96d56Sopenharmony_ci 1247db96d56Sopenharmony_ci Set the current :class:`~xml.sax.handler.ContentHandler`. If no 1257db96d56Sopenharmony_ci :class:`~xml.sax.handler.ContentHandler` is set, content events will be 1267db96d56Sopenharmony_ci discarded. 1277db96d56Sopenharmony_ci 1287db96d56Sopenharmony_ci 1297db96d56Sopenharmony_ci.. method:: XMLReader.getDTDHandler() 1307db96d56Sopenharmony_ci 1317db96d56Sopenharmony_ci Return the current :class:`~xml.sax.handler.DTDHandler`. 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_ci 1347db96d56Sopenharmony_ci.. method:: XMLReader.setDTDHandler(handler) 1357db96d56Sopenharmony_ci 1367db96d56Sopenharmony_ci Set the current :class:`~xml.sax.handler.DTDHandler`. If no 1377db96d56Sopenharmony_ci :class:`~xml.sax.handler.DTDHandler` is set, DTD 1387db96d56Sopenharmony_ci events will be discarded. 1397db96d56Sopenharmony_ci 1407db96d56Sopenharmony_ci 1417db96d56Sopenharmony_ci.. method:: XMLReader.getEntityResolver() 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_ci Return the current :class:`~xml.sax.handler.EntityResolver`. 1447db96d56Sopenharmony_ci 1457db96d56Sopenharmony_ci 1467db96d56Sopenharmony_ci.. method:: XMLReader.setEntityResolver(handler) 1477db96d56Sopenharmony_ci 1487db96d56Sopenharmony_ci Set the current :class:`~xml.sax.handler.EntityResolver`. If no 1497db96d56Sopenharmony_ci :class:`~xml.sax.handler.EntityResolver` is set, 1507db96d56Sopenharmony_ci attempts to resolve an external entity will result in opening the system 1517db96d56Sopenharmony_ci identifier for the entity, and fail if it is not available. 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_ci 1547db96d56Sopenharmony_ci.. method:: XMLReader.getErrorHandler() 1557db96d56Sopenharmony_ci 1567db96d56Sopenharmony_ci Return the current :class:`~xml.sax.handler.ErrorHandler`. 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ci.. method:: XMLReader.setErrorHandler(handler) 1607db96d56Sopenharmony_ci 1617db96d56Sopenharmony_ci Set the current error handler. If no :class:`~xml.sax.handler.ErrorHandler` 1627db96d56Sopenharmony_ci is set, errors will be raised as exceptions, and warnings will be printed. 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ci 1657db96d56Sopenharmony_ci.. method:: XMLReader.setLocale(locale) 1667db96d56Sopenharmony_ci 1677db96d56Sopenharmony_ci Allow an application to set the locale for errors and warnings. 1687db96d56Sopenharmony_ci 1697db96d56Sopenharmony_ci SAX parsers are not required to provide localization for errors and warnings; if 1707db96d56Sopenharmony_ci they cannot support the requested locale, however, they must raise a SAX 1717db96d56Sopenharmony_ci exception. Applications may request a locale change in the middle of a parse. 1727db96d56Sopenharmony_ci 1737db96d56Sopenharmony_ci 1747db96d56Sopenharmony_ci.. method:: XMLReader.getFeature(featurename) 1757db96d56Sopenharmony_ci 1767db96d56Sopenharmony_ci Return the current setting for feature *featurename*. If the feature is not 1777db96d56Sopenharmony_ci recognized, :exc:`SAXNotRecognizedException` is raised. The well-known 1787db96d56Sopenharmony_ci featurenames are listed in the module :mod:`xml.sax.handler`. 1797db96d56Sopenharmony_ci 1807db96d56Sopenharmony_ci 1817db96d56Sopenharmony_ci.. method:: XMLReader.setFeature(featurename, value) 1827db96d56Sopenharmony_ci 1837db96d56Sopenharmony_ci Set the *featurename* to *value*. If the feature is not recognized, 1847db96d56Sopenharmony_ci :exc:`SAXNotRecognizedException` is raised. If the feature or its setting is not 1857db96d56Sopenharmony_ci supported by the parser, *SAXNotSupportedException* is raised. 1867db96d56Sopenharmony_ci 1877db96d56Sopenharmony_ci 1887db96d56Sopenharmony_ci.. method:: XMLReader.getProperty(propertyname) 1897db96d56Sopenharmony_ci 1907db96d56Sopenharmony_ci Return the current setting for property *propertyname*. If the property is not 1917db96d56Sopenharmony_ci recognized, a :exc:`SAXNotRecognizedException` is raised. The well-known 1927db96d56Sopenharmony_ci propertynames are listed in the module :mod:`xml.sax.handler`. 1937db96d56Sopenharmony_ci 1947db96d56Sopenharmony_ci 1957db96d56Sopenharmony_ci.. method:: XMLReader.setProperty(propertyname, value) 1967db96d56Sopenharmony_ci 1977db96d56Sopenharmony_ci Set the *propertyname* to *value*. If the property is not recognized, 1987db96d56Sopenharmony_ci :exc:`SAXNotRecognizedException` is raised. If the property or its setting is 1997db96d56Sopenharmony_ci not supported by the parser, *SAXNotSupportedException* is raised. 2007db96d56Sopenharmony_ci 2017db96d56Sopenharmony_ci 2027db96d56Sopenharmony_ci.. _incremental-parser-objects: 2037db96d56Sopenharmony_ci 2047db96d56Sopenharmony_ciIncrementalParser Objects 2057db96d56Sopenharmony_ci------------------------- 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ciInstances of :class:`IncrementalParser` offer the following additional methods: 2087db96d56Sopenharmony_ci 2097db96d56Sopenharmony_ci 2107db96d56Sopenharmony_ci.. method:: IncrementalParser.feed(data) 2117db96d56Sopenharmony_ci 2127db96d56Sopenharmony_ci Process a chunk of *data*. 2137db96d56Sopenharmony_ci 2147db96d56Sopenharmony_ci 2157db96d56Sopenharmony_ci.. method:: IncrementalParser.close() 2167db96d56Sopenharmony_ci 2177db96d56Sopenharmony_ci Assume the end of the document. That will check well-formedness conditions that 2187db96d56Sopenharmony_ci can be checked only at the end, invoke handlers, and may clean up resources 2197db96d56Sopenharmony_ci allocated during parsing. 2207db96d56Sopenharmony_ci 2217db96d56Sopenharmony_ci 2227db96d56Sopenharmony_ci.. method:: IncrementalParser.reset() 2237db96d56Sopenharmony_ci 2247db96d56Sopenharmony_ci This method is called after close has been called to reset the parser so that it 2257db96d56Sopenharmony_ci is ready to parse new documents. The results of calling parse or feed after 2267db96d56Sopenharmony_ci close without calling reset are undefined. 2277db96d56Sopenharmony_ci 2287db96d56Sopenharmony_ci 2297db96d56Sopenharmony_ci.. _locator-objects: 2307db96d56Sopenharmony_ci 2317db96d56Sopenharmony_ciLocator Objects 2327db96d56Sopenharmony_ci--------------- 2337db96d56Sopenharmony_ci 2347db96d56Sopenharmony_ciInstances of :class:`Locator` provide these methods: 2357db96d56Sopenharmony_ci 2367db96d56Sopenharmony_ci 2377db96d56Sopenharmony_ci.. method:: Locator.getColumnNumber() 2387db96d56Sopenharmony_ci 2397db96d56Sopenharmony_ci Return the column number where the current event begins. 2407db96d56Sopenharmony_ci 2417db96d56Sopenharmony_ci 2427db96d56Sopenharmony_ci.. method:: Locator.getLineNumber() 2437db96d56Sopenharmony_ci 2447db96d56Sopenharmony_ci Return the line number where the current event begins. 2457db96d56Sopenharmony_ci 2467db96d56Sopenharmony_ci 2477db96d56Sopenharmony_ci.. method:: Locator.getPublicId() 2487db96d56Sopenharmony_ci 2497db96d56Sopenharmony_ci Return the public identifier for the current event. 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_ci 2527db96d56Sopenharmony_ci.. method:: Locator.getSystemId() 2537db96d56Sopenharmony_ci 2547db96d56Sopenharmony_ci Return the system identifier for the current event. 2557db96d56Sopenharmony_ci 2567db96d56Sopenharmony_ci 2577db96d56Sopenharmony_ci.. _input-source-objects: 2587db96d56Sopenharmony_ci 2597db96d56Sopenharmony_ciInputSource Objects 2607db96d56Sopenharmony_ci------------------- 2617db96d56Sopenharmony_ci 2627db96d56Sopenharmony_ci 2637db96d56Sopenharmony_ci.. method:: InputSource.setPublicId(id) 2647db96d56Sopenharmony_ci 2657db96d56Sopenharmony_ci Sets the public identifier of this :class:`InputSource`. 2667db96d56Sopenharmony_ci 2677db96d56Sopenharmony_ci 2687db96d56Sopenharmony_ci.. method:: InputSource.getPublicId() 2697db96d56Sopenharmony_ci 2707db96d56Sopenharmony_ci Returns the public identifier of this :class:`InputSource`. 2717db96d56Sopenharmony_ci 2727db96d56Sopenharmony_ci 2737db96d56Sopenharmony_ci.. method:: InputSource.setSystemId(id) 2747db96d56Sopenharmony_ci 2757db96d56Sopenharmony_ci Sets the system identifier of this :class:`InputSource`. 2767db96d56Sopenharmony_ci 2777db96d56Sopenharmony_ci 2787db96d56Sopenharmony_ci.. method:: InputSource.getSystemId() 2797db96d56Sopenharmony_ci 2807db96d56Sopenharmony_ci Returns the system identifier of this :class:`InputSource`. 2817db96d56Sopenharmony_ci 2827db96d56Sopenharmony_ci 2837db96d56Sopenharmony_ci.. method:: InputSource.setEncoding(encoding) 2847db96d56Sopenharmony_ci 2857db96d56Sopenharmony_ci Sets the character encoding of this :class:`InputSource`. 2867db96d56Sopenharmony_ci 2877db96d56Sopenharmony_ci The encoding must be a string acceptable for an XML encoding declaration (see 2887db96d56Sopenharmony_ci section 4.3.3 of the XML recommendation). 2897db96d56Sopenharmony_ci 2907db96d56Sopenharmony_ci The encoding attribute of the :class:`InputSource` is ignored if the 2917db96d56Sopenharmony_ci :class:`InputSource` also contains a character stream. 2927db96d56Sopenharmony_ci 2937db96d56Sopenharmony_ci 2947db96d56Sopenharmony_ci.. method:: InputSource.getEncoding() 2957db96d56Sopenharmony_ci 2967db96d56Sopenharmony_ci Get the character encoding of this InputSource. 2977db96d56Sopenharmony_ci 2987db96d56Sopenharmony_ci 2997db96d56Sopenharmony_ci.. method:: InputSource.setByteStream(bytefile) 3007db96d56Sopenharmony_ci 3017db96d56Sopenharmony_ci Set the byte stream (a :term:`binary file`) for this input source. 3027db96d56Sopenharmony_ci 3037db96d56Sopenharmony_ci The SAX parser will ignore this if there is also a character stream specified, 3047db96d56Sopenharmony_ci but it will use a byte stream in preference to opening a URI connection itself. 3057db96d56Sopenharmony_ci 3067db96d56Sopenharmony_ci If the application knows the character encoding of the byte stream, it should 3077db96d56Sopenharmony_ci set it with the setEncoding method. 3087db96d56Sopenharmony_ci 3097db96d56Sopenharmony_ci 3107db96d56Sopenharmony_ci.. method:: InputSource.getByteStream() 3117db96d56Sopenharmony_ci 3127db96d56Sopenharmony_ci Get the byte stream for this input source. 3137db96d56Sopenharmony_ci 3147db96d56Sopenharmony_ci The getEncoding method will return the character encoding for this byte stream, 3157db96d56Sopenharmony_ci or ``None`` if unknown. 3167db96d56Sopenharmony_ci 3177db96d56Sopenharmony_ci 3187db96d56Sopenharmony_ci.. method:: InputSource.setCharacterStream(charfile) 3197db96d56Sopenharmony_ci 3207db96d56Sopenharmony_ci Set the character stream (a :term:`text file`) for this input source. 3217db96d56Sopenharmony_ci 3227db96d56Sopenharmony_ci If there is a character stream specified, the SAX parser will ignore any byte 3237db96d56Sopenharmony_ci stream and will not attempt to open a URI connection to the system identifier. 3247db96d56Sopenharmony_ci 3257db96d56Sopenharmony_ci 3267db96d56Sopenharmony_ci.. method:: InputSource.getCharacterStream() 3277db96d56Sopenharmony_ci 3287db96d56Sopenharmony_ci Get the character stream for this input source. 3297db96d56Sopenharmony_ci 3307db96d56Sopenharmony_ci 3317db96d56Sopenharmony_ci.. _attributes-objects: 3327db96d56Sopenharmony_ci 3337db96d56Sopenharmony_ciThe :class:`Attributes` Interface 3347db96d56Sopenharmony_ci--------------------------------- 3357db96d56Sopenharmony_ci 3367db96d56Sopenharmony_ci:class:`Attributes` objects implement a portion of the :term:`mapping protocol 3377db96d56Sopenharmony_ci<mapping>`, including the methods :meth:`~collections.abc.Mapping.copy`, 3387db96d56Sopenharmony_ci:meth:`~collections.abc.Mapping.get`, :meth:`~object.__contains__`, 3397db96d56Sopenharmony_ci:meth:`~collections.abc.Mapping.items`, :meth:`~collections.abc.Mapping.keys`, 3407db96d56Sopenharmony_ciand :meth:`~collections.abc.Mapping.values`. The following methods 3417db96d56Sopenharmony_ciare also provided: 3427db96d56Sopenharmony_ci 3437db96d56Sopenharmony_ci 3447db96d56Sopenharmony_ci.. method:: Attributes.getLength() 3457db96d56Sopenharmony_ci 3467db96d56Sopenharmony_ci Return the number of attributes. 3477db96d56Sopenharmony_ci 3487db96d56Sopenharmony_ci 3497db96d56Sopenharmony_ci.. method:: Attributes.getNames() 3507db96d56Sopenharmony_ci 3517db96d56Sopenharmony_ci Return the names of the attributes. 3527db96d56Sopenharmony_ci 3537db96d56Sopenharmony_ci 3547db96d56Sopenharmony_ci.. method:: Attributes.getType(name) 3557db96d56Sopenharmony_ci 3567db96d56Sopenharmony_ci Returns the type of the attribute *name*, which is normally ``'CDATA'``. 3577db96d56Sopenharmony_ci 3587db96d56Sopenharmony_ci 3597db96d56Sopenharmony_ci.. method:: Attributes.getValue(name) 3607db96d56Sopenharmony_ci 3617db96d56Sopenharmony_ci Return the value of attribute *name*. 3627db96d56Sopenharmony_ci 3637db96d56Sopenharmony_ci.. getValueByQName, getNameByQName, getQNameByName, getQNames available 3647db96d56Sopenharmony_ci.. here already, but documented only for derived class. 3657db96d56Sopenharmony_ci 3667db96d56Sopenharmony_ci 3677db96d56Sopenharmony_ci.. _attributes-ns-objects: 3687db96d56Sopenharmony_ci 3697db96d56Sopenharmony_ciThe :class:`AttributesNS` Interface 3707db96d56Sopenharmony_ci----------------------------------- 3717db96d56Sopenharmony_ci 3727db96d56Sopenharmony_ciThis interface is a subtype of the :class:`Attributes` interface (see section 3737db96d56Sopenharmony_ci:ref:`attributes-objects`). All methods supported by that interface are also 3747db96d56Sopenharmony_ciavailable on :class:`AttributesNS` objects. 3757db96d56Sopenharmony_ci 3767db96d56Sopenharmony_ciThe following methods are also available: 3777db96d56Sopenharmony_ci 3787db96d56Sopenharmony_ci 3797db96d56Sopenharmony_ci.. method:: AttributesNS.getValueByQName(name) 3807db96d56Sopenharmony_ci 3817db96d56Sopenharmony_ci Return the value for a qualified name. 3827db96d56Sopenharmony_ci 3837db96d56Sopenharmony_ci 3847db96d56Sopenharmony_ci.. method:: AttributesNS.getNameByQName(name) 3857db96d56Sopenharmony_ci 3867db96d56Sopenharmony_ci Return the ``(namespace, localname)`` pair for a qualified *name*. 3877db96d56Sopenharmony_ci 3887db96d56Sopenharmony_ci 3897db96d56Sopenharmony_ci.. method:: AttributesNS.getQNameByName(name) 3907db96d56Sopenharmony_ci 3917db96d56Sopenharmony_ci Return the qualified name for a ``(namespace, localname)`` pair. 3927db96d56Sopenharmony_ci 3937db96d56Sopenharmony_ci 3947db96d56Sopenharmony_ci.. method:: AttributesNS.getQNames() 3957db96d56Sopenharmony_ci 3967db96d56Sopenharmony_ci Return the qualified names of all attributes. 3977db96d56Sopenharmony_ci 398