2006-12-01 [01:18:00.0000] ok let's test it and see if it works [01:51:00.0000] morning [01:52:00.0000] Lachy: If I guess correctly what Sam is going to suggest, I have intended to suggest the same thing [01:52:01.0000] that is put subtrees in the MathML namespace and subtrees in the SVG namespace [01:52:02.0000] instead of hard-coding a list of MathML elements [01:54:00.0000] /me (n=charlvn⊙cwicz) Quit () [02:02:00.0000] hsivonen:That sounds more sensible to me. But I think there will be some stiff opposition [02:02:01.0000] /me looks at the mailing list. Sees people /still/ trying to work out a way of making documents validate as XML and HTML. Sighs. [02:37:00.0000] hsivonen, I don't think that's what Sam is going to suggest. I think it's going to be about allowing xmlns attributes, but not xmlns:foo because he explicitly said no prefixes [02:46:00.0000] ok whatbot seems to be behaving well, the stats work nicely [02:46:01.0000] should i update the irc wiki page? [02:47:00.0000] Charl, yes [02:48:00.0000] "appease the XML gods" fools! [02:48:01.0000] /me goes back to reading the log [02:58:00.0000] hsivonen, you want to intertwine HTML with Math in some cases... [02:59:00.0000] annevk: without or wrapper roots? [02:59:01.0000] annevk: is that case common enough that it needs to be supported in text/html? [03:00:00.0000] it might be [03:00:01.0000] for certainly [03:00:02.0000] you want

TEST

as well... [03:00:03.0000] if any form of namespace syntax is ever going to get added to HTML, it must not use the xmlns attribute [03:01:00.0000] that would only serve to further convince the XML camp that HTML is compatible with XML [03:03:00.0000] Lets not waste our time on this... Did you get any further with the parser? [03:04:00.0000] annevk,

TEST

would be the only type of namespacing I'd support, where the ns attribute would take one of a predefined set. That way, it can't get confused with xmlns and it's not compatible xml parsing [03:04:01.0000] that's just an idea though, which I got from http://ln.hixie.ch/?start=1151612438&count=1 [03:05:00.0000] I've been reading through the Dive Into Python tutorial today, up to chapter 3 so far. [03:07:00.0000] did you see the link I gave? [03:07:01.0000] it shows a simple example of invoking various functions based on the state [03:07:02.0000] the one about constants? [03:07:03.0000] no, the one on diveintopython [03:08:00.0000] so you don't need a long switch case statement [03:08:01.0000] oh, yes, but I didn't understand the syntax well enough at the time. I'll rearead it now that I have a better idea [03:09:00.0000] "test %s" % foo [03:09:01.0000] replaces the %s with whatever value foo might have [03:09:02.0000] you can also have tuples there... [03:09:03.0000] "%stest%s" % (foo, bar) [03:10:00.0000] yes, that's the section I've just been reading up on in the last half hour [03:12:00.0000] so, basically, in principle, it's like what I was doing with the associative array of functions, where I dynamically call it based on the value of a variable [03:12:01.0000] "This character has no effect except to appease the markup gods. As this character is therefore just a symbol of faith, atheists should omit it." [03:12:02.0000] lol [03:13:00.0000] Lachy, yeah, although I suppose the states would have to be strings in order to get meaningfull function invocations [03:14:00.0000] yes, so we can most likely use that method for what we need [03:14:01.0000] /me (n=mpt⊙1dtn) Quit ("This computer has gone to sleep") [03:17:00.0000] This looks like a very convenient way of declaring constants http://diveintopython.org/native_data_types/declaring_variables.html#odbchelper.multiassign.range [03:28:00.0000] http://www-xray.ast.cam.ac.uk/~jgraham/html5/ has some code [03:28:01.0000] that's cool [03:28:02.0000] hsivonen, yeah, I know what browsers do when they encounter a doctype [03:29:00.0000] hsivonen, in gecko you can see it in the dom viewer quite easily iirc [03:29:01.0000] I suppose it's prolly better if Opera throws for the entity &test; so we can remove some DOM Core features [03:30:00.0000] BTW, regarding the XOM/DOM thing [03:30:01.0000] I think we should whatever makes most sense for Python [03:31:00.0000] yes [03:33:00.0000] annevk: that would most likely be ElementTree [03:34:00.0000] disclaimers about my lack of experience apply [03:34:01.0000] Kid templating uses ElementTree [03:35:00.0000] yeah, perhaps [03:35:01.0000] good eday to all! [03:35:02.0000] i see that Hixie accepted Sam's proposal. well done [03:35:03.0000] ROBOd: gday [03:35:04.0000] Hixie just has a lack of faith [03:36:00.0000] annevk: what do you mean? why lack of faith? [03:36:01.0000] hsivonen, ElementTree doesn't have support namespaces ?! [03:37:00.0000] annevk: really? not good! [03:37:01.0000] /me reads http://effbot.org/zone/element.htm [03:37:02.0000] i was just reading now http://blog.whatwg.org/html-vs-xhtml < this should be "featured" in the FAQ - it's important reading for everyone interested of HTML5 [03:38:00.0000] yes, it will be eventually. I'll just add a link to it for now [03:39:00.0000] annevk: I believe ElementTree handles namespaces the RDF way [03:39:01.0000] Lachy: very good article [03:39:02.0000] that is nsuri#localName in one string [03:39:03.0000] thanks :-) (though hsivonen deserves some credit too) [03:40:00.0000] hsivonen, that's not really acceptable [03:40:01.0000] annevk: why not? [03:40:02.0000] i don't like that [03:40:03.0000] what's the RDF way? [03:41:00.0000] it requires knowledge of the namespaces that are available [03:41:01.0000] annevk: because you hate RDF? It is easier than passing around (nsuri, localName) [03:41:02.0000] annevk: huh? [03:41:03.0000] how do you mean available? [03:41:04.0000] used [03:42:00.0000] I don't follew [03:42:01.0000] follow [03:42:02.0000] http://example.org/#foo [03:42:03.0000] http://example.org/##foo [03:43:00.0000] and it requires additional functions to get the localname or namespace [03:43:01.0000] annevk: why don't you dispatch on the full name? [03:43:02.0000] anyway, It's prolly not really worth it to discuss this now [03:45:00.0000] it also seems you can't use it for XML then since it doesn't support qnames [03:45:01.0000] and adding those would not make it look pretty [03:45:02.0000] annevk: if you need to know the qName, you have a bug [03:45:03.0000] XPath? [03:46:00.0000] XPath matches on the uri, localName pair, I believe [03:46:01.0000] /me (n=charlvn⊙cwicz) Quit (Client Quit) [03:46:02.0000] XPath uses qnames... [03:46:03.0000] you only need to know the qname when serialising as XML, but when reserialising from HTML, there won't be any prefixes [03:46:04.0000] sure [03:47:00.0000] annevk: I use different qNames in XPath and in the documents that I match. matching happens on nsuri, localName [03:48:00.0000] there has to be a reason c14n can't normalize to something without changing the qnames [03:49:00.0000] without? [03:49:01.0000] http://www.snellspace.com/wp/?p=546#comment-4751 [03:49:02.0000] amara and 4suite support namespaces [03:49:03.0000] hsivonen, yes [03:49:04.0000] (and just because I'm too stupid to get them to work doesn't mean you guys won't be able to :) ) [03:49:05.0000] euh, no [03:49:06.0000] /me is confused now [03:50:00.0000] annevk: I don't see the relevance of the URL [03:50:01.0000] did I mention already this shouldn't be discussed now? [03:50:02.0000] fine [03:50:03.0000] hsivonen, that URL is totally unrelated [03:50:04.0000] it mentions that Wordpress is borked [03:50:05.0000] comment 1 [03:50:06.0000] not news :-) [03:50:07.0000] dog bites man [03:51:00.0000] hmm, that's a show in the Netherlands... [03:51:01.0000] actually [03:51:02.0000] the show is called man bites dog [03:51:03.0000] nm me [03:53:00.0000] /me goes to fetch some lunch [03:54:00.0000] /me (n=benjamin⊙9822) Quit ("Leaving") [04:23:00.0000] /me (n=Kanashii⊙plbion) Quit () [04:27:00.0000] so the tokenizer http://www-xray.ast.cam.ac.uk/~jgraham/html5/tokeniser.py from jgraham uses the classes construct I proposed earlier. but we figured out that it would never work because the parser and tokenizer need to be integrated [04:27:01.0000] I suppose one could be a subclass of the other, but I'm not sure if that's worth it [04:38:00.0000] you mean the tokeniser and tree builder need to be integrated? [04:39:00.0000] we only need them to be integrated in a way that allows the tree builder to update the content model flag, I think [04:40:00.0000] also for things like document.write I suppose [04:40:01.0000] if ever [04:40:02.0000] I had a thought about that, but haven't investigated it yet, but when we call e.g. tree.startElement(), we could have the return value indicate the content model flag. Not sure if that would work or not [04:40:03.0000] we're not writing a scripting engine yet, we don't need to worry about doc.write() [04:40:04.0000] we should at least take innerHTML into account [04:41:00.0000] that's used for some conformance criteria even [04:41:01.0000] and it's a nice way to provide serialized versions of the document [04:44:00.0000] to support document.write(), we need to allow a scripting engine to inject markup back into the stream. [04:44:01.0000] innerHTML is different though [04:47:00.0000] /me looks up innerHTML to see what it would take to support it [04:49:00.0000] annevk: do you mean you want to allow Python apps to call innerHTML on your tree? [04:49:01.0000] yes [04:49:02.0000] either on a document node or element node [04:50:00.0000] there needs to be a way to go from the tree to a string again [04:52:00.0000] annevk: shouldn't you use a full-document serializer for that? [04:52:01.0000] yes, we should [04:53:00.0000] innerHTML would be nice, but we don't need to worry about it until we start implementing the DOM API. The tokeniser will work with innerHTML similar to the way it parses anything else (except for a few special things, like setting the content model flag) [04:53:01.0000] that's for setting innerHTML, btw [04:55:00.0000] on getting, we'd need to have a serialiser that it can make use of [04:55:01.0000] hsivonen, as long as it's compatible with innerHTML... sure [04:55:02.0000] innerHTML is the serializer we need [04:55:03.0000] I'm not sure why anything else would be relevant, but perhaps I'm just misunderstanding what you guys are suggesting [04:55:04.0000] innerHTML is just an API that accesses the serialiser [04:58:00.0000] perhaps Hixie already specced innerHTML on the document node to do what I want a full-doc serializer to do [04:58:01.0000] I think so [04:59:00.0000] otherwise my suggestion wouldn't make sense [05:00:00.0000] annevk, see http://www.xom.nu/apidocs/nu/xom/canonical/Canonicalizer.html [05:00:01.0000] the write() method gets passed a Node, which then serialises that node [05:01:00.0000] innerHTML just access such an API by passing it a reference to the node upon which it was invoked [05:02:00.0000] in XOM, the Document is a Node as well, so the write() function accepts either elements or Document [05:08:00.0000] fair enough, Node.innerHTML [05:10:00.0000] WhatBot, pointer? [05:10:01.0000] WhatBot, help [05:11:00.0000] WhatBot, you're not silly at all! [05:15:00.0000] /me (n=Kanashii⊙plbion) Quit () [05:25:00.0000] annevk, http://lachy.id.au/temp/HTMLReader.py [05:26:00.0000] I think you want the states as strings... [05:26:01.0000] there are some nice features in jgraham's parser that we should copy across, though all the DOM stuff in his parser.py shouldn't be in the parser [05:27:00.0000] jgraham has things like "DATA":self.dataState [05:27:01.0000] yeah, we probably do, although I like what jgraham did in tokeniser.py with the states dictionary [05:27:02.0000] I couldn't get that to work [05:27:03.0000] though [05:27:04.0000] it says that self is not defined [05:27:05.0000] perhaps it should happen when you initialize the object [05:28:00.0000] is self equivalent to this in other languages? [05:28:01.0000] yup [05:28:02.0000] that works [05:29:00.0000] Lachy, please join #whatwg-paste [05:36:00.0000] Lachy, so what does XMLReader do? [05:36:01.0000] Lachy, does it output a tree or just startDocument etc. ? [05:40:00.0000] when you create an XMLReader, you need to set various handlers. e.g. setContentHandler(handler) [05:41:00.0000] The content handler needs to implement this interface http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html [05:41:01.0000] as the XMLReader parses the document, it emits events by calling contentHandler.xxx(), where xxx is the appropriate method. [05:42:00.0000] it calls contentHandler.startDocument() first, then contentHandler.startElement(...) for every start tag, etc. [05:43:00.0000] kk [05:43:01.0000] I like the idea of having HTMLParser on top of HTMLReader and try to work with callback functions if that's feasible [05:45:00.0000] I don't understand what you mean. HTMLParser and HTMLReader are just different names for the tokeniser, aren't they? [05:45:01.0000] the former would do tree construction and use HTMLReader as baseclass [05:49:00.0000] http://lachy.id.au/temp/source/ specifically, see parse.php and XMLParser.php [05:50:00.0000] http://hsivonen.iki.fi/code/api/fi/iki/hsivonen/xml/checker/table/package-summary.html [05:50:01.0000] in case anyone is interested in taking a look at the table integrity checker internal [05:51:00.0000] s [05:51:01.0000] the javadoc links to HTMLified source [05:53:00.0000] So, according to thee logs, Anne said so the tokenizer http://www-xray.ast.cam.ac.uk/~jgraham/html5/tokeniser.py from jgraham uses the classes construct I proposed earlier. but we figured out that it would never work because the parser and tokenizer need to be integrated [05:54:00.0000] Is it not enough just to have the parser hold a ref to the tokeniser so it can adjust its state? Does it need to do more than change the content model flag? [05:55:00.0000] (Oh and I know the DOM stuff needs to be (re)moved, that was just a really basic tree implementation to get me going). I was wondering about using elementtree [05:56:00.0000] jgraham, I don't understand why you have classes for each token. Do you create a token object for each one and emit that? [05:56:01.0000] jgraham, well yeah, but then you don't need classes for tokens anymore [05:56:02.0000] jgraham_, you construct the "DOM stuff" right away [05:57:00.0000] Yeah. One class per token type. It just seemed conceptually simple. [05:57:01.0000] but those token types don't survive for a second... :) [05:58:00.0000] ok. looking back at the JS implmentation I started a few months ago, it looks similar to what I was trying to do as well. But I prefer to just use SAX-like events instead of creating a token object [05:59:00.0000] Maybe I haven't read the spec closely enough... why do they need to survive? Or are you just worried that it means creating and destroying a lot of objects? [06:00:00.0000] well, yeah, sort of. It just seems unnecessary to create, say, a StartTag token, when you can just call handler.startElement(...) [06:03:00.0000] Well sometimes you need to keep tokens around for a little while (e.g. when you want to reprocess the current token). Also, the tokeniser seems to create a stack of tokens in some instances... [06:03:01.0000] /me hasn't looked at the tokeniser for a little while [06:05:00.0000] neither have I, I need to reread that part of the spec and also improve my knowledge of python [06:09:00.0000] I think elementtree output would be nice but it's pretty different from the standard DOM [06:11:00.0000] apart from the think where namespaces are stored as "{nsURI}localName", you'd have to deal with the different way of storing text [06:12:00.0000] e.g. foo bar baz has " baz" in the tail attribute of the em element... [06:12:01.0000] ? [06:14:00.0000] oh, they store text that way? [06:15:00.0000] that sounds rather bad [06:15:01.0000] iir correctly the sample above has Span.text="foo " Em.text="bar" Em.tail=" baz" - tail holds all the text after the element closes but before the next sibling opens or parent closes [06:15:02.0000] jgraham, wow. that's really bad [06:16:00.0000] It often works quite well, actually. But less so for prose-orientated documents [06:16:01.0000] well, unless .tail is just the equivalent of .nextSibling in the DOM [06:16:02.0000] does the parent element still have refences to all of its child nodes? [06:17:00.0000] I don't think it really considers text as nodes in the tree, just attributes of elements [06:17:01.0000] or attributes of nodes, if you like [06:17:02.0000] oh, that's crap [06:18:00.0000] Well like I sid, it works really nicely in python in practice, but it's not trivial to map onto the DOM model [06:25:00.0000] annevk: the reason that you couldn't get the "DATA":self.dataState thing to work is because it doesn't. I don't quite know what I had in my head (I've been using this pattern quite a bit in the code). [06:25:01.0000] I'm pretty sure I can fix it up so it does work though :) [06:28:00.0000] jgraham_, I made it work... [06:28:01.0000] jgraham_, put the states in __init__ [06:29:00.0000] Yeah, I that will work, obviously. I had it in my head you could avoid that somehow though. Maybe I'm imagining things ;) [07:08:00.0000] /me (n=charlvn⊙nmcz) Quit () [07:25:00.0000] /me (n=jgraham⊙xacau) Quit ("Leaving") [07:29:00.0000] I've added a new question about treating HTML as XML to the FAQ [07:29:01.0000] http://blog.whatwg.org/faq/ (see the last question) [07:30:00.0000] any suggestions for improving it would be appreciated [07:41:00.0000] do not [07:42:00.0000] annevk, do not what? [07:42:01.0000] you forgot not in your last e-mail [07:43:00.0000] where abouts. Can you quote the sentence where I made the mistake? [07:44:00.0000] not anymore [07:44:01.0000] /me is confused [08:13:00.0000] Charl, cool bot [08:13:01.0000] Lachy, I removed the e-mail [08:14:00.0000] what e-mail? [08:14:01.0000] see above [08:14:02.0000] ? [08:14:03.0000] ?? [08:15:00.0000] a: you forgot not in your last e-mail [08:15:01.0000] l: where abouts. Can you quote the sentence where I made the mistake? [08:15:02.0000] a: not anymore [08:15:03.0000] which e-mail are you referring to? [08:15:04.0000] yeah, I have no idea what you meant by that [08:15:05.0000] I said not anymore because I removed the e-mail... [08:15:06.0000] from where? [08:15:07.0000] inbox [08:16:00.0000] dude! [08:16:01.0000] right, so one of the e-mails I setnt to whatwg? [08:17:00.0000] the last one [08:18:00.0000] oh, I see "I really do [not] understand the desire to do so." [08:22:00.0000] annevk: thanks, i think whatbot is doing well for its first day :) (sorry for slow reply, hacking code..) [08:34:00.0000] for those of you writing a tokeniser in python, my guess would be that the easiet implementation would use "yield" [08:34:01.0000] since then you never have to unwind the tokeniser stack [08:35:00.0000] wjat [08:35:01.0000] what's yeild [08:36:00.0000] do you mean this http://docs.python.org/ref/yield.html [08:37:00.0000] yes [08:39:00.0000] yeah, I suppose that makes sense [08:40:00.0000] though fwiw, i don't think my tokeniser ever has to emit more than two tokens at once, so i just have two tokens, "current" and "next" [08:42:00.0000] I'm trying to find an example that shows how to use it, and which explains it more clearly than that documentation [08:44:00.0000] /me (n=robod⊙8321) Quit ("http://www.robodesign.ro") [08:45:00.0000] surch for generators and python [08:45:01.0000] or something [08:47:00.0000] /me has to go change for the Opera Christmas party [08:48:00.0000] /me is prolly online again tomorrow [08:48:01.0000] ok, I've found an example and sort of understand it now [08:50:00.0000] so would we use that to iterate through each character in the file stream? or something else? [09:01:00.0000] Hixie, could you perhaps add a note to the spec in the start tag syntax section pointing out the use of the trailing slash does not permit the use of an XML parser to parse and HTML document and link to the parsing section where it defines that? [09:02:00.0000] nah [09:03:00.0000] i don't think that would help anyone [09:03:01.0000] ok, it's just that all these people with the idea that they can do so is just irritating [09:03:02.0000] for someone to be reading that part of the spec, they have to either have read the relevant part that says it's not XML, or they'll miss the note in the same way [09:03:03.0000] yeah, i agree [09:08:00.0000] why was the trailing slash thing added? [09:09:00.0000] to make it easier for authors to migrate from XHTML [09:09:01.0000] ah [09:09:02.0000] and because trailing slashes have this "designer label" quality these days [09:09:03.0000] basically [09:09:04.0000] yeah [09:10:00.0000] Lachy: i updated the spec's way of having spaces in start attributes. it's not what you proposed, but i think it's ok. (basically i added more steps and modified the attribute syntax section) [09:12:00.0000] I think the discussion on the list is showing that people going to consider it an Appendix-C-like extension designed as a means to help them continue migrating from HTML to XHTML, rather than from XHTML1 to HTML5 [09:12:01.0000] possible [09:12:02.0000] they'll be sadly mistaken :-) [09:13:00.0000] I'm writing an FAQ entry for it now. I'll include those reason in it. [09:13:01.0000] cool [09:13:02.0000] Charl: yt? [09:14:00.0000] Hixie: hi am here now [09:14:01.0000] Charl: hey dude [09:14:02.0000] so i was thinking about the status thing [09:14:03.0000] yeah, let's get that going [09:14:04.0000] i think it would make sense to also have the "SCS" flags as part of it [09:15:00.0000] to mark which sections are "self-contained" [09:15:01.0000] so that they can be implemented separately [09:15:02.0000] that way i can remove the SCS stuff from the spec :-) [09:15:03.0000] ah, that sounds interesting [09:15:04.0000] Lachy: I'll send you an update to that PCRE, as I realised several bugs in it a day or two ago [09:16:00.0000] don't worry about it [09:16:01.0000] we're not going to implement it [09:16:02.0000] Hixie: since that's already there, i think i should start by getting the script to be able to insert those [09:17:00.0000] Hixie: am going to be offline during the weekend unfortunately - is it ok if i speak to you about that on Monday? [09:17:01.0000] Once hsivonen updates the validator so the trailing slash isn't flagged as an error, I'll just remove the script and accept that WP is a broken CMS [09:18:00.0000] Charl: sure thing dude. [09:18:01.0000] Charl: there's no rush really. [09:19:00.0000] Charl: though it would be nice to have it up and running by the end of the year, since i expect the w3c to start moving faster in january [09:19:01.0000] Hixie: cool, we'll get it sorted long before then :) [09:19:02.0000] :-) [09:19:03.0000] Hixie, has any progress been made on the charter since that first draft? [09:20:00.0000] Lachy: i've been told so, but i haven't seen it or heard anything but rumours [09:20:01.0000] ok. [09:20:02.0000] Lachy: i highly doubt the progress will be enough to make the whatwg move lock-stock-and-barrel to w3c [09:20:03.0000] basically i intend to continue the whatwg work unless the w3c provides a community environment as open as the whatwg [09:21:00.0000] which i don't see happening, they just don't understand openness, sadly [09:21:01.0000] ok, good [09:21:02.0000] well, good that you'll continue, bad that they don't understand opennes :-( [09:21:03.0000] yeah [09:22:00.0000] I think the start tag syntax still needs to be made a little clearer [09:22:01.0000] Presumably it doesn't need to be a total dichotomy. [09:22:02.0000] That is the W3C actually has submissions from outside all the time. [09:23:00.0000] webben: oh i'll be in their htmlwg either way [09:23:01.0000] All the W3C really needs to do is not try and reinvent Web Forms 2.0 with yet-another-intermediate technology. [09:23:02.0000] or not change wf2 in stupid ways [09:23:03.0000] And all WHATWG really needs to do is not to let too big a gap grow between XHTML 5 and the rest of the XML world. [09:23:04.0000] Perhaps you could add something to setp 5 that explicitly refers the additional requirements for unquoted attribute values and empty attributes [09:24:00.0000] There's no particular reasons why all specs should be developed in-house as it were [09:24:01.0000] webben: we'll see [09:25:00.0000] if browser vendors just don't implement their corrupted version of WF2+XForms (if they go ahead with it), won't that just make it irrelevant like XHTML2? [09:25:01.0000] yup.... [09:26:00.0000] Lachy: spec updated [09:26:01.0000] so does it really matter in the end, as long as it keeps the XForms people away from the real spec, they can play with their own version as much as they like [09:27:00.0000] that's good now :-) [09:27:01.0000] Of course it matters. Because that scenario would be a waste of the W3C's time. [09:28:00.0000] (which, given they're slow, short of staff, and short of money, is precious) [09:28:01.0000] Maybe what's really needed is a demonstration of alternate serialization to WF2 and XForms [09:29:00.0000] That would probably get IBM on board. [09:29:01.0000] (AFAICT they seem to be a key opponent of WF2 in its current form) [09:29:02.0000] Is such serialization currently possible, or would it be very difficult? [09:30:00.0000] IBM is a large company with many employees [09:30:01.0000] they don't always agree [09:30:02.0000] hmm... okay s/IBM/the IBM XForms guys/g [09:34:00.0000] heh [09:35:00.0000] "However, a start tag must never be omitted if it has any attributes." What if it has attributes, but which are explicitly set to the default values? [09:35:01.0000] then it has attributes, and mustn't be omitted [09:36:00.0000] oh, nevermind, I just realised that it does make a difference to the DOM if they're omitted [09:36:01.0000] what is WITH people and xmL:id [09:37:00.0000] /me looks for e-mail referring to xml:id... [09:37:01.0000] michel's recent one [09:37:02.0000] michel's a great guy btw [09:37:03.0000] been sending great feedback [09:40:00.0000] yeah, he's ok. he's not one of the "kooks" :-) [09:42:00.0000] IIRC, anne likes xml:id. or at least used to like ;-) [09:46:00.0000] Hixie, xml:id is already mentioned in the spec [09:47:00.0000] crap [09:48:00.0000] better take that out [09:48:01.0000] :-) [09:48:02.0000] only twice, though [09:48:03.0000] oh it's just as parantheticals [09:48:04.0000] that's ok [09:48:05.0000] jesus, annevk needs to work on his tact [09:49:00.0000] "You're still not getting it, do you?" sounds like the kind of thing i would write when i was his age, which is why the w3c staff all hate me now. :-P [09:51:00.0000] heh [09:54:00.0000] BTW, I think there's a right reason and a wrong reason for wanting the intersection of HTML5 and XHTML5 syntaxes not to be empty [09:54:01.0000] the right reason is Sam's reason: being able to use one code path for *producing* both [09:55:00.0000] the wrong reason is being supposedly able to use one code path for *consuming* both [09:55:01.0000] you can do sam's thing with just minor things in the header [09:55:02.0000] if you avoid troublesome things like xml:base, xml:lang/lang,