Twilo: Validator meckert rum

Hallo,

ich habe folgenden Code

  
<!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" dir="ltr" lang="de" xml:lang="de">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>test</title>  
</head>  
  
<body>  
<script type="text/javascript">  
  document.write('<p>test</p>');  
</script>  
</body>  
</html>  

der Validator gibt mir folgenden Fehler aus

Line 10, column 19: document type does not allow element "p" here

document.write('<p>test</p>');

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).

könnte mich einer aufklöären, warum das nicht funktioniert, oder eine entsprechende Lektüre geben :)

mfg
Twilo

  1. Tag Twilo.

    Line 10, column 19: document type does not allow element "p" here
    document.write('<p>test</p>');
    könnte mich einer aufklöären, warum das nicht funktioniert, oder eine entsprechende Lektüre geben :)

    Der Javascript-Bereich (eröffnet durch <script>) ist am Slash zu Ende. Das folgende P-Element ergibt somit keinen Sinn. Maskierst du den Slash mit einem Backslash, sollte das dein Problem lösen.

    Siechfred

    1. Hallo Siechfred,,

      Line 10, column 19: document type does not allow element "p" here
      document.write('<p>test</p>');
      könnte mich einer aufklöären, warum das nicht funktioniert, oder eine entsprechende Lektüre geben :)

      Der Javascript-Bereich (eröffnet durch <script>) ist am Slash zu Ende. Das folgende P-Element ergibt somit keinen Sinn. Maskierst du den Slash mit einem Backslash, sollte das dein Problem lösen.

      wenn du das so meinst

      <script type="text/javascript">  
       document.write('<p>test<\/p>');  
      </script>
      

      bekomme ich 4 Fehler :-/

      Line 10, column 19: document type does not allow element "p" here

      document.write('<p>test</p>');

      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).

      Line 10, column 24: character "<" is the first character of a delimiter but occurred as data

      document.write('<p>test</p>');

      If you wish to include the "<" character in your output, you should escape it as "&lt;". Another possibility is that you forgot to close quotes in a previous tag.

      Line 11, column 8: end tag for "p" omitted, but OMITTAG NO was specified

      </script>

      You may have neglected to close a tag, or perhaps you meant to "self-close" a tag; that is, ending it with "/>" instead of ">".

      Line 10, column 17: start tag was here

      document.write('<p>test</p>');

      mfg
      Twilo

      1. Hi !

        Probier doch mal

        <SCRIPT LANGUAGE="JavaScript">
        document.write("<p>test</p>");
        </SCRIPT>

        Gruß

        Hans

        1. Hi,

          Probier doch mal
          <SCRIPT LANGUAGE="JavaScript">

          in XHTML/1.0 Strict gibt es kein <SCRIPT>-Element.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Hallo,

            Probier doch mal
            <SCRIPT LANGUAGE="JavaScript">

            in XHTML/1.0 Strict gibt es kein <SCRIPT>-Element.

            und erst recht kein ->LANGUAGE="JavaScript"<- ;-)

            mfg
            Twilo

  2. Hallo Twilo

    <script type="text/javascript">
      document.write('<p>test</p>');

    Du solltest den / maskieren:

      
        document.write('<p>test<\/p>');  
    
    

    </script>

    könnte mich einer aufklöären, warum das nicht funktioniert, oder eine entsprechende Lektüre geben :)

    Der / in </p> beendet <script>. Deswegen maskieren, danach sollte der Validator nicht mehr meckern. <body> darf laut der von Dir verwendeten DTD <p>-Elemente enthalten.

    Freundliche Grüße

    Vinzenz

  3. der Validator gibt mir folgenden Fehler aus

    Line 10, column 19: document type does not allow element "p" here

    in XHTML sind die Scriptblöcke CDATA
    <![CDATA[
      document.write('<p>test</p>');
    ]]>

    (aber frag mich nicht was das heißt - ich weiß es nicht)

    Struppi.

    1. Hallo Struppi.

      in XHTML sind die Scriptblöcke CDATA
      <![CDATA[
        document.write('<p>test</p>');
      ]]>

      (aber frag mich nicht was das heißt - ich weiß es nicht)

      [Wikipedia: CDATA]

      Gruß, Ashura

      --
      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
      30 Days to becoming an Opera8 Lover -- Day 19: Notes
      Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
      [Deshalb frei! - Argumente pro freie Software]
      1. [Wikipedia: CDATA]

        Ich wußte doch das ein kluger Mensch weiterhilft ;-)

        Struppi.

    2. Lieber Struppi,

      in XHTML sind die Scriptblöcke CDATA
      <![CDATA[
        document.write('<p>test</p>');
      ]]>

      (aber frag mich nicht was das heißt - ich weiß es nicht)

      Auweia, da muss ich wohl _einiges_ an meinen Seiten ändern... Wenn ich das früher gewusst (bzw. nachgelesen) hätte! Man lernt ja bekanntlich nie aus.

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

    3. Hallo,

      in XHTML sind die Scriptblöcke CDATA
      <![CDATA[
        document.write('<p>test</p>');
      ]]>

      Besser die Markierungen auskommentieren, sonst werden sie u.U. als JavaScript-Code missverstanden:

      <script type="text/javascript">
      // <![CDATA[
      document.write('<p>test</p>');
      // ]]>
      </script>

      http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style

      Mathias

    4. Hallo,

      in XHTML sind die Scriptblöcke CDATA
      <![CDATA[
        document.write('<p>test</p>');
      ]]>

      super, das war es :-)

      mfg
      Twilo

  4. Vielleicht akzeptiert der Validator das '' nicht für Strings, sondern nur für Zeichen.
    Nach irgendeinem alten ECMA-Standart soll man für Zeichen 'c' nehmen und für Strings "ccc" nehmen (Obwohl heutzutage alle Browser beides für Strings akzeptieren).