LlamaXML™ - a lightweight, cross platform XML parser library suitable for handheld devices
Download LlamaXML for evaluation
Quick Start Guide
API reference
Version 1.0, updated November 12, 2005.
LlamaXML Product Description
In order to support our own Palm OS development of our commercial product Life Balance, Llamagraphics has created a lightweight, small, cross platform XML parser library file suitable for use on Palm OS, Windows Mobile 5, Macintosh and Windows platforms. The LlamaXML library supports compilers for CodeWarrior on Macintosh, CodeWarrior for Palm OS, the Palm OS Developer Suite (PODS), Xcode on Macintosh, Visual Studio 2005 for Windows Mobile 5, and Visual Studio 2003 for Windows.
This library will benefit developers who are looking for a stable, very small, XML library to use in their C++ projects that supports the major features of the XML standard without supporting every possible feature. In order to keep the library small enough for handheld applications, LlamaXML does not provide XML validation, XML Schemas, Document Type Definitions (DTD), and MoveToAttribute methods (Use GetAttribute instead). There is also no support for external entities. LlamaXML only supports the basic four named character entities, which are """, "<", ">", and "&".
On input, LlamaXML does support whatever character encodings are supported on the platform. The Output is always in "UTF-8." LlamaXML also supports XML Namespaces.
Because the design goal of the LlamaXML library is to be very small, not necessarily to be fully featured, if you need features that the LlamaXML library does not support, and you can afford the footprint and overhead for a larger library, we recommend that you check out the Apache Xerces library or the Libxml2 library instead.
We are not adverse to adding features to the LlamaXML library if it can be done in such a way that they can be optionally turned off for users who do not need them. So, get in touch if you have a particular need for something.
Licensing Model for LlamaXML
LlamaXML uses a "dual licensing" business model. Under this model, users may choose to use the LlamaXML library products under the free software/open source GNU General Public License (commonly known as the "GPL") or under a commercial license.
With the GPL license, LlamaXML is available free of charge. Developers may download the software for free and modify, integrate and distribute it. However, GPL users must abide by the rules of the GPL, which say that if a LlamaXML-based application is redistributed, the complete source code for this application must also be open and available for redistribution.
Llamagraphics also offers a commercial license of the library for organizations that do not want to release the source code for their application. Commercial license customers get a commercially supported product from Llamagraphics, without the requirement that their software that uses our library must be "open sourced". Llamagraphics is able to provide a commercial license because it has full ownership of the LlamaXML source code.
LlamaXML's dual licensing increases programming flexibility in two ways: first, it encourages the use of open source software by licensing under the GPL license; second, it makes it possible to use our software in situations where the GPL is not desirable.
The dual licensing creates a way for us to sustain and support the library, while still giving back to the open source community from which Llamagraphics has directly benefitted. We are particularly grateful to the open source community for tools that we've used in developing our web site.
FAQ -- Frequently Asked Questions for LlamaXML
- How do I use the library and are there any hints or techniques that you recommend?
- First off, download the library and take a look at it. The project is hosted at Berlios, which is a site that supports Subversion. The documentation includes a Quick Start Guide, and an API reference and we'll add more information as we go along as we see what people actually need in practice.
- How do I know which license to use?
- If you use LlamaXML with GPL-licensed software (or a license that is GPL-compatible) we encourage you to use the GPL license. For all other users of LlamaXML, we recommend that you purchase a commercial license. You can evaluate the LlamaXML library and examine its source code under the GPL License, and then purchase a Commercial license when you have accepted the library for use in your products. You must purchase a commercial license if you do not plan to release the source code for your products.
- Are other companies using the dual licensing business model?
- Yes, the dual licensing business model is becoming increasingly popular. MySQL is one example of a very popular open source database that uses a similar kind of license model.
- What is the pricing for the LlamaXML Commercial licenses?
- Single Application License -- $125 US
- Covers use of the library in one executable application, includes one technical support incident.
- Company wide license -- $350 US
- Covers use of the library in multiple executable applications created by one company or organization. Includes 3 support incidents.
- Additional support incidents -- $50 per incident.
- You can pay for additional support incidents for $50 each to cover any support needs beyond that covered by your commercial license. If you are using the GPL license and need support you can also purchase a support incident.
- How do I purchase a LlamaXML commercial license or support incident?
- Our eCommerce site is currently set up only to handle our Life Balance product line. Nevertheless, we can accept credit card transactions for LlamaXML, checks or PayPal payments. Contact us by opening a ticket at our support center, and we'll send you payment details so that we can process your order manually and handle the transaction.
- http://www.llamagraphics.com/support-center/
- Please use the LlamaXML category, or use LlamaXML in the subject of your message to us, so that we can direct your questions appropriately.
- What are good Reference sites for details on XML standards?
- http://www.w3.org/TR/REC-xml/
- http://www.dotgnu.org/
- http://www.dotgnu.org/pnetlib-doc/System/Xml/Xml.html
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXml.asp