XML/DOM Developer Chat
with Nisheeth Ranjan and Vidur Apparao


<nisheeth> so, how about each of you typing in a line about yourself and how you got involved with mozilla...
<chrisn> My name is chris nelson, and I run mozillaZine
<kerz> ok
<nisheeth> I'm nisheeth, and I work on XML and layout in the Gecko team.
<kerz> My name is Jason Kersey, and I am the other mozillaZine admin.
<Aspirin> I'm adam, a Random Web Developer.
<Tekhir> I'm Jeremy, I'm also a web developer
<``es_> i'm eric, i'm just an end user who will one day learn c/c++ and maybe work on mozilla
<MattyT> My name is Matthew, and my job is to annoy Netscape developers with lots of RFEs in Bugzilla that'll never get implemented.
<Brian> I'm Brian, I'm working on a piece of software that will be using the Gecko engine to display XML documents
<vidur> I'm Vidur. I work on the DOM and am Netscape's representative to the W3C DOM Working Group. I did the initial implementation of XML+CSS in Gecko.
<CGI-BINux> I'm a former professional CGI programmer, and netscape/mozilla junkie
<jer> I'm Jeremie, jabber dude and working on a mozilla jabber client
<X-ViRGE> I'm Julian, a high school student who is a web designer/web programmer... I've been following netscape since 1.22, so Mozilla was obviously the next step. :)
<Brian> I'll only be drifting in and out of this chat, but I'm logging it as a backup for others too
<endico> i'm Dawn Endico, a mozilla.org toolmeister. (e.g. lxr, bugzilla, newsbot)
<X-ViRGE> (I'm also an active member of the WSP, trying to help out with Jabber's XML DTDs, and helping out with GNOME, which may use mozilla in version 2's help system)
<chrisn> well, why don't we get started?
<``es_> also... i'm a freshman in college majoring in computer science, and do odd admin stuff for betanews.com and php scripting too. (ok that was 2 lines)
<nisheeth> sure, chrisn, please moderate this from here on...
<chrisn> nisheeth: ok, we were gonna try without moderation, but that's probably a good idea...
  send your questions my way - /msg chrisn
<zinebot> SeaMonkey: 'wensleydale SunOS/sparc 5.6 Depend' has changed state from Success to Horked
<chrisn> if I get dropped, /msg kerz or one of the other ops
  except zinebot
  <X-ViRGE> Are you seriously planning on implementing XSL into Mozilla, or will that have to wait for next release? (Yes, I realize it isn't a Recommendation yet.)
<vidur> chrisn: nisheeth's going to answer this one, but i'd vote for trying this without moderation.
<smoke> hello
<nisheeth> The current plan is to *try* to ship hooks that load up an external XSL engine from within Mozilla.
<chrisn> nisheeth: will we see this by beta? or later?
<nisheeth> The intention is to let people who want to use XSL do so by downloading a separate XSL processor
<MattyT> Are these hooks specifically for XSL or any stylesheet/transformation engine?
<zinebot> SeaMonkey: 'shrike Linux Depend' has changed state from Success to Horked
<vidur> The hooks are meant to be generic: DOM tree->DOM tree through any transformation.
<nisheeth> At this stage, given that XSL is relatively low priority, I would say that the hooks will probably be operational post-beta
  The hooks are in there, but, I ran into bugs trying to use them with the XSL processor that Keith Visco has contributed to Mozilla
<Asa> where in the code would someone go to see/be a part of these hooks?
<nisheeth> Take a look at mozilla/extensions/transformiix
  It contains the XSL processor contributed by Keith.
<chrisn> let me clear out the questions in my queue:
  <simeon> What are the issues with having expat do dtd validation as well as well-formedness checking?
<vidur> simeon: We're using James Clark's expat without any major modifications. James doesn't plan to do any validation till the W3C Schema work is done.
<X-ViRGE> Ah, so will expat have DTD validation, or only XML Schema validation?
<nisheeth> asa: the XSL processor registers as an implementor of the nsIDocumentTransformer interface
<vidur> X-ViRGE: Good question. My guess is that James Clark will only do XML Schema validation given his distaste for DTDs. :-) That doesn't preclude us from looking at other open-source XML parsers.
<nisheeth> asa: The hooks dynamically look up the implementor and call it via the interface to transform a document
<vidur> The IBM Alphaworks one, for example.
<chrisn> would one of you like to explain the difference between DTDs and schemas, for the uninitiated?
<nisheeth> vidur is going for this one..
<vidur> The XML DTD syntax is a subset of the SGML DTD syntax. Schemas are planned as an alternate validation scheme. They will have an XML syntax and will introduce new notions such as data types.
<chrisn> ok: not an XML question, but the last in my queue, and you can apply it to your XML work:
  <mwh> What do you think the status of Mozilla is in 8 months? Im returning from the Military at that point hehe
* X-ViRGE thinks it should also be noted that the syntax for DTDs is quite different from the XML syntax, whereas XML Schemas will be valid/well-formed XML
<vidur> mwh: Hopefully much closer to shipping, eh?
<MattyT> So do you need a schema to define the schema?
<vidur> MattyT: Actually, yes. Or a DTD. :-)
<mwh> vidur: :)
<chrisn> heh
<X-ViRGE> yep :)
<MattyT> I guess somewhere something is its own schema
<chrisn> I am my own schema
  ok, so - next question?
<zinebot> SeaMonkey: 'Mac Opt Clbr' has changed state from Success to Horked
<Brian> Will Mozilla support Xlinks?
<X-ViRGE> How do you see XML's future? Is it going to become incredibly popular in web site design, or do you see it as being used mostly outside of web site design with HTML still being used for web sites?
<Brian> I know currently there is some support for simple XLinks
<vidur> X-ViRGE: I don't think it's an either-or question. A large part of it depends on cross-browser support...
  X-ViRGE: I don't think the XML purist view of a non-HTML world will ever exist.
<X-ViRGE> "XML purist," I like that term :)
<Brian> There is more of them by the day!
<vidur> I believe that XML will be used extensively for sites, both on the client and server side.
<nisheeth> Brian: We'll probably support a subset of the XLinks spec for the first release: simple links, not much more
<simeon> what's your take on xhtml? hype? wave of the future?
<Brian> nisheeth: where in the code is the best place to go if I wanted to look into extending the XLink interface?
<vidur> simeon: The XHTML1.0 spec is a bit of a no-op. It formalizes some of the stuff that both us and IE already did for inclusion of HTML in XML.
  simeon: The XHTML WG is, I believe, going to start dividing XHTML into modules - tables, forms, etc. - and then working on each separately.
<MattyT> I'm a bit disappointed that XHTML 1 is just going to be HTML 4.01, I guess that means there'll still be presentational stuff like <B>.
<nisheeth> from what I remember, right now link checking happens in the SetAttribute() method in nsXMLContentSink.cpp
<vidur> MattyT: Yeah, the XHTML 1 scope is pretty limited. The next steps should be more interesting.
<Brian> Ok thanks
<nisheeth> brian: which is located in mozilla/layout/xml/document/src
<chrisn> do you know anything about any SVG work being done for Moz at the moment? I know that there was some indication of that a long time ago...
<MattyT> Are they going to nuke the presentational stuff? I saw some rumblings that XHTML future versions might not be backward compatible.
<Brian> Chris: I know Jeremy Lea started an SVG for Mozilla project but shelved it due to re-location
<vidur> chrisn: I don't believe there's any work on SVG for Mozilla being done in the open, as far as I know.
<MattyT> There was a guy who asked a question on a newsgroup the other day, I didn't get around to replying.
<vidur> "being done in the open" being the operating phrase in that sentence.
<MattyT> are we meant to read something into that sentence? =)
<chrisn> vidur: are you aware of any being done behind closed doors? someone at a company mention that they're working on it?
<vidur> MattyT: I believe they will nuke the presentational stuff that doesn't have a CSS equivalent (<B> and the rest are deprecated in HTML 4.0)
<MattyT> good riddance =)
<kerz> SVG, is that the vector graphics thing?
<chrisn> I'd imagine that Macromedia is working on something...
<MattyT> yeah but the question is whether its in moz
<chrisn> yeah
  kerz: yes
  vidur, nisheeth: how do you feel about the current Mozilla implementation? pleased? any regrets?
<simeon> ibm has a svg viewer...maybe it could be plugged in?
<X-ViRGE> I know that you just said that Mozilla will only support a subset of the XLink recommendation, but I was wondering what your ideas were as to how you would present out-of-line extended links? (I've always wondered how different browsers will present this)
<vidur> I'd bet that companies on the SVG WG are working on implementations. If they are planning to integrate with Moz...I haven't seen anything announced.
<zinebot> SeaMonkey: 'shrike Linux Clobber' has changed state from Success to Horked
<MattyT> announcement comes sometime after intention and back-room discussions of course =0
<vidur> X-ViRGE: Yeah, the spec is deliberately vague about presentational issues.
<nisheeth> chrisn: Are you talking about XML specifically or the browser as a whole?
<chrisn> nisheeth: XML, and its integration and presentation capabilities...
<Brian> X-ViRGE: yes, and the whole area of 'behaviour' of XLinks has any number of possibilities
<vidur> X-ViRGE: I haven't thought about it in great detail, to tell you the truth. Our simple link support went in with an earlier version of the XLink spec and we were told at that time that extended links were still subject to substantialy change.
<nisheeth> chrisn: just got a call, hang on
<vidur> chrisn: I'll take the question...
<MattyT> can you explain xlinks/xpointer. I've heard that you don't necessarily need an anchor (which i presume would be an id in XML) is that true?
<vidur> chrisn: I actually think that our approach to XML (i.e. pushing XML+CSS at this point rather than focusing on XSL) is the right first step.
  chrisn: I think transformations are necessary, but a complete, correct layout engine is our first goal.
<mwh> Is there a QT version of Mozilla? If so is it as updated as it can be compared to GTK+?
<MattyT> I think I heard someone had picked it up.
<Brian> XLinks can be multidirectional, as opposed to an HTML <a href...
<Asa> nishteeth: vidur: Q: what needs to be done to complete/extend mozilla's implimentation of XML? What's on your plates now? What will you be working on in 2 months? What will you need the most help with?
<Brian> Can point to any number of resources...
  with different sets of behaviours
<vidur> vidur: on my plate is getting a bit more of DOM Level 2 complete. I believe we have a complete Level 1 implementation (modulo bugs).
<MattyT> talking to yourself again?
<vidur> Story of my life...
<simeon> thanks vidur and nisheeth!
<MattyT> so how would you click on a link that goes to multiple places? I was more interested in how you would define the targets within a URL.
<X-ViRGE> MattyT: that's what they were talking about when they said that it is vague
  MattyT: there are a lot of ways you could do it
<MattyT> marvellous
<vidur> Asa: I think we definitely need help getting together a complete DOM Level 1 (and eventually Level 2) test suite. David Baron and others have their own and they've been helpful so far.
<mwh> heh now I realize its about XML ;) oh my
<nisheeth> asa: I'm working on bugs in the current implementation and have layout stuff to do for the immediate future
<X-ViRGE> and, to go further, you can have an extended link (a link which goes multiple places) be out of line (not actually appear in the document, like <a href="blah">blah</a> would show blah being the link)
<vidur> MattyT: The one-to-many case is easy. A pop-up menu for instance.
<MattyT> Is part of the simple XLink support?
  is that a part ...
<X-ViRGE> I know that MSIE5 just generates a list of all links in a document if you pull up a certain window, but I'd prefer pop-up menus
  not the simple, no :)
  (hence "extended")
<nisheeth> asa: I could use help with getting as much of Xlink implemented as possible and integrating the XSL processor.
<chrisn> nisheeth, vidur: have either of you been following the MathML progress? what are your opinions of it? has it helped bring to the surface any weaknesses of Moz's XML?
<vidur> X-ViRGE: Do you know if the MSIE5 work is based on the current XLink Working Draft?
<Brian> I like the fact that all linking information can be kept externally, remotely even
<X-ViRGE> vidur: no, I do not. I only played with XML in IE5 for a little bit. I do know that they implement a really old version of XSL as part of the standard browser package, though
  so I wouldn't be surprised if their XLink is very out-of-date, too
<vidur> chrisn: I think it's stressed out our layout engine, more than our XML support. Though, it shows that we need to be a lot more pluggable.
<chrisn> X-ViRGE: which people are probably creating intranets with. sheesh...
<MattyT> i wonder if that version is going to become their standard xsl implementation now
<X-ViRGE> chrisn: yep
<MattyT> do you know if netscape plans to cut out all not finalised standard support from NN5?
<X-ViRGE> chrisn: and the question is, what will they do when XSL becomes a Recommendation? Even the current Working Draft is COMPLETELY different from their implementation
<vidur> chrisn: The MathML support should be something we can just drop in. That's not the case right now.
<jer> vidur: on the DOM test suite, I started one till I realized how much time it would involve... I wish I had the time, it would be VERY useful
<nisheeth> We also need to be able to load up an XML document from JS and manipulate it via DOM interfaces.
<vidur> A way to invoke the XML parser from script, essentially.
<jer> nisheeth: on that topic, is there any way to access the raw expat functionality from JS, XPCOM mabye?
<chrisn> vidur: so, pluggable XML implementations is something you plan for the future? If so, do you have a timeframe? Moz releaes 2?
<X-ViRGE> How far along is Mozilla's CSS2 support? (If anyone knows)
<vidur> MattyT: Good question. I think we're fine with the DOM 1/2, CSS 1/2, XML 1.0, namespaces. XLink is the one thing I'm not sure about.
<chrisn> X-ViRGE: months ago, angus davis had it at about 80%
<MattyT> I know it's not finished =)
<vidur> jer: That's what I meant. We need to do it. Probably post-beta1.
<MattyT> for example, I believe there is CSS 3 code
<chrisn> MattyT: I think their plans are to have the partial implementations at least working properly...
<Brian> I'd say it's alot less than 80%
<X-ViRGE> chrisn: that's very good to know. I was messing around with XML & CSS2 and ran into a bunch of bugs, but they were all fixed before I could narrow them down to specific cases
<zinebot> Just appeared in Slashdot:News for Nerds. Stuff that Matters. (http://slashdot.org/index.pl?section=): Eric S. Raymond Answers
<vidur> chrisn: Probably Moz release 2, though I'm going to push for it for release 1.
<Asa> vidur: nishteeth: are tehre particular areas of test cases that would aid development (both XML layout, XSL and DOM levels 1 and 2)
<MattyT> Yeah, I don't mind the support appearing in Milestones, but I think any public moz/nn release should have absolutely no support for things that aren't standards yet
<chrisn> vidur: at that point, would the MathML implementation have to be rewritten to work with the new scheme?
<zinebot> Just appeared in MozillaZine (http://www.mozillazine.org/): Reminder: Dev Chat with Nisheeth Ranjan going on Right Now!
  Just appeared in XPToolkit (http://www.mozilla.org/xpfe/): New splitter docs online ... Visual debugging box docs online ... Big changes to how xul.css is included ... Movie page updated
<nisheeth> jer: not currently. Brad Neuberg has contributed SAX interfaces already. We now need to wrap up expat within those interfaces...
<zinebot> SeaMonkey: 'shrike Linux Depend' has changed state from Horked to Success
  SeaMonkey: 'wensleydale SunOS/sparc 5.6 Depend' has changed state from Horked to Success
<vidur> MattyT: I believe some aspects of CSS3 may be included and used for XUL - out of necessity. I would hope we don't publicize them for use with HTML and XML.
<nisheeth> jer: Brad is looking for C++ help with doing that. Once that is done, expat needs to be made an XPCOM component.
<jer> nisheeth: SAX would be great, as long as it can take the input in a chunk'd way (for handling streams) similiar to expat :)
<MattyT> Maybe, but they should be for XUL only and preferably renamed to moz-*.
  (if possible)
<CGI-BINux> Are there any good URLs for XML & DOM Testing & maybe a reference or two of DOM..
<vidur> chrisn: Possibly modified a bit. Hopefully not too much. They have a small number of hooks in layout. The bigger deal is that they inherit from currently non-public classes.
<jer> nisheeth: tnx, great!
<vidur> MattyT: Definitely something to consider on a case-by-case basis. Some parts of CSS3 and more stable than others.
<nisheeth> jer: Yes, sax defines two types of interfaces. One is event driven similar to expat. One parses the XML document into a DOM tree.
<MattyT> chrisn: does ths stuffed Mozilla picture on the chat reminder article means everyone in this chat gets a stuffed Mozilla? =)
<vidur> CGI-BINux: David Baron's tests are at http://www.fas.harvard.edu/~dbaron/dom/test/. jer, is your initial work still around?
<MattyT> so, how do classes and ids work in XML and the XML DOM? i've gathered they're different
<vidur> MattyT: Yeah, attributes can be specified in a DTD to be of type ID. The attribute "ID" itself has no special significance...
<Brian> CGI-BINux: There is now also a built in DOM viewer, courtesy of Alec Flett
<X-ViRGE> erm, with XML you can make your own elements and attributes, why bother with classes and ids?
<jer> vidur: yes: http://jeremie.com/Dev/DOM/html1/ but it looks like I horqed the mysql db, I'll go fix it...
<Brian> X-Virge: for styling mostly
<MattyT> Just wondering, because I've heard about there being no GetElementByID or whatever, and wondering how it works ...
<vidur> MattyT: Nor does CLASS. CSS is vague about whether rules should be applied to XML elements with attributes of type "ID".
<X-ViRGE> Brian: yeah, but then you might as well just make up your own attributes :)
<vidur> X-VirGE: ID rules are still useful for specific elements.
<nisheeth> asa: Any help that we can get with testing XML Layout and DOM levels 1 and 2 are appreciated. Testing XSL right now would be a lower priority
<MattyT> so how is it done in moz at the moment, it strikes me that without ids and classes, XML+CSS would be nearly useless ...
<vidur> MattyT: Not true, as X-VirGE mentioned, you can use element selectors to define style for different elements.
<Brian> nisheeth: I'm on the case every day
<X-ViRGE> vidur: yes, I do realize that much, but I'm not calling an attribute of mine "class" unless it makes sense to do so :) I'll probably almost always make an 'id' attribute
<chrisn2> vidur, nisheeth: is there some indication of where work could start on an XML/DOM test suite?
<MattyT> ok, a little bulb is appearing over my head
<X-ViRGE> MattyT: you can select specific elements with specific attributes in CSS, and since you can create your own attributes and elements in XML, that works quite well
<nisheeth> asa: There are test suites available for DOM testing but none that I'm aware of for XML+CSS testing. A test suite for XML+CSS would help us a lot.
<X-ViRGE> nisheeth: really?
<vidur> X-ViRGE: I agree, though I've heard rumblings from CSS-heads about the usefulness of CLASS even in XML. I don't buy it.
<nisheeth> asa: I need to work with our QA team to publicize our internal XML+CSS test cases.
<X-ViRGE> nisheeth: I've been playing around with XML + CSS right here, but I figured you guys didn't really need XML + CSS tests and assumed that someone else had already made some :)
<MattyT> vidur: nisneeth: so, how has your new found fame and fortune affected you?
<Asa> nishteeth: are there any XML+CCS tests checked in?
<vidur> X-ViRGE: Our XML+CSS and XML DOM support hasn't been stressed in any way.
<MattyT> X-ViRGE: yep, that makes sense
<X-ViRGE> vidur: well, then, do you think I should get to work and actually contribute something? :)
<Brian> X-ViRGE: Post them if you can. Extra knowledge is always accepted at Mozilla
<vidur> MattyT: "fame and fortune"? Hah! I must have missed that boat.
<nisheeth> X-Virge: :) Please, pretty please.
<X-ViRGE> ok then :)
<MattyT> X-ViRGE: you _always_ need more tests
<X-ViRGE> http://www.delanet.com/~jkmissig/xmltests/
  I'll put them there
<Brian> Post them on the relevant newsgroups X-ViRGE
<X-ViRGE> Brian: I'll do that, too :)
<Brian> Good stuff X
<chrisn2> ok, folks thanks for coming, and thanks to nisheeth and vidur for stopping by and chatting!
<MattyT> thanks nisheeth and vidur
<chrisn2> we'll have a log of the full chat up shortly at mozillazine
<Asa> thanks nisheeth and vidur.
<X-ViRGE> thanks guys
<Brian> Yes, thanks nisheeth and vidur and all
<vidur> Thanks all. Hope it's been useful.
<Brian> Thanks Chris for organising it
<MattyT> chrisn: are these going to be a regular event?
<nisheeth> you're most welcome, guys.
  Thank you for coming
<vidur> Feel free to send us mail if you have any follow-up questions.