xml-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Clark <an...@apache.org>
Subject [Announce] CyberNeko Tools for XNI
Date Sat, 15 Jun 2002 15:19:36 GMT
The CyberNeko Tools for XNI

I'm pleased to announce the first release of the CyberNeko
Tools for XNI (NekoXNI). This is a collection of XML tools
written specifically to take advantage of the XNI framework
that is the foundation of the Xerces2 implementation. I
wrote the tools to illustrate the power and flexibility of
the XNI framework as well as provide useful tools for XML
application developers.

In This Release

The first NekoXNI release (2002.06.15) contains the
following XNI tools:

   1) HTML Parser (NekoHTML 0.6.4)
   2) DTD Convertor (NekoDTD 0.1)

The CyberNeko HTML Parser

Most people are already familiar with the NekoHTML parser
that I've been developing throughout this year. The first
NekoXNI collection includes a new version of NekoHTML with
the following changes:

   * Rearranged package for integration into NekoXNI; and
   * Fixed a number of bugs reported by users.

It's really not all that different from the last version
since it seems pretty stable and usable as it is.

The CyberNeko DTD Converter

The newest tool to be added (and the reason why I decided
to collect all the tools together) is NekoDTD. This tool
implements a DTD parser using the XNI framework and the
Xerces2 DTD scanner implementation to be able to parse
DTD files and emit an XML document representation of the

The tool is comprised of only one main source file,
org.cyberneko.dtd.DTDConfiguration, and two convenience
classes to expose the configuration as DOM and SAX
parsers. This makes it easy for application developers
to parse DTDs and access the grammar information with
standard, well-known programming interfaces.

The output document follows a format that I made up
called "DTD for XML" (DTDx) which directly maps the XNI
callbacks from the XMLDTDHandler and XMLDTDContentHandler
interfaces to XML elements. If you are familiar with
these interfaces then the output from the tool will be
easy to understand. Even if you're not, it's pretty

In case you're wondering how a single source file can be
so useful, I have included a number of XSLT stylesheets
with the package that allow you to convert existing DTDs
to other formats. Included is a stylesheet to take the
DTDx document and convert it to a "flattened" DTD. This
allows you to take a DTD that has been broken up into a
series of modules (e.g. DocBook) and output all of the
declarations into a single file.

But perhaps more interesting to users is the stylesheet
that converts DTDx to XML Schema. Using the XSLT
stylesheets provided with NekoDTD, you can convert
existing DTDs to equivalent XML Schema grammars. Very

NOTE: To make writing the stylesheet that actually does
       the conversion easier (and faster to process), the
       tool actually requires the generated DTDx document
       to be flattened first. This removes all of the
       extraneous levels of elements caused by the
       occurrence of parameter entities, etc. But don't
       worry, the stylesheet to do this is also included.

Download Information

You can download the NekoXNI tools separately or
together in either .zip or .tar.gz formats. To use
the tools you'll also need Xerces2 and Xalan which
are not included with the downloadable packages.
(But you've already got the latest versions of those
on your system, right? :)

Here is the location for the NekoXNI tools:


To download the tools separately, follow the links
from this page to each individual tool's page. There
will be a link to download the tool under the section
titled "Download".


I have a request to make for new users of the NekoDTD
tool -- I'm looking for people to write stylesheets
to convert the DTDx format to other grammars, such as
Relax, Trex, RelaxNG, etc. If you would like to write
any stylesheets to be included in a future release of
the tool, please let me know. Thanks!

That's All For Now

I plan on updating the existing tools and adding new
tools as time permits. But I'll announce them here
when they're available.


Andy Clark * andyc@apache.org

In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          general-unsubscribe@xml.apache.org
For additional commands, e-mail: general-help@xml.apache.org

View raw message