ホームページ制作、千太の絵空事

時に勝つ!投稿できることに感謝しています。(千太) SINCE 2005

全体表示

[ リスト ]

HTML4との違い(XHTML1.0)

HTML4との違い(XHTML1.0)


  • Well-formedness:整形式
  • 要素名、属性名は小文字
  • 非空要素の終了タグは必須
  • 属性値は常に引用符
  • 属性最小化
  • 空要素
  • 属性値内での余白の扱い
  • スクリプト、スタイル要素
  • SGMLの排除
  • 要素のid、name属性

Well-formedness:整形式


Well-formednessは[XML]で導入された新しい概念です。


  • 本質的にはすべての要素が終了タグを持つ
    ([特殊な形式]を除く)
  • すべての要素がnest入れ子の状態でなけらばならない。


  • 正しい例(要素が入れ子になっている。)
    <p>here is an emphasized <em>paragraph</em>.</p>
    

  • 誤: (要素がoverlapping 重なり合っている)
    <p>here is an emphasized <em>paragraph.</p></em>
    

要素名、属性名は小文字


要素名や属性名には小文字を使用します(必ずです。)

例えば[XML]としては <li> と <LI> とは異なるタグと認識するからです。

非空要素の終了タグは必須


SGMLに基いたHTML4では終了タグを省略されるのを許されていた一部の要素があります。
この省略は、XMLに基いたXHTMLにおいては許されません。
DTDで EMPTY として宣言されている空要素以外の
すべての要素に終了タグは必須です。
  • 正しい例:
    <p>here is a paragraph.</p><p>here is another paragraph.</p>
    
  • 誤:
    <p>here is a paragraph.<p>here is another paragraph.
    
    
    

属性値は常に引用符

属性値は、引用符で括って使用します。(必須)
  • 正しい例: 属性値が引用符で括られています。
    <table rows="3"> 
    
  • 誤: 属性値が引用符で括られていません。
    <table rows=3>
    

属性最小化

XMLは属性最小化をサポートしていません。
ですのでXHTMLでも
属性値ペア(属性名とその属性値)は完全でなければなりません。

  • 正しい例:
    <dl compact="compact">
    

  • <dl compact>
    

空要素

Empty Elements 空要素は
<br/> や <hr></hr> のように開始タグが/>であるか
終了タグがある必要があります。

後方互換性→[Compatibility Guidelines]互換性ガイドライン

属性値内での余白の扱い


Section 3.3.3ofXML
  • 属性値の先頭、末尾の余白を剥ぎ取られます
  • 1つ以上の余白文字(改行を含む)単一の単語間スペースへと割付けされます。

スクリプト、スタイル要素

XHTMLでは、スクリプト、スタイル要素は、[#PCDATA ] を内容に保有するとして宣言されています。
< や & は、マークアップの始まりとして認識されます。

例えばXMLプロセッサは&lt; や &amp; などの実体は、実体参照として、 < や & に認識することになります。

スクリプト、スタイル要素の内容を CDATA マークの領域に内包させることにより、実体の展開が避けられる。

  • script type="text/javascript">
    <![CDATA[
    ... unescaped script content ...
    ]]>
    </script>
    
    ※:&は&です。jはjです。

この場合CDATAの領域は、XMLプロセッサにより認識され、ドキュメントオブジェクトモデルのノードとして出現します。
※: Section 1.3of the DOM Level 1 Recommendation DOM.

SGMLの排除

SGMLではDTDの執筆者に、要素に内包されていることから、特定の要素を除外することができますが、XMLにおいては不可能です。

例えば、HTML4のStrict DTDではa要素の中に他のa要素を入れ子とすることを子孫の深さによらず禁止していますが、これをXMLで完全に綴るのは不可能となっています。

※:一定に入れ子にできない要素や、要素の中で入れ子に出来ない要素などはElement Prohibitions
[要素の禁止]


要素のid、name属性

HTML4でname 属性を定義た要素はa, applet, form, frame, iframe, img, map ですが、
HTML4は、id 属性も導入しています。
これらの属性はfragment identifiersフラグメント識別子として扱われるように設計されています。


ですが、XHTML 1.0 では、id 属性が ID 型として定義されています。

  • XMLではフラグメント識別子は''type ID''ID型ですので、
    要素のID 型の属性は1個となります。
    

厳密な正確なXML文書であることを保証する必要がある場合に、XHTML 1.0 文書では name 属性のある要素であっても、id 属性を使う必要があります。

※XHTML文書をtext/htmlとして配布する場合:
アンカーの後方互換性としてはこちら→Compatibility Guidelines

【注意】XHTML 1.0 では、これらの要素の name 属性は公式には廃止予定とされていました。後続バージョンの[XHTML1.1]で廃止となっています。


更新8:34 2005/12/20

.
*************
*************
非公開 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について
検索 検索

過去の記事一覧

ブログバナー

友だち(1)
  • ペーパーキャプテン・りヴぁ
友だち一覧

Yahoo!からのお知らせ

よしもとブログランキング

もっと見る

[PR]お得情報

ふるさと納税サイト≪さとふる≫
実質2000円で好きなお礼品を選べる
毎日人気ランキング更新中!
数量限定!イオンおまとめ企画
「無料お試しクーポン」か
「値引きクーポン」が必ず当たる!

その他のキャンペーン


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事