Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #8088
| Message-ID | <2313595.P6UQk0Ptvu@PointedEars.de> (permalink) |
|---|---|
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
| Organization | PointedEars Software (PES) |
| Date | 2011-11-06 21:11 +0100 |
| Subject | Re: Code not working |
| Newsgroups | comp.lang.javascript |
| References | <11359e10-c765-4434-ae51-703c99b5d60f@x36g2000prb.googlegroups.com> <r14go8-eub.ln1@luuk.invalid.lan> <j93tcs$jcg$1@dont-email.me> <1996701.i4alEN71Z9@PointedEars.de> <j948qn$vn6$1@dont-email.me> |
| Followup-To | comp.lang.javascript |
Followups directed to: comp.lang.javascript
Jukka K. Korpela wrote:
> […] Thomas 'PointedEars' Lahn [wrote]:
>> Jukka K. Korpela wrote:
>>> 11/5/2011 6:15 PM, Luuk wrote:
>>>>> <script type="text/javscript">
>>>> you are missing an 'a' in 'javascript'
>>> This illustrates why it is better to write just<script>, unless company
>>> police forces you to conform to formal specs that make the type
>>> attribute required (for no good reason).
>>
>> No, it illustrates that a markup validator is to be used (before
>> publishing content).
>
> No markup validator reports <script type="text/javscript"> as an error
AISB, you will have to prove your assertions if you want to be taken
seriously.
> (because it is not a reportable markup error).
You are wrong.
The HTML 4.01 and 5 (Draft) Specifications state that the value of the
`type' attribute of the `script' element must be a "(valid MIME/)content
type" [1,2] (from here: MIME type). A valid MIME type should not only
conform to syntactical requirements for MIME types (although the HTML5 draft
states that this suffices [2]), but it should also be registered with IANA
[10], which limits the acceptable attribute values.
The set of MIME types that are reasonable to use here is further limited by
the element type. A markup validator could (indeed, it should) report at
least a warning for a non-registered MIME type such as "text/javscript", as
their use is "discouraged" by RFC 2616 [3], which HTML 4.01 through RFCs
2045 and 2046 [4], and HTML5 directly [5], refer to.
Since the W3C Markup Validator already does experimental markup validation
that is not based on a DTD, for HTML5 [6] (because there is no HTML5 DTD
[7]), it is not too much of a stretch to expect it to report that as an
error or at least issue a warning. Unfortunately, it does neither for now;
but other validators might do that already, and the W3C Markup Validator
could do that in the future. The set of registered MIME types, especially
the set of programming languages that can be used for client-side scripting
from within (X)HTML (or SVG), does not change so often to make it
unfeasible.
In addition to hard-coded validation, it is also possible to validate XHTML,
the XHTML syntax of HTML5 or any other XML-based document against an XML
Schema Definition (cf. [8,9]). XML Schema allows the definition of
restrictions for attribute values so that `type="text/javscript"' would not
pass validation. For a simple example ([8] slightly adapted):
…
<xs:simpleType name="ScriptType">
<xs:annotation>
<xs:documentation>
Media types for ECMAScript implementations, as per [RFC 4329]
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xsd:enumeration value="application/ecmascript"/>
<xsd:enumeration value="application/javascript"/>
<xsd:enumeration value="text/ecmascript"/>
<xsd:enumeration value="text/javascript"/>
</xs:restriction>
</xs:simpleType>
…
<xs:element name="script">
<xs:annotation>
<xs:documentation>
script statements, which may include CDATA sections
</xs:documentation>
</xs:annotation>
<xs:complexType mixed="true">
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="charset" type="Charset"/>
<xs:attribute name="type" use="required" type="ScriptType"/>
<xs:attribute name="src" type="URI"/>
<xs:attribute name="defer">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="defer"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute ref="xml:space" fixed="preserve"/>
</xs:complexType>
</xs:element>
For maximum flexibility, such a Schema or an equivalent list of acceptable
MIME types could be generated from [10] or resources such as /etc/mime.types
dynamically, or updated regularly.
So in fact there are various ways, including those mentioned, that allow
such errors in attribute values to be flagged upon markup validation.
PointedEars
___________
[1] <http://www.w3.org/TR/html401/interact/scripts.html#adef-type-SCRIPT>
[2] <http://dev.w3.org/html5/spec/scripting-1.html#attr-script-type>
[3] <http://tools.ietf.org/html/rfc2616#section-3.7>
[4] <http://www.w3.org/TR/html401/types.html#h-6.7>
[5] <http://dev.w3.org/html5/spec/infrastructure.html#valid-mime-type>
[6] <http://validator.w3.org/whatsnew.html>, "2008-11-20 — 0.8.4 release"
[7] <http://dev.w3.org/html5/spec/syntax.html#the-doctype>
[8] <http://www.w3.org/TR/xhtml1-schema/>
[9] <http://schneegans.de/sv/>
[10] <http://www.iana.org/assignments/media-types/index.html>
--
Danny Goodman's books are out of date and teach practices that are
positively harmful for cross-browser scripting.
-- Richard Cornford, cljs, <cife6q$253$1$8300dec7@news.demon.co.uk> (2004)
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Code not working Mclaren Fan <himanshu1495@gmail.com> - 2011-11-05 08:41 -0700
Re: Code not working williamc <temp4@williamc.com> - 2011-11-05 12:10 -0400
Re: Code not working Jake Jarvis <pig_in_shoes@yahoo.com> - 2011-11-05 17:19 +0100
Re: Code not working Luuk <Luuk@invalid.lan> - 2011-11-05 17:15 +0100
Re: Code not working "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2011-11-05 19:56 +0200
Re: Code not working Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-05 21:34 +0100
Re: Code not working "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2011-11-05 23:11 +0200
Re: Code not working Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2011-11-06 01:06 +0100
Re: Code not working Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-06 21:11 +0100
Re: Code not working "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2011-11-06 22:59 +0200
Re: Code not working Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-07 00:12 +0100
Re: Code not working Dr J R Stockton <reply1144@merlyn.demon.co.uk> - 2011-11-06 19:53 +0000
Re: Code not working Mike Duffy <Use_guestbook_page@website.in.sig> - 2011-11-07 02:54 +0000
Re: Code not working Denis McMahon <denismfmcmahon@gmail.com> - 2011-11-05 23:58 +0000
Re: Code not working Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2011-11-08 21:43 +0100
Re: Code not working Dr J R Stockton <reply1144@merlyn.demon.co.uk> - 2011-11-06 19:39 +0000
csiph-web