Parsifal XML Parser 1.0.0 reviewDownload
Parsifal is a validating XML 1.0 parser written in ANSI C
Parsifal is a validating XML 1.0 parser written in ANSI C. Parsifal API is based on SAX2.
Parsifal can be used for parsing XML based messages (such as REST and RSS) and for application specific data processing e.g. config files, data files etc. Parsifal can also be used for document-oriented processing (e.g. XHTML xhtml1-transitional.dtd) and for parsing modular documents because it is conforming XML 1.0 parser and it supports features like internal and external general entities, DTD parameter entities and default attributes etc. Parsifal is ideal for processing large data files and streams since it's SAX based and consumes very little memory not to mention it is fast enough for most purposes 'cos it's written in C.
Using Parsifal in place of large XML processing libraries (e.g. libxml, xerces) or even in the place of small Expat (which doesn't support DTD validation) can be justified for limited memory environments and in applications requiring bundled parser; because of its modular design parsifal can be easily compiled to support DTD validation or to perform only non-validating parsing etc. If you need higher level tools, for example dom/xpath processing, you should look for other libs of course.
Here are some key features of "Parsifal XML Parser":
PublicID legal chars aren't fully checked
XML Namespaces 1.0 duplicate URIs aren't checked
Allows some illegal placement for parameter entity references (see conformance test results)
Validation of TokenizedType attributes (e.g. ID) are not yet implemented nor checking for existence of valid NOTATIONs etc.
Doesn't check non-determinism of content models in validating mode
Supported XML encodings
When compiled with GNU libiconv support:
UTF-16, UCS-2, UTF-32, UCS-4
What's New in This Release:
This release fixes GCC 4 issues and polishes the configuration script.
Parsifal XML Parser 1.0.0 search tags