Hello guys!

I trying to produce a app that renders in XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>

How ever I got a form looking like this:

<s:form action="productcommentssave">
<s:textfield name="productComment.emailAddress" label="Email address" 
labelposition="top" maxlength="128" size="40" />
<s:textfield name="productComment.subject" label="Subject" labelposition="top" 
maxlength="128" size="40" />
<s:textarea name="productComment.text" label="Message (max 1024 chars)" 
cols="52" rows="5" labelposition="top" wrap="hard"/>
<s:submit />
<s:hidden name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME" value="%{formToken}" />
<s:hidden name="productid" value="%{product.id}" />
</s:form>

This gets rendered like:
25 <form id="productcommentssave" name="productcommentssave" 
action="/productcommentssave.action" method="post">
26 <table class="wwFormTable">
27 <tr>
28 <td align="left" valign="top" colspan="2"><label 
for="productcommentssave_productComment_emailAddress" class="label">Email 
address:</label></td>
29 </tr>
30 <tr>
31 <td
32><input type="text" name="productComment.emailAddress" size="40" 
maxlength="128" value="" 
id="productcommentssave_productComment_emailAddress"/></td>
33 </tr>
34
35
36 <tr>
37 <td align="left" valign="top" colspan="2"><label 
for="productcommentssave_productComment_subject" 
class="label">Subject:</label></td>
38 </tr>
39 <tr>
40 <td
41><input type="text" name="productComment.subject" size="40" maxlength="128" 
value="" id="productcommentssave_productComment_subject"/></td>
42 </tr>
43
44
45 <tr>
46 <td align="left" valign="top" colspan="2"><label 
for="productcommentssave_productComment_text" class="label">Message (max 1024 
chars):</label></td>
47 </tr>
48 <tr>
49 <td
50><textarea name="productComment.text" cols="52" rows="5" wrap="hard" 
id="productcommentssave_productComment_text"></textarea></td>
51 </tr>
52
53
54 <tr>
55 <td colspan="2"><div align="right"><input type="submit" 
id="productcommentssave_0" value="Submit"/>
56 </div></td>
57</tr>
58
59
60 <input type="hidden" name="PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME" 
value="1394108222515" 
id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
61 <input type="hidden" name="productid" value="3" 
id="productcommentssave_productid"/>
62 </table></form>

From http://validator.w3.org/#validate_by_input+with_options I validate it and 
get these 3 anoying errors:

Error Line 50, Column 63: there is no attribute "wrap"
…Comment.text" cols="52" rows="5" wrap="hard" id="productcommentssave_productCo…
You have used the attribute named above in your document, but the document type 
you are using does not support that attribute for this element. This error is 
often caused by incorrect use of the "Strict" document type with a document 
that uses frames (e.g. you must use the "Transitional" document type to get the 
"target" attribute), or by using vendor proprietary extensions such as 
"marginheight" (this is usually fixed by using CSS to achieve the desired 
effect instead).
This error may also result if the element itself is not supported in the 
document type you are using, as an undefined element will have no supported 
attributes; in this case, see the element-undefined error message for further 
information.
How to fix: check the spelling and case of the element and attribute, (Remember 
XHTML is all lower-case) and/or check that they are both allowed in the chosen 
document type, and/or use CSS instead of this attribute. If you received this 
error when using the <embed> element to incorporate flash media in a Web page, 
see the FAQ item on valid flash.

Error Line 60, Column 161: document type does not allow element "input" here
…1394108222515" id="productcommentssave_PRODUCTCOMMENTSACTION_FORM_TOKEN_NAME"/>
The element named above was found in a context where it is not allowed. This 
could mean that you have incorrectly nested elements -- such as a "style" 
element in the "body" section instead of inside "head" -- or two elements that 
overlap (which is not allowed).
One common cause for this error is the use of XHTML syntax in HTML documents. 
Due to HTML's rules of implicitly closed elements, this error can create 
cascading effects. For instance, using XHTML's "self-closing" tags for "meta" 
and "link" in the "head" section of a HTML document may cause the parser to 
infer the end of the "head" section and the beginning of the "body" section 
(where "link" and "meta" are not allowed; hence the reported error).

Error Line 61, Column 93: document type does not allow element "input" here
…t type="hidden" name="productid" value="3" id="productcommentssave_productid"/>
(same as at line 60)

Do you guys see anything that I could do to correct this? I would love to have 
a app with correct xhtml.

Best regards
Fredrik                                           

Reply via email to