Battery Markup Language (BatML) Standard
XML Tools
XML Viewers and Editors
As stated before, most Internet browsers can be used to view and navigate XML documents. Since XML Schema is an XML document itself, it can also be viewed in the browser. You can try the link for current MatML schema to see if your browser supports its XML schema document (XSD) display and navigation.
XML documents are text files so that every plain text editor will be able to open the files. The tags in the XML document should help with description of the syntax, although after about a hundred lines, a simple text editor will become very error-prone for serious editing. Advanced software development editors, such as Emacs, or XML-specific editors, such as Aptana Studio, and Serna XML Editor, will help with direct XML editing. To re-iterate, the goal of BatteryML is also to develop tools for the XML file editing and manipulation, so that direct editing of XML files would not be necessary.
Related XML Technologies
The W3C web site for XML Technology has the list of standards that are used in XML. Several of them are directly relevant to the BatteryML project.
EXtensible Stylesheet Language ( XLS ), and XSL Transformations ( XSLT ), can be used to transform documents between XML formats and to other formats, as well.
The XSLT Tutorial provides a good introduction to the concept. Suggested books on XSLT are:
- XSLT, 2nd Edition
- XSLT 2.0 and XPath 2.0 Programmer's Reference
- XSLT Cookbook: Solutions and Examples for XML and XSLT Developers, 2nd Edition
XQuery is the query programming language in the spirit SQL that is designed to query collections of XML data. Suggested book is XQuery.
Commonly used toolset for XML data manipulation using XSLT and XQuerry is available at the SAXON project page.
XML Schema Editors and XML Schema-based XML Editors
XML Schema editors are focused on editing of XML Schemas. You can think of them as editors for rules that are imposed on the XML documents. oXygen is XML Schema editor that generates graphical diagrams to simplify understanding, designing and editing of data models using XML Schemas.
XAmple is a XML-based editor that analyzes a given schema and then generates a document-specific graphical user interface (GUI). The GUI includes both the tree representation of the XML data as well as the restrictions embedded in the XML Schema.
XML Libraries
Numerous software libraries are available for development of applications for parsing, editing and manipulation of XML documents. Commonly used library is libXML. Libxml is the XML C parser and toolkit that is used as a basis for other libraries and modules. Another widely used C-based library is Expat. Many modules and libraries derived from the basic XML libraries have been implemented in Perl, Python and PHP and other scripting languages. They are too numerous to list here.