Frage

Ich habe eine Website codiert in XHTML 1.0 Strict bekam. Ich mag die neuen Mikrodaten verwenden, Paniermehl zu meiner Website hinzufügen (so Google wird verstehen, sie ).

Mein alter Nicht-Mikrodaten-up Paniermehl wie folgt aussehen:

<ul>
  <li><a href="...">Level 1</a></li>
  <li><a href="...">Level 2</a></li>
  <li><a href="...">Level 3</a></li>
</ul>

Laut Google Markup Paniermehl mit Mikrodaten, können Sie den obigen Code wie folgt erweitern:

<ul>
  <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
    <a href="..." itemprop="url">
      <span itemprop="title">Level 1</span>
    </a>
  </li>
  ...
</ul>

Das ist aber nicht gültig XHTML 1.0 Strict.

Was soll ich tun?
Soll ich ignorieren die Validierung Konflikte?
Soll ich schreiben itemscope="itemscope" statt nur itemscope (dies würde gültige XML, aber noch nicht gültig XHTML)?
Sollte ich den Doctype ändern HTML5 statt XHTML 1.0 Strict?

sein

Das möchte ich den ganzen Weg zurück zu IE6 arbeiten!

Bitte Hinweise:)

War es hilfreich?

Lösung

Ja, wenn Sie itemscope in XHTML verwenden wollen, Sie schreiben itemscope="itemscope" benötigen würden und verwenden XHTML5 (gleiche DOCTYPE wie HTML5, aber XML-Syntax).

itemscope wird in W3 HTML5 nicht enthalten, aber in WHATWG-Version, so Validierung weiterhin eine Schwierigkeit sein. Es scheint in dieser Frage durchaus einige politische Argument zu sein, die ich haven ‚t verfolgt, da es ziemlich langweilig aussieht.

Für den Moment, wenn Sie Brotkrumen-Anmerkungen in einem abgeschlossenen, validierbares Dokumentformat verwenden möchten, können Sie RDFa statt: die Alternative (aber älter) Vorschlag, der das Argument dreht sich alles um, und verwenden Sie die vorhandenen Doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">

Andere Tipps

Da die großen Suchmaschinen haben sich entschieden, auf schema.org im Juni letzten Jahres (2011) als die Art und Weise reich zu tun Schnipsel hat sich diese Frage XHTML5 nicht sehen, viel wichtiger geworden noch nicht über eine funktionierende DTD (BTW, http://www.html5dtd.org/ arbeitet an einer XHTML5 DTD und gut bereit sein können, wenn Sie dies lesen, wenn ja Missachtung, was ich zu sagen). Und was ich bin zu sagen fasst eine Seite, die ich gestellt unter http://www.nedprod.com/programs/portable/ vor XHTMLwithHTML5microdata / ein paar Wochen, und es ausführlicher hat darunter ein Rich Snippets Demo, wenn Sie es wollen.

hatte ich Notwendigkeit der Erweiterung XHTML 1.x Strenge mit schema.org/HTML5 Mikrodaten und bekommen es alle richtig für die Aktualisierung nedprod zu validieren und Microsoft Expression Web hat die gelegentliche Neigung Bits von HTML zu essen es bearbeitet, so Validierung handlich für den Fang, wenn es Borks. Daher habe ich diese DTDs erstellt, die die Standards XHTML 1.0 diejenigen erweitern:

verwenden, Nehmen Sie eine Kopie der gewünschten DTD (nicht das Original von nedprod verwenden, kann ich nicht die Bandbreite leisten) und die Verwendung wie folgt:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict with HTML5 microdata//EN" "xhtml1-strict-with-html5-microdata.dtd">

oder ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional with HTML5 microdata//EN" "xhtml1-transitional-with-html5-microdata.dtd">

... oder was wahrscheinlicher ist, außer Kraft setzen die DTD verwendet zur Validierung durch Ihre speziellen XML-Validierung-Setup.

BTW, hier ist etwas interessant, und ich schließe nur das, wie es nützlich ist, zu wissen, wann die Frage zu beantworten. Ich ehrlich zu Gott gedacht, dass die oben doctypes verwenden würde Quirks-Modus aufrufen beim Rendern. Es stellte sich heraus, viel zu meiner großen Überraschung, dass IE8, Chrome 14, Firefox 5 und Opera 11.50 all so ein Doctype in Standard-Modus machen. Wer hätte das gedacht! So kann man, wenn man will, Ihre XHTML-Seiten auf das öffentliche Internet mit dem benutzerdefinierten Doctype und den neueren Browsern zumindest laden würde, das Richtige tun.

Hope dies hilft jemand,
Niall

Valid HTML 5 Beispiel

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example page</title>
</head>
<body>
    <div itemscope="" itemtype="http://schema.org/MediaObject">
        <div itemprop="video" itemscope="" itemtype="http://schema.org/VideoObject">
           <meta itemprop="name" content="Breast Augmentation Video Diary">
           <meta itemprop="duration" content="PT12M54S">
           <meta itemprop="thumbnailUrl" content="http://www.plastic-surgery-estonia.com/new-assets/images/thumbnails/breast-augmentation.jpg">
           <meta itemprop="contentURL" content="http://www.youtube.com/watch?v=BwPN6eCpxTk">
           <meta itemprop="embedURL" content="http://www.youtube.com/watch?feature=player_embedded&amp;v=BwPN6eCpxTk">
           <meta itemprop="uploadDate" content="2010-11-09">
           <iframe src="http://www.youtube.com/embed/BwPN6eCpxTk?rel=0&amp;autohide=1&amp;modestbranding=1&amp;showinfo=0"></iframe>
           <span itemprop="description">Video Diary</span>
        </div>
   </div>
</body>
</html>

Gefunden diese Links hilfreich:
- http://support.google.com/ webmasters / bin / answer.py? hl = de & answer = 2413309 & topic = 1088474 & ctx = Thema
- http://www.reelseo.com/embedded-youtube-indexed-google/

Mit dem application/ld+json MIME-Typ und einem Mikrogenerator das Markup in Daten zu transformieren, :

<!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>microdata.xhtml</title>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    </head>
    <body>
      <div>
      <script type="application/ld+json">
      {"items": [{
        "type": ["https://schema.org/breadcrumb"],
        "properties":{ 
        "url": ["..."],
        "title": ["Level 1"]
        }
       }]
      }
      </script>
      </div>
    </body>
    </html>

oder ein data:uri in einem Objekt-Tag:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>microdata.xhtml</title>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    </head>
    <body>
      <div>
        <object data="data:text/html;charset=utf-8;base64,PHVsPiA8bGkgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9CcmVhZGNydW1iIj4gICAgICAgICA8YSBocmVmPSIuLi4iIGl0ZW1wcm9wPSJ1cmwiPiAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9InRpdGxlIj5MZXZlbCAxPC9zcGFuPiAgICAgICAgIDwvYT4gICAgICAgICA8L2xpPiAgICAgICA8L3VsPg==">

          <?microdata
          <ul>
            <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
             <a href="..." itemprop="url">
               <span itemprop="title">Level 1</span>
             </a>
            </li>
          </ul>
          ?>

        </object>
      
        <!--[if lt IE 8]>
        <object data="mhtml://#foo">

          <?microdata
          <ul>
            <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
             <a href="..." itemprop="url">
               <span itemprop="title">Level 1</span>
             </a>
            </li>
          </ul>
          ?>
          <div id="foo">
              PHVsPiA8bGkgaXRlbXNjb3BlIGl0ZW10eXBlPSJodHRwOi8vZGF0YS12b2NhYnVsYXJ5Lm9yZy9CcmVhZGNydW1iIj4gICAgICAgICA8YSBocmVmPSIuLi4iIGl0ZW1wcm9wPSJ1cmwiPiAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9InRpdGxlIj5MZXZlbCAxPC9zcGFuPiAgICAgICAgIDwvYT4gICAgICAgICA8L2xpPiAgICAgICA8L3VsPg==
          </div>
       </object>
       <![endif]-->
      </div>
    </body>
    </html>

  

Das möchte ich den ganzen Weg zurück zu IE6 arbeiten!

Mit der application/xhtml+xml XSLT Shim IE6 zu unterstützen und erweitern eine Kopie des Markup zu erhalten.

Referenzen

versuchen, einige der Google-Seiten zu validieren ... sie nicht überprüft. Validierung ist ein Werkzeug, einen ehrfürchtigen ein, aber nichts mehr, obwohl ich Ihre Entschlossenheit applaudieren tun. wenn Sie, dass über die Validierung besorgt würde ich auf HTML5 wechseln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top