Skip to main content
Known Participant
July 2, 2003
Question

整形されたXMLの読み込み

  • July 2, 2003
  • 4 replies
  • 941 views
見やすいようにタブやスペースで整形されたXML文書をFMに読み込むと、タブやスペースがそのまま読み込まれてしまい、レイアウトが崩れてしまいます。<br /><br />---<br /><br />例:<br /><aaa><br />  <bbb>xxxxxxx</bbb><br /></aaa><br /><br />というXMLががあると、<bbb>の前にある、整形のために入れたスペースを文字スペースとして読み込んでしまいます。<br /><br />---<br /><br />原因は、DTDで<aaa>に<bbb>の他に、テキストも入る設定をしているためなのですが、<aaa>にはテキストが入る場合もあるので、どうしてもこの設定ははずせません。<br /><br />何かよい回避策はありませんでしょうか。
    This topic has been closed for replies.

    4 replies

    Known Participant
    July 3, 2003
    ymgcさん、こんにちは。

    なるほど、わかりました。
    制御ができるということがわかっただけでもありがたいです。
    もう少しこちらでも検討してみます。
    ありがとうございました。
    Participating Frequently
    July 2, 2003
    あまりお勧めできない方法ですが、XML読み込み用のAPIclientを作成して、
    条件に合わせて文字列データを取り込まないようにする制御は出来ます。
    実装してみないと分かりませんが、制御のタイミング等によって、悪影響がありそうです。

    hero様のおっしゃっている『全く違う考え方』の方が良いかなぁ、と思いますが…。
    Known Participant
    July 2, 2003
    ymgcさん、こんにちは。

    言葉足りずすみません。
    おっしゃるとおりです。
    区別する条件としては、「タグの中身がスペースだけの場合」としかあげられません。
    もしくは「スペースが連続する場合」とか。

    全く違う考え方をした方がいいのでしょうか...
    (FMで処理するのはあきらめて、FMに読み込む前にテキストエディタか何かで整形し直すとか)
    Participating Frequently
    July 2, 2003
    hero様、こんにちわ。<br /><br />回避策の前に…。<br />『<bbb>の前にある、整形のために入れたスペース』って書いてますが、<br />整形のためのスペースって確実に判断できるんでしょうか...。<br />DTDで#PCDATAが許可されているって事は、<br />整形じゃなく、文字データとしてスペースを入れてるかもしれませんよね?<br />今は、人が見て判断してると思うんですが、<br />それを自動認識するには、区別する条件が必要かと。