div 要素に src 属性はちょっと......

アイデアとしては面白いと思うし、こんなこと書くと細けーなぁと言われそうなのでなんですが、それでもできるだけ valid な (X)HTML を書いた方がいいよと...

アイデアとしては面白いと思うし、こんなこと書くと細けーなぁと言われそうなのでなんですが、それでもできるだけ valid な (X)HTML を書いた方がいいよと思っている者としては一応書いておきます。参考までに。

ちなみに元ネタは Sprinkle Javascript library by Jon Davis

簡単に言えば

<script src="sprinkle.js"></script>
 
<div src="info.html"></div>

みたいなソースを書くわけだけど、気になったのはタイトルの通り。

例えば XHTML 1.0 Strict DTD で div 要素は、

<!ELEMENT div %Flow;>  <!-- generic language/style container -->
<!ATTLIST div
  %attrs;
  >

であり、%attrs; は

<!ENTITY % attrs "%coreattrs; %i18n; %events;">

だから、使用できる属性は

<!ENTITY % coreattrs
 "id          ID             #IMPLIED
  class       CDATA          #IMPLIED
  style       %StyleSheet;   #IMPLIED
  title       %Text;         #IMPLIED"
  >
 
<!ENTITY % i18n
 "lang        %LanguageCode; #IMPLIED
  xml:lang    %LanguageCode; #IMPLIED
  dir         (ltr|rtl)      #IMPLIED"
  >
 
<!ENTITY % events
 "onclick     %Script;       #IMPLIED
  ondblclick  %Script;       #IMPLIED
  onmousedown %Script;       #IMPLIED
  onmouseup   %Script;       #IMPLIED
  onmouseover %Script;       #IMPLIED
  onmousemove %Script;       #IMPLIED
  onmouseout  %Script;       #IMPLIED
  onkeypress  %Script;       #IMPLIED
  onkeydown   %Script;       #IMPLIED
  onkeyup     %Script;       #IMPLIED"
  >

なわけで、div 要素に src 属性付けると valid じゃなくなっちゃう。これは 他の XHTML でも、HTML 4.01 でも同じ。

それなら記述自体は SSI と統一して

<!--#include virtual="example.html"-->

とかって書いてあったら該当ファイルを差し込んでくれたりしたらいいのにな。これなら SSI が使える環境でも使えない環境でも同じファイルが使えるし。ならお前が書けとか言われそうでドキドキしますが。

あと、この sprinkle.js 、色々とオプションもあるみたいですね。「Other notes」 以下に他の属性と組み合わせて色々やる方法が書かれています。

9月21日 追記
紹介記事としては下記の方が先のようですね。

記事をここまで御覧頂きありがとうございます。
この記事が気に入ったらサポートしてみませんか?