Apache Xerces

{{Infobox software

| name = Apache Xerces

| logo = Apache Xerces logo.svg

| logo caption =

| screenshot =

| caption =

| developer = Apache Software Foundation

| latest release version = 2.12.2 (Xerces J)
3.2.3 (Xerces C++)

| latest release date = 24 January 2022 (Xerces J)
10 April 2020 (Xerces C++)

| latest preview version =

| latest preview date =

| programming language =

| operating system = Cross-platform

| genre = XML parser library

| license = Apache License 2.0

| website = {{URL|//xerces.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).

{{cite book

| last1 = Benz

| first1 = Brian

| last2 = Durant

| first2 = John

| title = XML Programming Bible

| date = 7 May 2004

| url = https://books.google.com/books?id=fsR0qWu2glcC

| publisher = John Wiley & Sons

| publication-date = 2004

| page = 87

| isbn = 9780764555763

| access-date = 2014-10-01

| quote = Apparently, the parser was named after the now extinct Xerces blue butterfly, a native of the San Francisco peninsula.

}}

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.{{cite web

| url=https://xerces.apache.org/#xerces-p

| title=Apache Xerces Perl

| publisher=xerces.apache.org

| access-date=2019-12-08

| quote=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.

}}

class="wikitable"
width=60| Language

!width=110| Release Date

!width=60| Version

Java2022-01-242.12.2
C++2020-04-103.2.3
Perl2014-04-302.7.0

Features

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

class="wikitable" style="width:90%;"
style="width:40%;"|Featurestyle="width:20%;"|Java{{cite web

| url=http://xerces.apache.org/xerces2-j/

| title=Features

| publisher=xerces.apache.org

| access-date=2019-12-08

}}

style="width:20%;"|C++{{cite web

| url=http://xerces.apache.org/xerces-c/

| title=Features

| publisher=xerces.apache.org

| access-date=2019-12-08

}}

style="width:20%;"|Perl
eXtensible Markup Language (XML) 1.0 Fourth Edition Recommendation{{yes}}{{partial}}{{ref|xml10}}{{partial}}{{ref|xml10}}
eXtensible Markup Language (XML) 1.1 Second Edition Recommendation{{yes}}{{partial}}{{ref|xml11}}{{partial}}{{ref|xml11}}
Namespaces in XML 1.1 Second Edition Recommendation{{yes}}{{partial}}{{ref|namespace10}}{{partial}}{{ref|namespace10}}
Namespaces in XML 1.0 Second Edition Recommendation{{yes}}{{partial}}{{ref|namespace11}}{{partial}}{{ref|namespace11}}
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

{{Reflist}}

Notes

  • {{note|xml10}} Implemented third edition.
  • {{note|xml11}} Implemented second edition. Section 2.13 Normalization Checking has not been implemented.
  • {{note|namespace10}} Implemented first edition.
  • {{note|namespace11}} Implemented first edition.