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
| 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 | ||
---|---|---|
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.
class="wikitable" style="width:90%;" | |||
style="width:40%;"|Feature | style="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.
External links
- [//xerces.apache.org/ Apache Xerces Project home]
{{Apache Software Foundation}}
Category:Java (programming language) libraries