FileMaker (Windows版) FMPXMLRESULT形式XSLTファイルによるエクスポートの問題

FileMaker (Windows版)の FMPXMLRESULT形式XSLTファイルによるエクスポートの問題点 (バグ) として、「余分な改行が入る」というのがレポートされていましたが、11v3 でも依然として同様の問題が…
0
bison@StayHome @stbison

ダブルコーテーションでenclose / UTF-8 / LF なCSVファイルを #FileMaker (win) でスッキリ書き出す方法はにゃいのか? FMPRESULT な XSL で、ダブルコーテーション enclose な書き方がわからん。

2011-05-31 12:18:45
bison@StayHome @stbison

Exportファイルの文字コードは指定できるけど、改行コードについては、MacはCR、WinはCRLF、に決め打ちなので変えられないなんて…代替策の「FTPアップロードした先のサーバで、pearl な文字列変換をパースさせる」がまた…なんとアフォっぽい。#FileMaker

2011-05-31 12:24:07
Yasuyuki Maki @mackey1966

@stbison <xsl:for-each select="fmp:RESULTSET/fmp:ROW"> <xsl:text>"</xsl:text> <xsl:for-each select="fmp:COL">

2011-05-31 12:45:17
Yasuyuki Maki @mackey1966

@stbison <xsl:value-of select="fmp:DATA"/> <xsl:if test="position()!=last()">","</xsl:if> </xsl:for-each> <xsl:text>" </xsl:text>

2011-05-31 12:47:23
bison@StayHome @stbison

@mackey1966 thanks! row と col の間に<xsl:text>"</xsl:text>入れるだけでOKなのね?<xsl:if test="position()!=last()">,</xsl:if> の, がデリミタの指定でOK?#FileMaker

2011-05-31 12:57:15
Yasuyuki Maki @mackey1966

@stbison たぶん。","をデリミタにして最初と最後に"をつけて改行はLFにしてます。後で送ったスクリーンショットの通りで試したらこちらではOKでした。Macでしか試してませんが。

2011-05-31 13:00:00
きのぴー @Y_Kinoshita

@mackey1966 何やら懐かしい眺めが(笑)。FileMaker の XML 書き出しはバージョンやプラットホームによって不具合があるので、その点ご注意を。

2011-05-31 13:01:15
Yasuyuki Maki @mackey1966

@Y_Kinoshita ありがとうございます。私もさっきMacでテストしただけなので詳細な検証は @stbison さんがやってくれることでしょう(笑)。

2011-05-31 13:03:33
bison@StayHome @stbison

@mackey1966 お示し頂いたスクリーンショットの通りのxslで、Windowsでやってみると以下の問題有りです。問題1:最後のダブルクォーテーションが足りない。問題2:余計な改行が入る (LF(10)の指定をCR(13)にするとちゃんとCRで出る) #FileMaker

2011-05-31 14:21:14
Yasuyuki Maki @mackey1966

@stbison そうですか。確か余計な改行は解決方法がなかったような。ちょっと外に出てくるのでまた後で見てみます。

2011-05-31 14:30:12
bison@StayHome @stbison

@mackey1966 余計な改行 (古いバージョンのxalan由来でしたっけ?)バグってまだ引きずってるんですかねぇ。#FileMaker (win) のヴァージョンは 11v3 です。お騒がせしました。

2011-05-31 14:32:55
Yasuyuki Maki @mackey1966

@stbison 戻ってきました。Win7 FMPro10では最後の"はちゃんと入りました。11行目の&の前の"が抜けてないでしょうか。余計な改行はダンプすると0D 0D 0Aになってますね。Macだと0Aなのに。これはFMのバグだったんでしょうか。でしたら残念ということで。

2011-05-31 15:17:24
Yasuyuki Maki @mackey1966

@stbison ひとつだけ。見た目は変ですが、0D 0D 0Aでも受け手が問題なければ(以前問題ないと言われたことがあります)それでいける可能性はあると思います。

2011-05-31 15:30:21
bison@StayHome @stbison

@mackey1966 ダブルクォーテーションの欠落についてはその通りでした。0D0D0A については、何度も聞いたことのある FileMaker Windows版 のエクスポート時のバグのようです。最新の 11 v3 でも直っていなかったのですね。

2011-05-31 15:32:16
bison@StayHome @stbison

@mackey1966 ありあとございました。やっぱ、素直に普通のCSV出力させて、FTPアップロードしたサーバ側で (MySQLレコード更新のために叩く PHPのプリパーススクリプトとして) CRLF を LF に置き換えるスクリプト走らせます。こういうとこホントに嫌いです。

2011-05-31 15:38:02