From: Tobias Reif Date: 2001-11-14T01:13:37+09:00 Subject: [ruby-talk:25024] Re: XML support in the standard lib; what exactly? Bob Hutchison wrote: > It is also important that DTDs are handled correctly. DTDs are not just for > validation, for example, they define default values, certain types (e.g. > ID), and parsed entities (there is something about this in the XML 1.0 > spec). These are all necessary even without validation. yep. All this is detailed in the XML spec. I said: "Any XML parser should conform 100% with the XML rec" and since we're talking about a non-validating parser, the respective rules apply. http://www.w3.org/TR/REC-xml.html#proc-types "Non-validating processors are required to check only the document entity, including the entire internal DTD subset, for well-formedness. [Definition: While they are not required to check the document for validity, they are required to process all the declarations they read in the internal DTD subset [...]" > Swapping parsers is good, but you don't need DOM or SAX to do this (actually > I think you are probably talking about what JAXP does for Java). A standard > RubyWay with swappable parsers would be OK. Sure; only that it has to be well-defined and stable then, with a well-defined process and versions :) > This is a lot of work. I'm wondering if you've thought about the approach > you might take to get to a useful parser quickly? In http://www.ruby-talk.com/cgi-bin/scat.rb/ruby/ruby-talk/24801 I wrote "To get an XML treeparser in Ruby, plus DOM and DOM like APIs, XML writers and more, I suggest to form something like a special interest group, with invited XML implementation experts from the Java (xml.apache.org, Python, Perl, etc) world(s). Full XML implementations exist for example in Java. XML savvy Ruby wizards (I'm still anewbie :( ) could translate their source to Ruby; voila, some candidates for the standard lib. Xalan, Xerces, Saxon, ..." Tobi -- Tobias Reif http://www.pinkjuice.com/myDigitalProfile.xhtml go_to('www.ruby-lang.org').get(ruby).play.create.have_fun http://www.pinkjuice.com/ruby/