TinyXML

{{Infobox software

| name = TinyXML

| developer = Lee Thomason

| latest release version = 10.0.0

| latest release date = {{Start date and age|2023|12|31}}

| genre = API

| license = zlib License

| website = {{URL|https://leethomason.github.io/tinyxml2/index.html}}

}}

TinyXML is a small, simple, operating system-independent{{Cite web |title=TinyXml Main Page |url=https://github.com/leethomason/tinyxml2 |quote=It is written in OS independent C++.}} XML parser for the C++ language.{{Cite book |title=Beginning Game Programming: A GameDev.net Collection (Course Technology Cengage Learning) |last=Drew Sikora, John Hattan |isbn=978-1-59863-805-9}} It is free and open source software, distributed under the terms of the zlib License.{{Cite web |title=TinyXml Documentation |url=https://github.com/leethomason/tinyxml2/blob/master/LICENSE.txt |quote=TinyXML is released under the ZLib license}}

TinyXML-2 replaces TinyXML-1 completely and only this version should be used.

Features

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.

Limitations

  • 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