TinyXML

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
TinyXML
DeveloperLee Thomason
Stable release
11.0.0 / March 15, 2025; 15 months ago (2025-03-15)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC++
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    TypeAPI
    Licensezlib License
    Websiteleethomason.github.io/tinyxml2/index.html

    TinyXML is a small, simple, operating system-independent[1] XML parser for the C++ language.[2] It is free and open source software, distributed under the terms of the zlib License.[3]

    Features

    [edit | edit source]

    The principal impetus for TinyXML is its size, as the name suggests. It parses the XML into a DOM-like tree. It can both read and write XML files.

    It is written in C++98, and does not rely on the C++ Standard Library. It makes no use of exceptions or run-time type information.

    TinyXML-2 improves on TinyXML-1 and replaces it entirely, using less memory, less allocations, and having faster performance. TinyXML-2 further improved on the library's usability for applications with minimal XML requirements, such as video games.

    Limitations

    [edit | edit source]
    • TinyXML is minimalistic, and is not W3C standards-compliant, or comprehensive like Simple API for XML, and not ideal for browsers or any application requiring complete XML coverage.
    • TinyXML does not process DTDs, either internal or external. So XML files that rely upon DTD-defined entities will not parse correctly in TinyXML.
    • Though it does handle processing instructions, it has no facilities for handling XSLT stylesheet declarations. That is, it does not apply an XSLT declared in a stylesheet processing instruction to the XML file when parsing it.
    • Further, TinyXML has no facility for handling XML namespaces. Qualified element or attribute names retain their prefixes, as TinyXML makes no effort to match the prefixes with namespaces.
    • In terms of encodings, it only handles files using UTF-8 or an unspecified form of ASCII similar to Latin-1.

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').