Parsifal XML Parser is a compliant ANSI C software that verifies XML 1.0 syntax.
Parsifal is capable of document-oriented processing, including the parsing of modular documents and conforming to XML 1.0 parser standards. It supports features such as internal and external general entities, DTD parameter entities, default attributes, and much more. This makes Parsifal ideal for processing large data files and streams, as it consumes very little memory and is incredibly fast.
For applications that require a bundled parser and limited memory environments, Parsifal is a viable alternative to larger XML processing libraries such as libxml and Xerces. Its modular design makes it easy to compile and customize to support DTD validation or non-validating parsing.
However, for higher-level tools such as dom/xpath processing, other libraries may be better suited. Some key features of Parsifal include supporting various XML encodings such as UTF-8, ISO-8859-1, and US-ASCII when compiled with GNU libiconv support. It also supports EUC-JP, SHIFT_JIS, and ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}.
Keep in mind that Parsifal does have some limitations, such as not fully checking PublicID legal characters or XML Namespaces 1.0 duplicate URIs. It also allows some illegal placement for parameter entity references and does not yet implement validation of TokenizedType attributes or checking for the existence of valid NOTATIONs. Additionally, it does not check non-determinism of content models in validating mode.
Overall, Parsifal is an excellent choice for those in need of a fast and resource-efficient validating XML parser. The most recent release fixed issues with GCC 4 and improved the configuration script.
Version 1.0.0: N/A