- From: <html-tidy@war-of-the-worlds.org>
- Date: Tue, 20 Jun 2000 14:03:14 -0500
- To: html-tidy@w3.org
FITZ Michael <michael.fitz@creditanstalt.co.at> wrote: >Hi, <SPAN CLASS="SimpsonsDrNick">Hi, Michael Fitz!</SPAN> >This is the original: > ><DL> ><A HREF="#BookI1"><DT>Item1<DD>This is Item1</A> ><A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> ></DL> > >This is what Tidy says: I'll diagram the process as I did the other message on the H1 in CAPTION error, except this time, since the errors aren't one after another, I'll include before and after shots. === Before Error: <DL> + <A HREF="#BookI1"><DT>Item1<DD>This is Item1</A> <A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> </DL> >line 11 column 1 - Warning: missing <dd> After error: <DL> <DD> + <A HREF="#BookI1"><DT>Item1<DD>This is Item1</A> <A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> </DL> === Before error: <DL> <DD> <A HREF="#BookI1"> + <DT>Item1<DD>This is Item1</A> <A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> </DL> >line 11 column 19 - Warning: missing </a> before <dt> After error: <DL> <DD> <A HREF="#BookI1"> </A> + <DT>Item1<DD>This is Item1</A> <A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> </DL> === <DL> <DD> <A HREF="#BookI1"> </A> <DT> Item1 <DD> This is Item1 + </A> <A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> </DL> >line 11 column 45 - Warning: discarding unexpected </a> <DL> <DD> <A HREF="#BookI1"> </A> <DT> Item1 <DD> This is Item1 + <A HREF="#BookI2"><DT>Item2<DD>This is Item2</A> </DL> === <DL> <DD> <A HREF="#BookI1"> </A> <DT> Item1 <DD> This is Item1 <A HREF="#BookI2"> + <DT>Item2<DD>This is Item2</A> </DL> Note that, because you didn't explicitly close the <DD> with </DD>, the next <A> is treated as part of that DD. It doesn't close implicitly until the <DT>. >line 12 column 19 - Warning: missing </a> before <dt> <DL> <DD> <A HREF="#BookI1"> </A> <DT> Item1 <DD> This is Item1 <A HREF="#BookI2"> </A> + <DT>Item2<DD>This is Item2</A> </DL> === <DL> <DD> <A HREF="#BookI1"> </A> <DT> Item1 <DD> This is Item1 <A HREF="#BookI2"> </A> <DT> Item2 <DD> This is Item2 + </A> </DL> >line 12 column 45 - Warning: discarding unexpected </a> <DL> <DD> <A HREF="#BookI1"> </A> <DT> Item1 <DD> This is Item1 <A HREF="#BookI2"> </A> <DT> Item2 <DD> This is Item2 + </DL> === >line 17 column 15 - Warning: missing </a> before <p> >line 19 column 13 - Warning: discarding unexpected </a> These errors seem to be extraneous to the snippet. Looks like a case of <A><P>...</A>. You can write it as <P><A>...</A> instead with the same result and no parsing error. >This is was Tidy produces: > ><DL> ><DD><A HREF="#BookI1"></A></DD> > ><DT>Item1</DT> > ><DD>This is Item1 <A HREF="#BookI2"></A></DD> > ><DT>Item2</DT> > ><DD>This is Item2</DD> ></DL> Yup, that agrees with the above with the addition of the explicit tag closure. >I really wanted the complete DT/DD-Pair to be a link... That's not legal markup. <!ELEMENT DL - - (DT|DD)+ -- definition list --> A definition list can only contain definition list terms and definition list definitions. Anchors (<A>) are invalid markup and Tidy is right to complain and adjust for them. >The same is true if >two (or more paragraphs <P>) are contained within one link. Ah, I guess then the example above should have been <A><P>...<P>...</A> being translated to the legal <P><A>...</A><P><A>...</A> (or, preferably, <P><A>...</A></P><P><A>...</A></P> >I think that >tidy should not bother about the contents of a link (<SPAN>, <I> etc are yet >accepted) That's because they're legal inside an anchor and DL, DT, DD, and P (just to name a very few) are not: <!ENTITY % fontstyle "TT | I | B | U | S | STRIKE | BIG | SMALL"> <!ENTITY % special "A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO | IFRAME"> <!-- %inline; covers inline or "text-level" elements --> <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;"> <!ELEMENT A - - (%inline;)* -(A) -- anchor --> >and accept allthing within. That is tag soup. Tidy is supposed to correct the errors present in tag soup, not preserve them. >The above example I would manually >tidy to: > ><DL> > ><A HREF="#BookI1"> ><DT>Item1</DT> ><DD>This is Item1</DD> ></A> > ><A HREF="#BookI2"> ><DT>Item2</DT> ><DD>This is Item2</DD> ></A> > ></DL> I'd manually tidy it to: <DL> <DT><A HREF="#BookI1">Item1</A></DT> <DD><A HREF="#BookI1">This is Item1</A></DD> <DT><A HREF="#BookI2">Item2</A></DT> <DD><A HREF="#BookI2">This is Item2</A></DD> </DL> That would be valid, and it would be nice if Tidy had the option to propagate illegal (specifically reversed block-inline) nesting into the tags to the places where it would be legal (as a tag-soup author like Michael would intend). I thought we were doing this already with presentational markup; why not expand it beyond just %fontstyle; and %phrase; markup and include some elements of %special; (A, Q, SUB, SUP, SPAN, BDO)?
Received on Tuesday, 20 June 2000 15:03:19 UTC