caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: oliver <oliver@first.in-berlin.de>
To: caml-list@inria.fr
Subject: Re: [Caml-list] ocamlnet: Netheml: simple-dtd: how does this work?
Date: Mon, 7 Mar 2011 15:53:07 +0100	[thread overview]
Message-ID: <20110307145307.GA2137@siouxsie> (raw)
In-Reply-To: <20110307144415.GA1600@siouxsie>

On Mon, Mar 07, 2011 at 03:44:15PM +0100, oliver wrote:
> On Mon, Mar 07, 2011 at 02:40:37PM +0100, Gerd Stolpmann wrote:
> > Am Montag, den 07.03.2011, 13:57 +0100 schrieb oliver:
> > > On Mon, Mar 07, 2011 at 01:27:55PM +0100, 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: <B><P>something</P></B> 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: <B></B><P>something</P>
> > > > (and the </B> 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.
> > > [...]
> > > 
> > > If formal HTML spec is sufficient to know the behaviour of the module,
> > > there would no need to have the dtd-argument, which seems, follwoinjg your
> > > explanations, to change the behavior in a way that it does NOT follow
> > > the formal specifications.
> > 
> > There is no standard regarding that (except that HTML is also SGML, and
> > there are some rules for that in SGML). You could also reject bad HTML.
> > But this has not become common practice (unlike for XML, for instance).
> > 
> > So, it depends on your HTML documents how you want to fix bad HTML.
> > That's the reason why you can configure it.
> [...]
> 
> But it's not mentioned how the dtd-Argument works.
[...]


For example, if you use the empty string "" as a tag,
it changes the parsing behaviour, even I doubt there is a tag
that has "" as name.

The same problem occurs with any phantasy-tag.

If I change non existing tags, why does the module parse correct html
different when using such a dtd-arg, compared to not using the dtd-arg?

I doubt I can find the answer in the HTML-spec.

Ciao,
   Oliver

  reply	other threads:[~2011-03-07 14:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-06 22:52 oliver
2011-03-07 12:27 ` Gerd Stolpmann
2011-03-07 12:57   ` oliver
2011-03-07 13:40     ` Gerd Stolpmann
2011-03-07 14:44       ` oliver
2011-03-07 14:53         ` oliver [this message]
2011-03-07 15:14         ` Gerd Stolpmann
2011-03-07 20:18           ` oliver
2011-03-07 15:40   ` Yoann Padioleau
2011-03-07 16:24     ` Gerd Stolpmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110307145307.GA2137@siouxsie \
    --to=oliver@first.in-berlin.de \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).