Skip to main content
Participant
December 22, 2002
Question

FM7 XMLに相互参照が書き出されない

  • December 22, 2002
  • 10 replies
  • 1487 views
始めまして。<br />FM7を使用して、構造化文書をあれこれ操作してるのですが、相互参照がどうしてもXMLに書き出されません。<br /><br />DTDはXdocbookを使用してます。 検証の結果は問題ないです。構造図では、<Xref>として認識されてるのですが、XMLに書き出すと<Xref>が消えてただの<para>テキストになってしまいます。<br /><br />かなーり困ってます。誰か教えてくださいませ。
    This topic has been closed for replies.

    10 replies

    Known Participant
    March 17, 2003
    ymgcさま、ご回答ありがとうございました。

    SGML的発想(?)ということだったんですね。SGMLはほとんどさっぱり?なのですが、一つ勉強になりました。

    FM7って、なんとかXMLに対応したって感じですね。SGMLを引きずらざるを得ないというか(って、こんなことここに書いていいのか)。なかなかよいソフトなのに残念。

    ありがとうございました。
    Participating Frequently
    March 14, 2003
    hero様、こんにちわ。

    要素参照と言っているのは、SGML的発想(?)です。
    ID型とIDREF型があって、参照元と先が1つのファイル内にないと検証エラーになります。
    (警告扱いでパージングする事も可能ですけど)

    で、FM上では、参照先のファイル名とインデックス(ID)が分かれば表現できますけど、それがXMLにした時、果たして正しい状態になるか?って思うんですけど。

    #ファイル名とIDを属性値に落として…FM⇔xml?
    #それでも、前処理(Plugin)等いりますよね...(悩)。
    Known Participant
    March 13, 2003
    こんにちは。

    > #でも、要素参照っていうのは、1文書内で完結するっていうのが基本的な考えですよね?

    そ、そうなんですか?
    ヘンな意味じゃなく素朴な疑問なのですが、要素参照ってそういうものなんでしょうか?

    マニュアルとか大量ページ制作物の場合、いくつかの章のファイルに分けて制作しているのですが、こういった場合、外部相互参照って、どのような処理方法が考えられるでしょうか(疑問符ばっかですみません)。
    _SOMA_Author
    Participant
    December 26, 2002
    こんにちは。<br /><br />heroさんのおっしゃる問題です。頭弱いのに英語のマニュアルひもときながら、そこまでたどり着きました。<br /><br />同じFmファイル内なら問題ないんです。XML⇔fmを繰り返しても情報は保持される。<br /><br />でも、異なるFmファイルだと、ブックで管理し、ブック⇔xmlにしないと、<xref>の情報を保持できないんですよ。<br /><br />でも、ブック⇔xmlって扱いずらいんですよね。Read/Writeで単独ファイルの書き出しに対応できないのかなあ?<br /><br />誰か教えてください。
    Participating Frequently
    December 26, 2002
    ブック構成の場合でしたか…自分の着眼点がズレていたようですネ。
    Read/Writeルールで単独ファイルの書き出し、という技があるという記憶はないですが、なにか良い方法がないか、少し探ってみます。

    APIclientを作って、という手も考えられますが、製品仕様に影響する部分が多々あるので、可能かどうか…?

    #でも、要素参照っていうのは、1文書内で完結するっていうのが基本的な考えですよね?
    #そうなると、FrameMakerでの出力結果(テキストにしてしまう)って正しいという気がしますけど。
    _SOMA_Author
    Participant
    December 26, 2002
    こんにちは。<br /><br />heroさんのおっしゃる問題です。頭弱いのに英語のマニュアルひもときながら、そこまでたどり着きました。<br /><br />同じFmファイル内なら問題ないんです。XML⇔fmを繰り返しても情報は保持される。<br /><br />でも、異なるFmファイルだと、ブックで管理し、ブック⇔xmlにしないと、<xref>の情報を保持できないんですよ。<br /><br />でも、ブック⇔xmlって扱いずらいんですよね。Read/Writeで単独ファイルの書き出しに対応できないのかなあ?<br /><br />誰か教えてください。
    Known Participant
    December 25, 2002
    こんにちは。

    気になったのですが、ymgcさんがおっしゃる他に、外部相互参照(あるファイルから他のファイルへの参照)の場合は、Bookから一度にすべてのファイルをXMLに書き出さないとすべてテキストになります。
    個人的にはこの解決策がすごく知りたいです。Read/Writeルールで何とかなるのかな?
    Participating Frequently
    December 25, 2002
    SOMA様<br />ちょこっとですが検証してみました。<br /><xref>をエレメントカタログから挿入した時に、相互参照ダイアログが表示されますよね。<br />この時、「ソースの種類」という項目があるんですが、ここが"段落"になってませんか?<br />"段落"になってると、おっしゃる通り<para>にテキストという状態になりました。<br />ここを"エレメント"に変えて参照先を設定すると、linkendなどの属性に値が設定され、<xref>が出力されます。
    _SOMA_Author
    Participant
    December 25, 2002
    ymgcさん、返信ありがとうございます。<br />製品付属のXDocBookで構造化文書を作って、XML形式保存してるんですが、<xref>が出力されないのです。デフォルトのファイルを修正したのは、EDDだけで、読み書きルールファイルは、変更してないのですが。。<br />環境に依存するのかなあ。<br />また、チェックのポイントなどありましたら教えていただけますでしょうか?<br />ちなみに<xref>の属性にlinkendって表示されますか?読み書きルールファイルを見るとLinkendって属性が書かれているのですが、構造化文書の<Xref>属性にlinkendが表示されません。それが原因かな?<br />とりとめない文書ですみません。
    Participating Frequently
    December 24, 2002
    SOMA様のおっしゃってる現象は要素自体がないという事でしょか?<br />製品付属のXDocBookで構造化文書を作って、XML形式保存の結果は問題なく<xref>要素が出力されますよね。<br />もし、ご自分でアプリケーション定義を作られているのであれば、付属のXDocBookとの違いから探ると問題点を見つけ易いと思いますが。