([[名無しさん]] [WEAK[2007-04-29 02:31:57 +00:00]])
[[#comment]]
** 歴史
[25] 元々の [[WinIE]] の実装では ([[HTML 3]] でも??)、
[CODE(HTMLe)[ins]] と [CODE(HTMLe)[[[del]]]] は
[CODE(HTMLe)[[[em]]]] や [CODE(HTMLe)[[[code]]]]
などと同じような[[行内要素]]でした。
[[ブロック水準要素]]としても使える特殊な扱いになったのは [[HTML 4]]
からです。
[[#comment]]
** 関連
[3]
逆に削除された部分をマークする [CODE(HTMLe)[[[del]]]]
要素型も用意されています。
[[XHTML 2]] では[[汎用属性]] [CODE(XHTMLa)[[[edit]]]]
として一般化される見込みです。
[26]
'''[[リスト]], [[表]]の項目の追加''':
[CODE(HTMLe)@en[[[ul]]]], [CODE(HTMLe)@en[[[ol]]]],
[CODE(HTMLe)@en[[[dl]]]], [CODE(HTMLe)@en[[[table]]]]
などの[[子供]]として、 [CODE(HTMLe)@en[[[li]]]],
[CODE(HTMLe)@en[[[dd]]]], [CODE(HTMLe)@en[[[tr]]]],
[CODE(HTMLe)@en[[[td]]]] の[[親]]になるような
[CODE(HTMLe)@en[[[ins]]]] 要素を[Q[挟む]]ことはできません。
([[HTML 4]] や [[XHTML 1.0]] の仕様上の限界です。
[WEAK[[[HTML 4]] [[DTD]] では [CODE(HTMLe)@en[[[ul]]]] などの[[子供]]として [CODE(HTMLe)@en[[[ins]]]] を使うことも可能ですが、 [CODE(HTMLe)@en[[[ins]]]] の[[子供]]として [CODE(HTMLe)@en[[[li]]]] などを使うことが出来ないので、意味がありません。]])
([[名無しさん]] [sage])
[[#comment]]
** 例
[8] (HTML 4 仕様書より):
[PRE(HTML)[
Furthermore, the latest figures from the marketing department
suggest that such practice is on the rise.
]PRE]
[CODE(HTMLa)[datetime]] 属性は修正日時、
[CODE(HTMLa)[cite]] 属性は修正理由の書かれた資源を記述できます。
[9] (HTML 4 仕様書より):
[PRE(HTML)[
Furthermore, the latest figures from the marketing department
suggest that such practice is on the rise.
]PRE]
[CODE(HTMLa)[title]] 属性は修正理由の簡単な説明のために使うことができます。
[7] 不正な例 (HTML 4 仕様書より):
[PRE(HTML)[
...block-level content...
]PRE]
[19]
複数の修正の重なった例:
>
利用者エージェントは、ここをこうしなければなりませんするべきですするように利用者を促さなければなりません。
この例では、第2版における修正を
[CODE[r2]], 第3版における修正を
[CODE[r3]] として分類しています。
この文書のスタイル・シートは次のような感じにするとよさげです。
[CODE(HTMLe)[[[head]]]] 要素内で:
[PRE(HTML)[
<[CODE(HTMLe)[[[link]]]] [CODE(HTMLa)[[[rel]]]]="[CODE(HTML)[[[stylesheet]]]]" [CODE(HTMLa)[[[href]]]]="document-style">
<[CODE(HTMLe)[link]] [CODE(HTMLa)[rel]]="[CODE(HTML)[[[alternate]]]] [CODE(HTML)[stylesheet]]" [CODE(HTMLa)[href]]="rev1-style" [CODE(HTMLa)[[[title]]]]="初版">
<[CODE(HTMLe)[link]] [CODE(HTMLa)[rel]]="[CODE(HTML)[alternate]] [CODE(HTML)[stylesheet]]" [CODE(HTMLa)[href]]="rev2-style" title="第2版">
<[CODE(HTMLe)[link]] [CODE(HTMLa)[rel]]="[CODE(HTML)[stylesheet]]" [CODE(HTMLa)[href]]="rev3-style" title="第3版">
]PRE]
4種類のスタイル・シートのうち、文書全般に関するものを[[持続スタイル]]に、
残りを[[代替スタイル]]にします。
そのうち、最新の版は[[優先スタイル]]にしておきます。
[[CSS]] スタイル・シート [CODE(URI)[rev1-style]] の例:
[PRE(CSS)[
ins {
display: none;
}
del {
display: inline;
}
body > del {
display: block;
}
]PRE]
CSS スタイル・シート [CODE(URI)[rev2-style]] の例:
[PRE(CSS)[
ins {
display: none;
}
ins.r2 {
display: inline;
}
body > ins.r2 {
display: block;
}
del {
display: inline;
}
body > del {
display: block;
}
del.r2, body > del.r2 {
display: none;
}
]PRE]
CSS スタイル・シート [CODE(URI)[rev3-style]] の例:
[PRE(CSS)[
ins {
display: none;
}
ins.r2, ins.r3 {
display: inline;
}
body > ins.r2, body > ins.r3 {
display: block;
}
del {
display: inline;
}
body > del {
display: block;
}
del.r2, body > del.r2,
del.r3, body > del.r3 {
display: none;
}
]PRE]
;; 改訂が多ければ多いほど面倒になっていく・・・ように思えますけど、実際には改訂毎にコピペして新しい方のスタイル・シートに少し付け足すだけで済みます。
;; むしろ面倒なのは、ブロック要素の子供かどうかで [CODE(CSS)[block]] か [CODE(CSS)[inline]] か分けないといけないところ。
[27]
'''引用者注''':
[PRE(HTML example code)[
昔々、あるところに、おじいさんとおばあさんが住んでいました。
原文ではここに挿絵があります。
おじいさんは山へ芝刈りに、おばあさんは川へ洗濯へ向かいました。
(中略)
おじいさんとおばあさんはいつまでも幸せにくらしましたとさ。
]PRE]
この例では、[[引用]]部内で ([[引用文献]]の[[著者]]ではなく)
[[引用者]]が記述した部分を明確にするために[CODE(HTMLe)@en[[[ins]]]][[要素型]]を用いています。
([[名無しさん]] [sage])
[28]
>>27 のような使い方は本来のsemanticsからはずれていますが、
まったく別のものともいいがたく、どうするべきか本当に悩ましい。
([[名無しさん]] [sage])
[29]
> “The decree, voted by the priests of
Egypt at Memphis [WSDL WG] , is
repeated in two languages―
Egyptian [prose] (in both
hieroglyphic and demotic scripts)
and Greek [Z] ―― and records the
good deeds of Ptolemy and the
honours proposed for the twelve
year old King.
> Through the Rosetta Stone and
other similar bilingual inscriptions
scholars [developers] were able to
decipher the hieroglyphs [specs] of
ancient Egypt [W3C] .”
> ― British Museum
;; 出典: [CITE@en[Z in WSDL]]
;; [括弧] は引用者による挿入部で、原文では太字。
これも >>27 同様[CODE(HTMLe)@en[[[ins]]]]でマークできそうです。
([[名無しさん]] [sage])
[[#comment]]
** メモ
[20] '''どんな時に [CODE(HTMLe)[[[ins]]]] や [CODE(HTMLe)[[[del]]]] を使うのか''':
[CODE(HTMLe)[[[ins]]]] 要素や [CODE(HTMLe)[[[del]]]]
要素を使うと [[HTML]] [[文書]]内の編集履歴を残すことができます。
しかし、 [[HTML]] [[文書]]を編集する時に必ずこれらの要素を使って[[マーク]]しなければならないのでは''ありません''。
例えば[Q[正式]]な仕様書や規則の案であるとか、
書籍の原稿を[[校正]]するとか、
あるいは一旦日付入りで公表した文書に長い時間が経過した後に状況の変化を反映した補足を付けるとか、
変更履歴をわざわざ残すことに価値があると判断できる場合にこれらの要素を使います。
[21]
''不適切な例'': 特に重要な文書の変更案などを除き、
単なる [[typo]] をわざわざ [CODE(HTMLe)[[[del]]]] で
[CODE(HTMLe)[[[ins]]]] で[[マーク]]することは意味がありません。
文書が読みづらくなるだけです。
[22]
''不適切な例'': [[日記]]で、毎日[Q[追記]]していくからといって、
日毎に [CODE(HTMLe)[[[ins]]]] で[[マーク]]するのは間違いです。
[WEAK[(以前の記事に後から新しい情報を補うために使うのは適当です。)]]
[23]
長い文書の一部が修正されている時に
[Q[次の編集箇所へ]]のような機能が利用者エージェントについているとうれしいなあ。
([[名無しさん]])
[30]
[CITE@en[[w3m-dev 04202] Re: , , , and so on]]
([[名無しさん]] [WEAK[2006-12-29 12:18:47 +00:00]])
[32]
[CITE[ins要素のよいスタイルはないものだろうか:メモランダム]] ([CODE[2007-04-30 14:18:54 +09:00]] 版)
([[名無しさん]] [WEAK[2007-06-02 14:05:36 +00:00]])
[33]
[CITE[音声ブラウザと相性の良いHTMLを作る(4)。 (Junnama Online (Mirror))]] ([CODE[2007-06-09 22:46:02 +09:00]] 版)
([[名無しさん]] [WEAK[2007-06-09 14:38:18 +00:00]])
[34]
[CITE[音声ブラウザと相性の良いHTMLを作る(4)。 (Junnama Online (Mirror))]] ([TIME[2007-06-09 22:46:02 +09:00]] 版)
([[名無しさん]] [WEAK[2007-06-09 14:38:52 +00:00]])
[[#comment]]
* メモ