- - PR -
XSLで改行の扱い
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-12-17 09:32
いつもお世話になっています。
XMLの中にある改行マーク XML例 :<AAA>あいうえお
かきくけこ</AAA> を認識してHTMLへ敬称したい HTML例:<HTML>あいうえお<BR/>かきくけこ</HTML> としたいのですがXSLでどのように記述すればよろしいのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2003-12-17 10:11
ども、ほむらです。
普通の置換ってどうやるんでしょうね。 XSLTの仕様範囲外なのかな? まぁ基本的にはtranslateがあるので不自由していませんが ---------- ご希望のやり方は僕も知りませんが代替案ならば。。。
こうすると。。って説明はいいかな? 簡単に言えば書いたことがそのままコピーされます。 詳細は色々実験してみたりgoogleなどで検索して調べてみてください 参考URL: タイトル:たのしいXML URL:http://www.cityfujisawa.ne.jp/~yanai/xml/ このページの左ペインからXPath(入門編)でaxisの説明があったりします。 感覚的なものとしてすごくお勧めです。 | ||||
|
投稿日時: 2003-12-17 10:48
XMLデータ内に改行というレイアウト情報を持たせるという設計を見直したほうが良いのではと思います。
現在は、改行に置換するだけかもかもしれませんが、もしリストやテーブルとしても表示したいとなったときに、破綻する可能性が考えられます。 HTMLで改行を行うことにおいて、<br />だけでなく<div>〜</div>ということも視野に入れて見てはいかがでしょう。 | ||||
|
投稿日時: 2003-12-18 02:21
XMLソースやHTML文書で何を表現するのか分からないので何とも言えないですが、そもそもソース文書を作成する段階で改行コードを含む必要はないと思います(最終的にHTMLで<br/>になるんだとしたらなおさらです)。この部分に改行が入る、という何らかのマークが存在していればよいわけで例えば
<AAA>あいうえお<br/>かきくけこ</AAA> でも良いのではないでしょうか。逆に、もしもデータの区切りとしての改行を考えているのだとしたら1個の要素中に表現していること自体が間違っていて <root> <AAA>あいうえお</AAA> <AAA>かきくけこ</AAA> </root> というようにデータの最小単位で分けられるべきだと思います。 | ||||
|
投稿日時: 2003-12-18 12:41
いつもお世話になっています。 AEです。
貴重なご意見、ありがとうございます。 本件、XMLデータは上流よりくるデータのため加工が不可能です。 当然、PerlかなにかでXSL表示前に加工する手はありますが。。。。 XSLでtranslateも試したのですがうまく置き換わりませんでした。 
の置換えは無理なのでしょうか? | ||||
|
投稿日時: 2003-12-18 16:21
>
の置換えは無理なのでしょうか? substring-beforeと、substring-afterを使って、 の前と後ろに分離できませんか? ちなみに、translateは1文字単位の置き換えしかできません。 translate("t-wata", "abc", "ABC") とやると、t-wAtAになります。
| ||||
|
投稿日時: 2003-12-18 16:26
できますよー
Googleで 「置換 改行 XSLT」 で検索すると一番目に出てきます。 | ||||
|
投稿日時: 2003-12-25 08:57
いつもお世話になっています。 AEです。
返信遅くなりましたが、無事 解決できました。 いい年が越せそうです。 ありがとうございました。 |
1