Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...XHTML 1.0 Strict validationXHTML 1.0 Strict validation
Previous
 
Next
New Post
5/28/2007 4:11 AM
 

Dear Sirs,

I started using Dotnetnuke more or less 2 months ago and I really appreciate what this cms can do. In Italy websites need to be xhtml 1.0 strict compliant, but when I try to validate my website built with DotNetNuke I always get 18 errors on the Home Page and 5 on the secondary pages. Can we hope for the next release to solve problems that still prevent DotNet Nuke based web sites from beeing Xhtml 1.0 strict compliant? I list the W3c markup validation service errors related to my website home. Some errors are linked to the announcement modulo and others to the html structure of DotNetNuke.

Please, tell me something about this matter as soon as possible as I need to decide if going on with DotnetNuke, hoping for a solution to this problem.

Thank You very much

Roberta

Result: Failed validation, 18 errors
File: Default.htm
Encoding: utf-8
Doctype: XHTML 1.0 Strict
Root Namespace: http://www.w3.org/1999/xhtml


Note: The Validator XML support has some limitations.
This page is not Valid XHTML 1.0 Strict!

Below are the results of checking this document for XML well-formedness and validity.
Error Line 19 column 15: there is no attribute "name".
    <form name="Form" method="post" action="/CMS/Default.aspx?alias=computerserver

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 82 column 43: there is no attribute "align".
...iv id="dnn_ctr427_ContentPane" align="right"><!-- Start_Module_427 --><div id


Error Line 399 column 149: there is no attribute "Summary".
...DesignTable" cellspacing="0" Summary="Announcements Design Table" border="0"


Warning Line 403 column 261: cannot generate system identifier for general entity "tabid".
...Click.aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagl

An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (;). The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".

Entity references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&amp;" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and &aelig; are different characters.

If this error appears in some markup generated by PHP's session handling code, this article has explanations and solutions to your problem.

Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed.


Error Line 403 column 261: general entity "tabid" not defined and no default entity.
...Click.aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagl

This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.


Warning Line 403 column 266: reference not terminated by REFC delimiter.
....aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli del

If you meant to include an entity that starts with "&", then you should terminate it with ";". Another reason for this error message is that you inadvertently created an entity by failing to escape an "&" character just before this text.


Warning Line 403 column 266: reference to external entity in attribute value.
....aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli del

This is generally the sign of an ampersand that was not properly escaped for inclusion in an attribute, in a href for example. You will need to escape all instances of '&' into '&amp;'.


Error Line 403 column 266: reference to entity "tabid" for which no system identifier could be generated.
....aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli del

This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&) in an URL or body text. See the previous message for further details.


Info Line 403 column 260: entity was defined here.
...kClick.aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettag
Warning Line 403 column 270: cannot generate system identifier for general entity "mid".
...x?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della n


Error Line 403 column 270: general entity "mid" not defined and no default entity.
...x?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della n


Warning Line 403 column 273: reference not terminated by REFC delimiter.
...ileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della noti


Warning Line 403 column 273: reference to external entity in attribute value.
...ileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della noti


Error Line 403 column 273: reference to entity "mid" for which no system identifier could be generated.
...ileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della noti


Info Line 403 column 269: entity was defined here.
...px?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della
Error Line 437 column 36: document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag.
    </span><div class="borderbottom"></div>

The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").


Warning Line 447 column 290: reference not terminated by REFC delimiter.
...k.aspx?fileticket=XkgejjGRCB8%3d&tabid=72&mid=454" title="Link ai dettagli de


Warning Line 447 column 290: reference to external entity in attribute value.
...k.aspx?fileticket=XkgejjGRCB8%3d&tabid=72&mid=454" title="Link ai dettagli de


Error Line 447 column 290: reference to entity "tabid" for which no system identifier could be generated.
...k.aspx?fileticket=XkgejjGRCB8%3d&tabid=72&mid=454" title="Link ai dettagli de


Info Line 403 column 260: entity was defined here.
...kClick.aspx?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettag
Warning Line 447 column 297: reference not terminated by REFC delimiter.
...fileticket=XkgejjGRCB8%3d&tabid=72&mid=454" title="Link ai dettagli della not


Warning Line 447 column 297: reference to external entity in attribute value.
...fileticket=XkgejjGRCB8%3d&tabid=72&mid=454" title="Link ai dettagli della not


Error Line 447 column 297: reference to entity "mid" for which no system identifier could be generated.
...fileticket=XkgejjGRCB8%3d&tabid=72&mid=454" title="Link ai dettagli della not


Info Line 403 column 269: entity was defined here.
...px?fileticket=oNLvMGgvr80%3d&tabid=72&mid=495" title="Link ai dettagli della
Error Line 494 column 4: document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag.
<div>Visita la&nbsp;galleria&nbsp;fotografica ..</div>


Error Line 495 column 2: document type does not allow element "p" here; missing one of "object", "ins", "del", "map", "button" start-tag.
<p><img height="100" alt="Link alla galleria fotografica" width="150" src="/CMS/


Error Line 526 column 36: document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag.
    </span><div class="borderbottom"></div>


Error Line 549 column 8: document type does not allow element "p" here; missing one of "object", "ins", "del", "map", "button" start-tag.
      <p>Numero1</p>


Error Line 552 column 8: document type does not allow element "p" here; missing one of "object", "ins", "del", "map", "button" start-tag.
      <p>Numero2</p>


Error Line 622 column 62: document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag.
... <input name="ScrollTop" type="hidden" id="ScrollTop" />


Error Line 623 column 70: document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag.
...dnnVariable" type="hidden" id="__dnnVariable" />


Error Line 624 column 6839: document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag.
...9tZWRl6RS8e6WYgfNe0wf5Ur4O94DbWQ==" /></form>

 
New Post
5/28/2007 4:47 PM
 

I don't know what the status is but some Core team members are working on this.

You can develop XHTML compliant skins but the problem is that most modules are not XHTML compliant.

I didn't try but snapsis pageblaster should allow you to change the output HTML in a way that the page would validate, that would help until DNN is really XHTML ready...

 
New Post
5/29/2007 2:44 AM
 

In practice you can tweak the DNN source to produce xhtml (transitional) code fairly easily. I made this small site in just a few hours - http://www.northmarket.se and amended the 4.5.0 core and a few modules, like feedback and faq's to produce validating code. It's mainly just adding /'s to <br>'s and the like.

As Timo hints, the problem is that third party modules are generally producing very poor html and there you would need to use something like the snapsis module to translate the output to valid html.

 
New Post
5/29/2007 6:52 AM
 

I had the same issues with dnn only I settle for xhtml transtional. I am building a complete portal now that untillnow still validates as xhtml 1.0 transitional ( a real web portal with lots of pages and all kinds of dynamic data, not a simple brochure like site with a few pages of static content )

In order to get his I dont use any basic module but only modules of my own. I dont use datagrids or dnn grids but repeaters. This way I know for sure that the repeated html data that i inserted in the page is valid and no extra junk is injected.

The core modules I do use i have to modify because the standard modules inject a  span class="normal tag around the module content. This is not allowed because a span is an inline element and all module content des have block level elments in them rendering the code immediately invalid

I also use the snapsis pageblaster module to do some replaces of invalid html data outputted by the skinning engine

width="0" on empty content pane tags  - delete the whole string

same goes for align="left" also delete this completely

reform br and hr tags to br/ and hr/

Unfortunately ths site is not life yet but in a feww weeks it will and ill be allowed to show it and will give more info on how i made it to

validate to xhtml transitional

section 508 compliant

WAI level 1 acessibillity ( 2 and 3 are for the next stage )

If you use mainly your own modules and forget about invalid dnn core modules you are on your way.  Ans also use  global tag replacement to make sure that invalid code outputted by skinning engin or other controls are replaced with the correct one.

Armand

 
New Post
5/29/2007 7:54 AM
 

Tim, is it really that easy?
I thought there was a lot of inline HTML layout in the core modules too...

 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...XHTML 1.0 Strict validationXHTML 1.0 Strict validation


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out