なまえにまつわるえとせとら
HMLに限らず、単に名前と言っても馬名とレース名をはっきり区別する必要があると思うので、この2つに対応するhorsename要素とracename要素が必要なのは納得はしてもらえるかと。以下、この2つの要素について議論していきたい。ここで、この文章は馬・レースどちらの様式についても使用可能なものを考えています。
暗黙の了解として
本題に入る前にあげておきたいのは、この文章に限らず、要素・属性名を漢字で書いているものは単に対応する英語が浮かばないというのもあるし、要素・属性として好ましいかどうか判断しがたいと思っている(要素を取っているけれども、実は属性にした方がいいのではないかと思っている節がある)ということに注意してもらえればと。(長い前置きだ-;)
馬名について
単純にマークアップするのであれば、
<horsename>ディープインパクト</horsename>
となる。しかし、
<horsename>ディープインパクト</horsename> <horsename>ウインドインハーヘアの02</horsename><!-- ディープインパクトの幼名 -->
というように、名前は違っても同一な馬はこのように並列で表記できる。また、
<horsename xml:lang="ja">ステイゴールド</horsename> <horsename xml:lang="en">Stay Gold</horsename><!-- ステイゴールドの英名 --> <horsename xml:lang="zh">黄金旅程</horsename><!-- ステイゴールドの香港名 -->
というように、2ヶ国語以上を扱う場合もありうる。上の例は、xml:lang属性*1で区別している。
ここで、JRA所属馬では、父内国産馬、外国産馬、地方馬などのいわゆる○表記が存在する。これをhorsename要素に組み込むべきかどうかは微妙なところである。1つの案として、
<horsename 属性="市">ディープインパクト</horsename><!-- ディープインパクトは○市 -->
というように、属性として組み込んでしまうものが挙げられる。この場合、XMLアプリケーションで
(市) ディープインパクト
のようなレンダリングをされることが期待される。
○表記に似た事例として血統表中に本邦輸入馬に出会った場合、アスタリスク"*"で修飾する慣習*2がある。
<horsename 属性="*" xml:lang="ja">サンデーサイレンス</horsename><!-- サンデーサイレンスは本邦輸入馬 --> <horsename xml:lang="en">Sunday Silence</horsename><!-- サンデーサイレンスの英名 -->
この場合は、
* サンデーサイレンス Sunday Silence
のようなレンダリングをされることが期待される。
ところで、デビュー前、現役馬、種牡馬(繁殖牝馬)、死亡、などといった馬の状態を表す要素もしくは属性が考えられるが、名前で扱う範囲を超えているのでここでは深く立ち入らないことにする。
ところで、
<horsename xml:lamg="ja">第五バッカナムビューチー</horsename><!-- シンザンの母母 -->
というような例もあるから、カタカナだけが出現するとは限らない。また、実際の馬名には文字数制限があるが、厳密にはチェック不可能であると思われる。
レース名について
馬名とある程度重複する部分があるわけだが、例えば、
<racename>東京優駿</racename> <racename>日本ダービー</racename><!-- 東京優駿の通名 -->
というように、通名が存在したり、
<racename>共同通信杯</racename> <racename>トキノミノル記念</racename><!-- 共同通信杯の別名 -->
というように、別名が存在する。また、
<racename>The Derby</racename> <racename>Vodafone Derby</racename><!-- スポンサーはVodafone -->
というように、冠やスポンサーを含めたものをレース名とするべきなのかという問題*3があり、これらを属性で区別しなければならないだろう。また、
<racename xml:lang="fr">Prix de l'Arc de Triomphe</racename> <racename xml:lang="ja">凱旋門賞</racename><!-- 日本での呼び名 -->
というように、当然2ヶ国語を扱う可能性も考えられる。
ここで、レースの施行回数、"第72回"東京優駿といったものを、属性に組み込むべきか、要素として独立させるべきかという問題もある。
共通のものについて
2つ以上のhorsenameやracenameが存在するならば、HTMLにおけるリスト表現の方がよりわかりやすいかもしれない。例えば、
<horsename> <name xml:lang="ja">ステイゴールド</name> <name xml:lang="en">Stay Gold</name><!-- ステイゴールドの英名 --> <name xml:lang="zh">黄金旅程</name><!-- ステイゴールドの香港名 --> </horsename>
というように、複数の要素を囲ってしまうことが考えられる。
*1:言語コードと国コード(The Web KANZAKI)あたりが参考になる
*2:いったい誰が始めたのかは謎。そもそもHMLで表現する必要があるのかどうか疑問だが、そういうものがある以上対処した方がいいか。