Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

DOM Level 3 implementation in REBOL: evaluators sought

 [1/8] from: rudolf::meijer::telenet::be at: 12-Mar-2008 19:39


This is to announce the completion of a REBOL implementation of the DOM Level 3 interfaces defined by the World Wide Web consortium (W3C, see http://www.w3.org/DOM/), notably the Core, XML, Load and Save, and Validation modules, with certain restrictions and deviations, related mostly to the capabilities of the programming language and operating system used (REBOL 2 under Windows XP and later). To quote the W3C: The DOM or Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents, in particular XML documents. The present DOM implementation is a specific language binding of the abstract API, or Application Programming Interface, specified by the W3C. Subject to the restrictions and deviations detailed in the User Manual, both XML versions 1.0 and 1.1 are supported, with Namespaces. The implementation omits a number of data types, interfaces, attributes and methods which are either considered to be of little value for the general user, or not applicable because of other implementation choices. I am interested in having this implementation evaluated by REBOL users who develop sophisticated XML applications. I can make available a package containing a Graphical User Interface (GUI) for loading, parsing, serializing and validating XML texts, and for processing the parsed/validated document tree through user scripts, that can exploit all objects, attributes and methods of the implementation. Both the implementation and the GUI are extensively documented. The GUI uses RebGUI from Dobeash Software (www.dobeash.com/rebgui). The package comes as a ZIP file with the following contents: DOMLevel3.exe (combined GUI + interfaces) DOM-Impl-manual.doc (Word file containing the interface documentation and example applications) DOM-GUI-manual.doc (Word file containing the GUI documentation and an example user script) readme.txt The executable file does not need any installation or other files to run. As it is an evaluation copy, it will stop running after a fixed period of time (3 months). Reactions to me please: Rudolf W. MEIJER mailto:rudolf.meijer-telenet.be http://users.telenet.be/rwmeijer/

 [2/8] from: moliad:gm:ail at: 13-Mar-2008 13:25


one word, WOW. I did a XML/Schema based XML validator last year and can appreciate how much work this must have been! just reading through the 80 pages of W3C XML schema specification was daunting... Implementing the whole DOM, this is very good new for the rebol platform. I see you encapped the project, is there a reason why it is not open source? do you intend on opening it at some point? --MAx On Wed, Mar 12, 2008 at 2:39 PM, Rudolf W. MEIJER <rudolf.meijer-telenet.be> wrote:

 [3/8] from: gregg:pointillistic at: 13-Mar-2008 11:34


Hi Rudolf, Sounds very cool. I hope some people can help test it for you. I'll try to make time in the near future myself. -- Gregg

 [4/8] from: nick1:musiclessonz at: 13-Mar-2008 11:15


Yes, impressive! I'd be willing to help, as my time and ability permits, but I have to warn that I'm not of the ilk of guys like Gregg, Max, or the other Rebol gurus... Quoting Maxim Olivier-Adlhoch <moliad-gmail.com>:

 [5/8] from: rudolf::meijer::telenet::be at: 13-Mar-2008 19:40


Thanks for the compliment but wait till you see it :-) (do you want a copy?). My implementation is DTD based and has certain (hopefully not too serious) restrictions for efficiency reasons. But I have sought to do almost all the checks that are indicated in the recommendations. It was fun, actually, and REBOL is the ideal vehicle for such manipulations. The interfaces, as packed with a testing harness (GUI) are not encapped in the REBOL sense, they are made into a self-extracting executable with XPackerX. The reason is that I in a first round, I wanted to address the XML community mainly (I have also published on news:comp.text.xml) and did not want to bother people with 13 source files (including RebGUI). If this project stands up under testing, I may decide to publish the source. Some of the techniques are quite interesting, in fact I found myself using parse for a variety of manipulations that in a previous life (before I knew REBOL) I would have solved differently. A simple example: the spec says that XML attribute values that are not of CDATA type should be normalized by removing leading and trailing spaces and collapsing multiple spaces to single ones. This is accomplished by the one-liner attr-value: form parse attr-value none Beat that, you other languages! Rudolf

 [6/8] from: moliad::gmail::com at: 13-Mar-2008 20:41


hi Rudolf, I wish I had more time, realy, I feel I'm one of the more knowledged people on using rebol in the XML sphere, but currently, I am under pretty high load on many fronts.. I can't promise anything... but ... I often spend time (sometimes turning into "I waste time" ;-) on quick and self contained projects, out of the blue, just to tease my mind and change beat, in order to break the tediousness of long-winded projects. Is there a public place you might put your efforts, so that we might take a peek at it on moments notice? I can almost guarantee that no reboler will bash against your efforts (if that is a reason you keep from putting it online publicly), all of those I have met (many in person) are very nice and generous people. -MAx On Thu, Mar 13, 2008 at 2:40 PM, Rudolf W. MEIJER <rudolf.meijer-telenet.be> wrote:

 [7/8] from: santilli:gabriele::gmail at: 14-Mar-2008 10:26


On Thu, Mar 13, 2008 at 7:40 PM, Rudolf W. MEIJER <rudolf.meijer-telenet.be> wrote:
> attr-value: form parse attr-value none >> trim/lines " too many spaces ^/ and so on "
== "too many spaces and so on" HTH, Gabriele.

 [8/8] from: rudolf::meijer::telenet::be at: 14-Mar-2008 15:52


Thanks! Goes to show that REBOL can only be beaten by even smarter REBOL. Hurray for REBOL! Rudolf