タグ名に漢字を使用するときに考慮する点は?
見た目に分かりやすくするため、タグ名を漢字にしようと思っています。ツールなどに制限があるかどうか、考慮すべき点などがあれば教えてください。また、開発時にはタグ名、変数名、データベースのレコード名など、関連する名前をすべて同じにした方が分かりやすいと思うのですが、こうした方法はいいのでしょうか。

回答/富士ソフトABC株式会社 技術センター
2001/10/17

 XML文書の要素名や属性名に漢字を使用すると、一目でその目的や意味が分かりやすくなります。半面、エンコーディングの種類によってはいくつかの問題も発生します。例えば、エンコーディングにUTF-8を使用すると全体的なファイルサイズが大きくなります。これは、UTF-8では漢字を3バイトで表現するためです。

 シフトJISをエンコーディングに使用すると、XMLパーサによってはエラーになる場合があります。理由はいくつかあります。まず、XMLパーサが必須で対応しなければならないエンコーディングはUTF-8とUTF-16であり、シフトJISを含むそのほかのエンコーディングへの対応は必須ではないことが挙げられます。またシフトJISにはマイクロソフトやIBMによって拡張されている文字があります。そのため、たとえシフトJISに対応していたとしても、これらの文字に対応していないXMLパーサが数多くあり、現実の利用では問題が発生する可能性があります。

 さらに、漢字のタグ名を利用したボキャブラリやスキーマは、国内であれば意味を理解してもらえますが、当然のことながら海外での利用は難しいでしょう。また、英語版のアプリケーションではXMLパーサが対応できない可能性がより高くなります。海外への展開の可能性を持っているXML文書であれば、タグ名は英語で統一するべきでしょう。

 開発時の分かりやすさからいえば、このXML文書を処理するプログラムでは、タグ名に合わせて変数名にも漢字名を使いたくなるところです。しかし、変数名に漢字を使うことも推奨できません。ツールによっては変数名に漢字を使用できないツールもありますから、開発後のメンテナンスや移植を考慮すると、変数名にも漢字を使用すべきではないでしょう。

 分かりやすさのために、タグ名、変数名、データベースのレコード名のすべてを統一する必要はないと考えます。逆にこれらすべてがバラバラでは、作成者以外の人がプログラムを見たときにXML文書とプログラムとデータベースの関連性が分からず、メンテナンスが難しくなります。例えば、XML文書の要素名や属性名には漢字を使用したとしても、プログラムの変数名にはローマ字や英語を使用し、そのほかの名前についてもそれぞれのツールやアプリケーションの漢字に対する対応を見極めながら使用するべきでしょう。どうしてもすべてを一致させたいのであれば、やはりローマ字か英語に統一するべきでしょう。

 開発のしやすさの点で考えると、すべてを統一することが重要なのではなく、XML文書は漢字、プログラムの変数はローマ字など、それぞれに一貫性を持たせることと、どのタグとどの変数が対応するか、といった開発規約をドキュメントとして作成して開発者に徹底させることがいちばん重要なことです。

 

「Ask XML Expert」


XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間