IT翻訳者の疑問

この業界に入って約20年。私の疑問は相変わらず解決しません。

「ドキュメントの一部分がエスケープされていない予約文字を含むことができることを示すためのメカニズム」

調べ物をしていて見つけたフレーズです。

エスケープよりもCDATA節を好む開発者もいます。CDATAは、ドキュメントの一部分がエスケープされていない予約文字を含むことができることを示すためのメカニズムです。
出典:http://www-06.ibm.com/jp/developerworks/xml/050805/j_x-wxxm30.html


Some developers prefer CDATA sections over escaping. CDATA is a mechanism for indicating that a portion of the document may contain unescaped reserved characters.
出典:http://www-128.ibm.com/developerworks/xml/library/x-wxxm30.html

翻訳者にはよくわかるけれど読者にはさっぱりわからないという文章の代表のようなものです。修飾語がどの語を修飾しているかが非常に不明瞭です。「ドキュメントの一部分がエスケープされていない予約文字」が一まとまりかというと、そうではないですよね。「エスケープする」、「含む」、「示す」という3つの動詞の主体がそれぞれ何であるかを考えると、もっとわかりやすい表現に書き換えられるはずです。indicateという動作の主体は、XML形式のデータを作成する人のことですね。その動作の修飾句に「ドキュメントが〜を含む」という別の主体の動作が入っているのでややこしくなっています。
上記の例の後に

An example is: <condition><![CDATA[a > 4]]></condition>.

という例が提示されているのですが、「含むことができる」って、誰に対して許可しているのでしょうか。XML形式のデータを作成した人が、parserに対して「a > 4」の「>」は特殊文字ではないですよと言いたいわけですよね。ということで、私ならば

エスケープよりもCDATA節を好む開発者もいます。CDATAは、ドキュメントの一部分に未エスケープの予約文字が含まれている可能性があることを示すためのメカニズムです。

などと修正します。