Validating Python - need doctype HTML strict

Circa circa4780 at hotmail.com
Tue Jul 11 16:09:39 EDT 2006


Thanks Ben,

As you can see it's my first try at Python...or any programming for
that matter.

I solved the problem of validation by adding three """ quotes after the
print command and before the body, as follows:

Thanks for clearing that up!

-----------------------

import time

#print HTTP/HTML header stuff
print """Content-type: text/html; charset=utf-8\n\n

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<title>Current Time</title>

</head> <body>
"""

print

#print HTML body using Python-HTML hybrid script
print "<h1>Current Time</h1>"

print "<p>Right now, it is "

print "<strong>", time.asctime(), "</strong></p>"

print """<p>
    <a href="http://validator.w3.org/check?uri=referer"><img
        src="http://www.w3.org/Icons/valid-xhtml10"
        alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>
  </p>
"""

print "</body></html>"
Ben Sizer wrote:
> PapaRandy wrote:
>
> > When I add the doctype, and other necessities to the .py page
> >
> > (i.e., <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
> >         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> > <html xmlns="http://www.w3.org/1999/xhtml"" xml:lang="en" lang="en">)
> >
> > I get an invalid script error.
>
> Bear in mind, that this isn't 'a webpage', it's a computer program that
> creates a webpage. So you're not 'adding a doctype', you're 'adding
> some code to output a doctype', and similarly it's not Python you're
> validating, it's the output it creates that you validate. These are
> important distinctions.
>
> Anyway, what is the exact line of code you use to 'add the doctype'?
> And what is this 'invalid script error'? It's hard to debug your code
> when we have to guess what it is! However, because I'm in a good mood,
> I'll have a go.
>
> You probably need to escape the double quotes in the doctype because
> they unintentionally correspond with the double quotes in your print
> statement. The print statement uses double quotes to delimit the
> output, and the doctype uses them to delimit the type. Unfortunately
> the print statement probably interprets the start of the doctype's type
> field as the end of the print statement. Add a backslash before each
> double quote within your doctype and see how that goes. Alternatively
> you could possibly use single quotes in it instead.
> 
> -- 
> Ben Sizer




More information about the Python-list mailing list