Keyring Labs Logo

Opening Doors With Software

Latest news

Sep 24 2009: Launch of bbpointofsale.com Full credit card processing capabilities for the BlackBerry mobile device.

Oct 13 2006: ShowStream 1.5 Release ShowStream 1.5 brings higher quality audio and features that make it easier to use.

Aug 22 2006: AskUs 2.0 Release AskUs 2.0 has many new features and now runs on Mac OSX and Linux.

Jul 29 2006: ShowStream 1.0 Release ShowStream lets music groups or businesses broadcast live audio to a large audience on a regular basis for a very low price.

Quick Links:

OISV - Organization of Independent Software Vendors - Contributing Member
JSXML XML Tools

JSXML is a library of XML tools. Originally written by Peter Tracey, it was released under the LGPL open-source license in July, 2001.

JSXML includes
  • REXML - a light-weight regular expression-based XML parser
    • Gives you programatic access to XML documents.
    • Integrates with the JSXMLBuilder and JSXMLIterator
    • The fastest JavaScript XML Parser available
  • REXML Lite - a stripped down version of REXML
    • Whitespace has been removed and internal variables renamed - file size is 1.9 KB!
    • No support for text, cdata, and pi elements (however text is still accessible through the text property of an element).
    • Text property of elements doesn't include text of that element's children
    • Interchangable with REXML, as long as no unsupported functions are accessed
  • JSXMLBuilder - a flat interface to modify XML
    • JSXMLBuilder makes it easier to program GUIs that leverage the flexibility of XML
      To tree or not to tree?
      Most APIs for XML use a tree structure, which initially seems to be the right approach given that XML is itself tree-stuctured. However, anyone who has built a user interface which uses XML via MSXML or another tree-structured API knows as soon as there are several user actions that result in XML modifications, the code quickly become unmanageable. Therefore the JSXMLBuilder object takes the tree structure from REXML and makes it accessbile with a flat interface. The childElement and parentElement methods are still available, but there are many other ways to access and manipulate elements, making it very convenient to alter pieces of the XML directly from events in the GUI, without navigating through the API hunting for elements.
    • Text is not stored as a child element, and there is no support for comment, cdata, and pi type elements. Text is accessed and writable through the text property of an element.
  • JSXMLIterator - a tool to iterate the tree structure of a REXML object without using recursion