応用情報技術者試験 令和4年秋 午前問7 解説付き過去問
問題
XMLにおいて、XML宣言中で符号化宣言を省略できる文字コードはどれか。
正解
解説
この問題は、XML宣言における符号化宣言の省略可能性に関する知識を試すものです。XMLでは、特定の文字コードを使用する場合、その宣言をXMLファイルの最初に記述することが一般的ですが、すべての文字コードで符号化宣言が必須ではありません。
- XML宣言と符号化宣言
XML宣言は、XMLドキュメントがどのような形式で記述されているかを定義するために使用されます。この宣言には、バージョン番号と文字エンコーディングの型が含まれることが一般的です。符号化宣言では、使用している文字コードが指定され、これにより異なるシステム間での正確なデータ交換が保証されます。 - 符号化宣言の省略
XML仕様では、特定の条件下で符号化宣言を省略することが許されています。具体的には、使用する文字コードがUTF-16の場合、その宣言を省略することが可能です。これは、XMLプロセッサがUTF-16のバイトオーダーマーク(BOM)を自動的に検出し、適切なエンコーディングを推定できるためです。他の文字コード、例えばEUC-JP、ISO-2022-JP、Shift-JISなどでは、このような自動検出が不可能であるため、明示的な符号化宣言が必要とされます。
したがって、符号化宣言を省略できる文字コードはUTF-16です。これは、UTF-16が自動的にエンコーディング形式を識別できる唯一の文字コードであり、XMLプロセッサによる自動認識が可能であるためです。