Apache Xerces

Apache Xerces
Developer(s)Apache Software Foundation
Stable release
2.12.2 (Xerces J)
3.2.3 (Xerces C++) / 24 January 2022 (Xerces J)
10 April 2020 (Xerces C++)
Operating systemCross-platform
TypeXML parser library
LicenseApache License 2.0
Websitexerces.apache.org

In computing, Xerces is Apache's collection of software libraries for parsing, validating, serializing and manipulating XML. The library implements a number of standard APIs for XML parsing, including DOM, SAX and SAX2. The implementation is available in the Java, C++ and Perl programming languages.

The name "Xerces" is believed to commemorate the extinct Xerces blue butterfly (Glaucopsyche xerces).[1]

Xerces language versions

There are several language versions of the Xerces parser:

  • Xerces2 Java, the Java reference implementation
  • Xerces C++, a C++ implementation
  • Xerces Perl, a Perl implementation. This implementation is a wrapper around the C++ API.[2]
Language Release Date Version
Java 2022-01-24 2.12.2
C++ 2020-04-10 3.2.3
Perl 2014-04-30 2.7.0

Features

The features supported by Xerces depend on the language, the Java version having the most features.

Feature Java[3] C++[4] Perl
eXtensible Markup Language (XML) 1.0 Fourth Edition Recommendation Yes Partial[1] Partial[2]
eXtensible Markup Language (XML) 1.1 Second Edition Recommendation Yes Partial[3] Partial[4]
Namespaces in XML 1.1 Second Edition Recommendation Yes Partial[5] Partial[6]
Namespaces in XML 1.0 Second Edition Recommendation Yes Partial[7] Partial[8]
XML Inclusions (XInclude) Version 1.0 Second Edition Recommendation Yes Yes Yes
Simple API for XML (SAX) Yes Yes Yes
Streaming API For XML (StAX) Yes No No
DOM Level 2 Core Specification Yes Yes Yes
DOM Level 2 Traversal and Range Specification Yes Yes Yes
Document Object Model (DOM) Level 3 Core, Load and Save Yes Yes Yes
Element Traversal Specification Yes Yes Yes
XML Schema 1.0 Structures and Datatypes Yes Yes Yes
XML Schema 1.1 Structures and Datatypes Yes No No
XML Schema Definition Language (XSD): Component Designators (SCD) Yes No No
Java APIs for XML Processing (JAXP) 1.4 Yes No No

See also

References

  1. ^ Benz, Brian; Durant, John (7 May 2004). XML Programming Bible. John Wiley & Sons (published 2004). p. 87. ISBN 9780764555763. Retrieved 2014-10-01. Apparently, the parser was named after the now extinct Xerces blue butterfly, a native of the San Francisco peninsula.
  2. ^ "Apache Xerces Perl". xerces.apache.org. Retrieved 2019-12-08. XML::Xerces is the Perl API to the Apache project's Xerces XML parser. It is implemented using the Xerces C++ API, and it provides access to most of the C++ API from Perl.
  3. ^ "Features". xerces.apache.org. Retrieved 2019-12-08.
  4. ^ "Features". xerces.apache.org. Retrieved 2019-12-08.

Notes

  • ^ Implemented third edition.
  • ^ Implemented second edition. Section 2.13 Normalization Checking has not been implemented.
  • ^ Implemented first edition.
  • ^ Implemented first edition.