構造エラーはないはずなのにXML書き出しすると構造エラーが出る場合(FrameMaker7.0)...結論はコンディショナルのしわざ
FrameMakerデータをXML形式で保存すると、構造エラーが出る。 FrameMaker上では、構造図を見てもエラーはない(赤く表示されている部分はない)し、 メニューから 【エレメント-検証】を使用してもエラーは報告されない。 なにが問題なのだろうか?
コンディショナルテキストで非表示部分に注意
XML形式で保存すると、処理の最後に出力したデータのXMLの検証(validate)が行われて、
そこで(not valid)構造エラーがあるとのエラーログが出る。
ならば、構造エラーが存在しているのだろうと、
構造図を表示させて赤い部分を探したり、【エレメント-検証】を使用して構造エラーが起きている部分を
探そうとすると、どこにも問題は見つからない。
さんざん悩んだ挙げ句の結論は、コンディショナルで非表示にしていた部分で構造エラーが起きていた
ということ。
FrameMakerは、コンディショナル非表示部分まで、構造エラーを検知してくれないのであった。
(いや設定などで回避できる問題なのかも知れないが)
考えてみれば致し方ないのかもしれないが、コンディショナルで非表示だといって構造エラーを
通知してくれないのはつらい。
XML保存したときには、非表示指定しているコンディショナルも書き出すわけだから、
その段階で、構造エラーが出るのは妥当だけど。
いっそ、非表示設定しているコンディショナル部分は書き出さないとか(それも問題ありそうだけど)
もっと親切で、場所の特定が容易なエラーメッセージを出してくれればいいのに。
でも考えてみると、XMLデータに対しての検証用ツール(validator)は、 既存に優れたツールが出回っているので、それを使うべきなんだろうな。 (このプロジェクトでは、それができないから困っているのだが...)