The challenges of validating cubicgarden

Validation

Its one of the dirty little secrets of my blog, I’ve never been able to get it to validate to xhtml because of a combination of things. So first up lets have a look at how many errors I currently receive. 127 validation errors to be exact at the moment without this post. But its honestly not that bad, well it is but let me show you the better side first. If I just validate just one post with my current theme/style you will see there is only 4 errors and they all point towards my search box which actually links to Blogdigger.com.

form method=”get” action=”http://groups.blogdigger.com/groups.jsp?search=1″
input type=”text” size=”31″ name=”q”
input type=”hidden” name=”id” value=”1065″
input type=”hidden” name=”sortby” value=”date”
/form

So to solve this problem I need to wrap the input elements in another element first. This is simple as I just added a div with a id around the input elements.

Ok so moving on, lets try another single post entry. The errors are varied, but the first one is Error Line 125, column 167: there is no attribute “border”. Yeah easy to fix, but why would I make some a school boy error? Well I dont its actually my blogging application which automaticly adds it when I make a image element. I just keep forgetting to remove it. So the easy thing to do would be to change blogging client, specially seeing how i’ve been meaning to change to something more powerful for quite some time. I tried to notify the author but had no reply and theres no forum or bug tracking. Worst still I cant actually change the element properties in wbloggar. So I’m going to try Performancing for Firefox and maybe even pay for Ecto. Till then I’m having to edit my posts to remove that border=0. Oh by the way Error Line 125, column 172: required attribute “alt” not specified is also because wbloggar puts the alt attribute as a title attribute instead. Another reason to move away from wbloggar.

My next error is my own fault. I’ve forgotten the fact that the Blockquote element should not contain text content only another block level element like a paragraph. So once again I need to go back through my entries and change that. I’ve also changed my wbloggar custom tag to add a paragraph element inside the blockquote element. When I change to ecto or something else, I hope it does this out of the box.

Ok so were almost there now. But wait here’s the big problem. Lets take my last 5 entries including this one which I was typing at the same time as validating.

3. Warning Line 125, column 438: reference not terminated by REFC delimiter
…ojsom%2Fblog%2Fcubicgarden%2F&charset=%28detect+automatically%29&doctype=XHTM
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.

4. Warning Line 125, column 438: reference to external entity in attribute value .
…ojsom%2Fblog%2Fcubicgarden%2F&charset=%28detect+automatically%29&doctype=XHTM
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 ‘&’.

5. Error Line 125, column 438: reference to entity “charset” for which no system identifier could be generated .
…ojsom%2Fblog%2Fcubicgarden%2F&charset=%28detect+automatically%29&doctype=XHTM
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.

So basicly all the URLs need to be converted to include ampersands otherwise I will never be able to get a validating weblog. So I’m looking into my Velocity templates if there is anything which can be done. I thought I’d have a look around at other popular blojsom based blogs, see if the problem is the same. First up David Czarnecki, same problem. Ravensbourne’s Mobile learning blog, same problem. IRIS at VeriSign, yep you guessed it same problem. A quick look across the web and the problem seems to be hit and miss. Ben Metcalfe, Robert Scoble, Jeremy Zawodny, Consuming Experience, etc. Geez, theres got to be a way to solve this without actually recrafting urls when blogging?