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 2002.08.25 Available
Date Sun, 25 Aug 2002 21:05:11 GMT
It's been a long time since the last release of the CyberNeko
Tools for XNI. (I hope it's worth the wait. :) I wanted to
release a lot early than this but I've been pretty busy --
you know how that goes... Anyway, I'm now pleased to announce
that the CyberNeko Tools for XNI 2002.08.25 is now available!

This release of NekoXNI has a few cosmetic changes; includes
a bunch of bug fixes and some added features for NekoHTML;
and adds a new pull-parsing API for XNI, called NekoPull!

Cosmetic Changes

I changed the packaging for *all* of the CyberNeko tools so
that the archive's base directory contains the name of the
product and version. Finally, no more accidentally untarring
the packages to find that it's dropped everything into your
current directory! It annoyed me, too, but I was too lazy
to fix it before now. ;)

Updates to NekoHTML

I fixed a bunch of bugs and added some features to NekoHTML
for this release, including:

   * Updated HTMLConfiguration to implement the XNI
     XMLPullParserConfiguration interface; (I don't know
     why it didn't implement it already...)
   * Fixed bug related to handling of <col> elements;
   * Fixed bug that would skip to end of document when
     seeing bad markup;
   * Fixed numerous bugs related to scanning <script>
     tags and added feature to strip comment delimiters
     ("<!--" and "-->") from <script> contents;
   * Upgraded status of dynamically inserting content
     feature from "experimental" to "supported"; and
   * Added regression tests and fixed minor bugs found
     by the regression tests.

The first item on the list really isn't that big of a
deal. However, with the addition of the NekoPull API, it's
good to be able to use the HTML parser configuration as a
pull parser configuration.

And besides the various bug fixes and minor features
added, the big news is the regression tests added in
this release. I always had test files but I didn't have
any way to automatically test them. So this time around
I made some "canonical" files and wrote an Ant task to
parse the test files, generate the canonical output,
and compare that against the expected results.

I immediately found and fixed some bugs that were
discovered by the new tests. (Repeat to self: tests
are a good thing.) If you want to run the tests your-
self, type the following command on Windows (assuming
that you have everything setup for building):

   > build.bat -f build-html.xml test

And finally, I am happy to announce the...

CyberNeko Pull Parser

Awhile ago I was talking about wanting to design a
pull-parsing API and I'm sorry that it took me so long
to release it. But I wanted to wait until I had some
good documentation to go with it. The docs can still
use some work but it's good enough for a first pass.

Why design yet another pull-parsing API for XML? There
were a few reasons: 1) I've studied some of the other
pull-parsing API designs and decided that I didn't like
them for one reason or another; and 2) I wanted to
experiment with extending the Xerces Native Interface
to add pull-parsing functionality.

The interest in pull-parsing has increased dramatically
over the past year or so. For example, acouple efforts
that were advancing in parallel combined forces to make
the XMLPull API. In addition, JSR 173 was kicked off to
design a pull-parsing API for Java. It should be clear
enough to the Xerces development community that some
form of XML API for pull-parsing will need to be
implemented in Xerces.

Therefore, I decided to design (yet another) pull-parsing
API. It is my hope that this design can act to spark more
discussion regarding this topic and then we can use that
knowledge to drive the NekoPull API forward or contribute
our expertise towards a standard pull-parsing API.

I don't want to go into too much detail here (you can
read the documentation for that) but the key points that
I wanted to focus on with the NekoPull design were:

   1) Designed for Xerces Native Interface;
   2) "Object Oriented" using hierarchy of objects
      to represent document information; and
   3) Simple yet complete API for access to document

The design itself builds on the framework provided
by XNI but its implementation doesn't have to be tied
to the Xerces2 reference implementation. However...
to avoid writing a "native" NekoPull parser, I am
currently using the Xerces2 implementation to drive
the pull-parsing. For best performance, a parser
written directly to the API should be implemented.

                        * * *

Anyway, you can download the latest NekoXNI tools from
my Apache web page. Here is the link:



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