Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upImplement an XML parser #3319
Implement an XML parser #3319
Comments
|
@jdm Might want to add this to the list of projects for NCSU :) |
|
This is already on the list for the students (project page). Please talk to me before commencing any work. |
|
Question is if we should implement XML1.0 4th ed (as other browsers currently do), or XML5. (cc @annevk) |
|
+1 to experimenting with XML5. @annevk, what’s the spec’s status? |
|
https://code.google.com/p/xml5/ is the latest. The whole thing is pretty straightforward, although the tokenizer is large due to doctypes. I guess you could attempt something simpler for doctypes as an initial take. Perhaps ask @hsivonen whether he still thinks this is the right way forward. And maybe @tabatkins. I believe Google had some other ideas for the future of XML. On the other hand, I guess it can't hurt to experiment. |
|
I think it makes sense for Servo to implement XML5/XML-ER. It would be sad to add another Draconian XML parser to the world. OTOH, I think people who suggest removing XML from the Web Platform are way overoptimistic about the prospect. It's not just XHTML, but SVG and the XML part of XHR, too. |
|
SVG is very receptive to moving to non-draconian XML; we're still trying to just merge into HTML parsing. Definitely go forward on this. |
|
Hi, I'm interested in helping with adding XML5 to html5ever. Are there any guidelines for contributors? |
|
@Ygg01: Not much in the way of formal guidelines yet but I'd love to have your help! You can find me anytime as |
|
I believe @Ygg01 has most of the XML5 tokenizer implemented, which is most of the work to support XML5 overall. |
|
With regards to existing non-XML5 parsers, the ones for consideration are xml-rs, RustyXML, and Rust bindings to libxml2 (which are quite out of date). |
|
Using Rust bindings for a parser implemented in a memory-unsafe language, e.g. libxml2, seems contrary to the safety goals related to using Rust in the first place. |
Stuff like parsing fetched
XMLDocuments and SVG/MathML need an XML parser.You may be able to be able to re-use some of the stuff from our HTML parser (incomplete).