From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p27GP5FO003588 for ; Mon, 7 Mar 2011 17:25:05 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuEBAOeVdE3U4367kWdsb2JhbACEKZNyjjkVAQEBAQkLCgcRAyKuBJBDAoElg0V2BIgFh24 X-IronPort-AV: E=Sophos;i="4.62,277,1297033200"; d="scan'208";a="77287079" Received: from moutng.kundenserver.de ([212.227.126.187]) by mail3-smtp-sop.national.inria.fr with ESMTP; 07 Mar 2011 17:24:16 +0100 Received: from office1.lan.sumadev.de (dslb-188-097-066-025.pools.arcor-ip.net [188.97.66.25]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0MNezy-1Pv0Ow0T6o-007WK3; Mon, 07 Mar 2011 17:24:08 +0100 Received: from [192.168.5.106] (dslb-188-097-066-025.pools.arcor-ip.net [188.97.66.25]) by office1.lan.sumadev.de (Postfix) with ESMTPA id C0A825F701; Mon, 7 Mar 2011 17:24:07 +0100 (CET) From: Gerd Stolpmann To: Yoann Padioleau Cc: oliver , caml-list@inria.fr In-Reply-To: <11C1C5E7-7265-47DA-A5B5-82E2F5B7FEB6@wanadoo.fr> References: <20110306225242.GA9087@siouxsie> <1299500875.30035.31.camel@thinkpad> <11C1C5E7-7265-47DA-A5B5-82E2F5B7FEB6@wanadoo.fr> Content-Type: text/plain; charset="UTF-8" Date: Mon, 07 Mar 2011 17:24:06 +0100 Message-ID: <1299515046.30035.96.camel@thinkpad> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:Ikyx/H0K3GAdPaTNd0rLv1g1G/Wy6Qyk3QPayL9jUt7 MbD2Cz/lV3079Sl65LuL7utHIU1jqy5JiuUYDSGN84M8vbnFTP 1FdZBkUkdSXtLcqvzN3ogWEpErfx6glKcneDE0wyHQTYRxG+aH F31BLc8TAHNN5GXvUjYU4e/yTashwa5OsY1sxHyz5FnP76ubag OKb5TPWDVPNY+C4uk4/GA== Subject: Re: [Caml-list] ocamlnet: Netheml: simple-dtd: how does this work? Am Montag, den 07.03.2011, 07:40 -0800 schrieb Yoann Padioleau: > On Mar 7, 2011, at 4:27 AM, Gerd Stolpmann wrote: > > > Am Sonntag, den 06.03.2011, 23:52 +0100 schrieb oliver: > >> Hello, > >> > >> tried around using the simple-dtd argument > >> for Nethtme.parse. > >> > >> It changes the behaviour compared to > >> the default behaviour, but I could not find out > >> how this works. > >> > >> Someone here who can explain me this > >> argument and describe, how it can be used? > > > > Maybe the HTML specification would be a good reference here: > > http://www.w3.org/TR/1999/REC-html401-19991224. You will see there that > > most HTML elements are either an inline element, a block element, or > > both ("flow" element). The grammar of HTML is described in terms of > > these classes. For instance, a P tag (paragraph) is a block element and > > contains block elements whereas B (bold) is an inline element and > > contains inline elements. From this follows that you cannot put a P > > inside a B:

something

is illegal. > > > > The parser needs this information to resolve such input, i.e. do > > something with bad HTML. As HTML allows tag minimization (many end tags > > can be omitted), the parser can read this as:

something

> > (and the in the input is ignored). > > > > If all start and all end tags are written out, changing the > > simplified_dtd does not make any difference. > > > > There is no normative text that says how to read bad HTML. Because of > > this, it is - to a large degree - an interpretation of HTML what you put > > into simplified_dtd. > > > >> The description IMHO is not sufficient to explain > >> this feature. > > > > I'd say your formal knowledge about HTML is insufficient. It is > > impossible to explain all the basics of HTML in the scope of an mli. > > Well the explanation you've given above, with a link to the HTML spec and > the inlne vs block comment is excellent and would have been a good fit for a comment > in a .mli IMHO. Thanks for the suggestion. Just copied the text to the mli. Gerd > > > > Gerd > > > >> I created a simplified dtd and used it as > >> is mentioned in the manual. But changing the > >> Arguments of element-class and model constraint > >> did not brought any results that make sense to me. > >> Usint that argument jsut creates a different behaviour than > >> using no such arg, but more is not clear to me. > >> > >> An explanation or a pointer to explanational docs would be fine. > >> > >> Ciao, > >> Oliver > >> > > > > > > -- > > ------------------------------------------------------------ > > Gerd Stolpmann, Bad Nauheimer Str.3, 64289 Darmstadt,Germany > > gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de > > Phone: +49-6151-153855 Fax: +49-6151-997714 > > ------------------------------------------------------------ > > > > > > -- > > Caml-list mailing list. Subscription management and archives: > > https://sympa-roc.inria.fr/wws/info/caml-list > > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > > Bug reports: http://caml.inria.fr/bin/caml-bugs > > > > -- ------------------------------------------------------------ Gerd Stolpmann, Bad Nauheimer Str.3, 64289 Darmstadt,Germany gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de Phone: +49-6151-153855 Fax: +49-6151-997714 ------------------------------------------------------------