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 p27FeloO001760 for ; Mon, 7 Mar 2011 16:40:47 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArwBAFqLdE1QDPKAkWdsb2JhbACYG45OAQEBAQkLCgcRAyK+IgKFYASFHIpX X-IronPort-AV: E=Sophos;i="4.62,277,1297033200"; d="scan'208";a="77283888" Received: from smtp06.smtpout.orange.fr (HELO smtp.smtpout.orange.fr) ([80.12.242.128]) by mail3-smtp-sop.national.inria.fr with ESMTP; 07 Mar 2011 16:40:42 +0100 Received: from [10.0.1.2] ([98.210.211.123]) by mwinf5d11 with ME id GFgf1g00A2gHxei03Fgf6J; Mon, 07 Mar 2011 16:40:41 +0100 Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Yoann Padioleau In-Reply-To: <1299500875.30035.31.camel@thinkpad> Date: Mon, 7 Mar 2011 07:40:38 -0800 Cc: oliver , caml-list@inria.fr Message-Id: <11C1C5E7-7265-47DA-A5B5-82E2F5B7FEB6@wanadoo.fr> References: <20110306225242.GA9087@siouxsie> <1299500875.30035.31.camel@thinkpad> To: Gerd Stolpmann X-Mailer: Apple Mail (2.1082) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by walapai.inria.fr id p27FeloO001760 Subject: Re: [Caml-list] ocamlnet: Netheml: simple-dtd: how does this work? 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. > > 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 >