2009/10/03 18:11 |
From:Fumihiko MURA <f-mura@peach.ocn.ne.jp> [XML DESIGN 03976] FOPでのRTF出力について |
みなさん,こんばんわ。 村と申します。 XML usersではお世話になっていましたが,こちらに記事を投げるのははじめて です。 よろしくお願いします。 掲題の件でお知恵をお借りしたいのです。 現在,Apacche FOP 0.95にてRTF出力することについて調べています。 FOPでは,column-countとcolumn-gapがサポートされています。 試してみると,確かにPDFに変換すれば,段組みがうまく実現できているのです が,RTFに変換してみるとうまくいきません。 FOPのcolumn-countとcolumn-gapは,RTF変換に対応していないのでしょうか? よろしくお願いします。
2007/09/21 21:12 |
From:<bps_ochi@ybb.ne.jp> [XML DESIGN 03975] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03974] Re: xsl における src 属性の表示 ("YONEKURA Koji (intranet)" <k-yonekura@ah.jp.nec.com>)
YONEKURAさん、 できました! ばっちりです! なんともお礼の申し上げようがありません。 表示されたときは、鳥肌が立ちました。 私も、{fmrs:resultset/fmrs:field[@name='html']/fmrs:data} まではたどり着いていたのですが、/fmrs:record まで考えが及びませんでした。 教えていただいたことで、構造への理解がより深まりました。 私のような初心者に懇切丁寧に解説いただき、心より感謝いたします。 これからもYONEKURAさんのようなエキスパートを目指して、日々精進いたします。 本当にありがとうございました。 では、以下のスタイルシートで、目的のsrc属性は得られるでしょうか? xmlns:fmq="http://www.filemaker.com/xml/query" xmlns:fmrs="http://www.filemaker.com/xml/fmresultset" xmlns:fmxslt="xalan://com.fmi.xslt.ExtensionFunctions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" src="{fmrs:resultset/fmrs:record/fmrs:field[@name='html']/fmrs:data}"/>
添付ファイル |
---|
attach0001.bin |
2007/09/21 20:35 |
From:"YONEKURA Koji (intranet)" <k-yonekura@ah.jp.nec.com> [XML DESIGN 03974] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03973] Re: xsl における src 属性の表示 (<bps_ochi@ybb.ne.jp>)
では、以下のスタイルシートで、目的のsrc属性は得られるでしょうか? <xsl:stylesheet exclude-result-prefixes="xsl fmrs fmq" version="1.0" xmlns:fmq="http://www.filemaker.com/xml/query" xmlns:fmrs="http://www.filemaker.com/xml/fmresultset" xmlns:fmxslt="xalan://com.fmi.xslt.ExtensionFunctions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/fmrs:fmresultset"> <frame title="データベースの内容" frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" src="{fmrs:resultset/fmrs:record/fmrs:field[@name='html']/fmrs:data}"/> </xsl:template> <xsl:stylesheet> bps_ochi@ybb.ne.jp さんは書きました: > 本当に、いつも丁寧な解説をしていただき、ありがとうございます。 > > とりあえず、xml を記載します。 > なんとなく、基本的な間違いを犯しているような気がしてきました。 > > <?xml version="1.0" encoding="Shift_JIS" ?> > - <fmresultset xmlns="http://www.filemaker.com/xml/fmresultset" version="1.0"> > <error code="0" /> > > <product build="03/01/2005" name="FileMaker Web Publishing Engine" version="7.0v5" /> > > <datasource database="ALL" date-format="MM/dd/yyyy" layout="weblist2" table="ALL" time-format="HH:mm:ss" timestamp-format="MM/dd/yyyy HH:mm:ss" total-count="2810" /> > > - <metadata> > <field-definition auto-enter="no" global="no" max-repeat="1" name="html" not-empty="no" result="text" type="calculation" /> > > </metadata> > > > - <resultset count="2810" fetch-size="2810"> > - <record mod-id="9" record-id="4797"> > - <field name="html"> > <data>/fmi/iwp/cgi?-db=av_etc&-gotorecbyid&-id=5793</data> > > </field> > > > </record> > > > > ---略--- > > </resultset> > </fmresultset> > > > > > > -- 米倉 宏治 NECラーニング株式会社 IT・NW研修本部 東京都港区芝2丁目7-17 住友芝公園ビル 内線 TEL 8-20-25624 FAX 8-20-25618 外線 TEL 03-5232-3075 FAX 03-5232-3076 文書メール 20-25651
2007/09/21 18:28 |
From:<bps_ochi@ybb.ne.jp> [XML DESIGN 03973] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03972] Re: xsl における src 属性の表示 (YONEKURA Koji <k-yonekura@ah.jp.nec.com>)
本当に、いつも丁寧な解説をしていただき、ありがとうございます。 とりあえず、xml を記載します。 なんとなく、基本的な間違いを犯しているような気がしてきました。 <?xml version="1.0" encoding="Shift_JIS" ?> - <fmresultset xmlns="http://www.filemaker.com/xml/fmresultset" version="1.0"> <error code="0" /> <product build="03/01/2005" name="FileMaker Web Publishing Engine" version="7.0v5" /> <datasource database="ALL" date-format="MM/dd/yyyy" layout="weblist2" table="ALL" time-format="HH:mm:ss" timestamp-format="MM/dd/yyyy HH:mm:ss" total-count="2810" /> - <metadata> <field-definition auto-enter="no" global="no" max-repeat="1" name="html" not-empty="no" result="text" type="calculation" /> </metadata> - <resultset count="2810" fetch-size="2810"> - <record mod-id="9" record-id="4797"> - <field name="html"> <data>/fmi/iwp/cgi?-db=av_etc&-gotorecbyid&-id=5793</data> </field> </record> ---略--- </resultset> </fmresultset>
添付ファイル |
---|
attach0001.bin |
2007/09/21 17:40 |
From:YONEKURA Koji <k-yonekura@ah.jp.nec.com> [XML DESIGN 03972] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03971] Re: xsl における src 属性の表示 (<bps_ochi@ybb.ne.jp>)
少しずつ内容が見えてきました。 先のメールで説明したとおり、XSLTは、あるXML文書を構造変換する技術です。 XSLTスタイルシートは、その変換対象のXML文書内のデータを取得することが できます。 今回の変換対象のXML文書の全文は、どのような内容でしょう? [XML DESIGN 03967]に載せられていたXSLTスタイルシートには、以下のテンプレート ルールが含まれていました。 <xsl:template match="/fmrs:fmresultset"> <!-- 省略 --> <frame title="データベースの内容" frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" src="{<xsl:value-of select="html" />}"/> <!-- このままでは文法エラー --> <!-- 省略 --> </xsl:template> このテンプレートルールは、ルート要素「fmrs:fmresultset」にマッチする ものです。なので、変換対象のXML文書(これを文書Aとします)は、 <fmrs:fmresultset xmlns:fmrs="http://www.filemaker.com/xml/fmresultset"> <!-- 省略 --> </fmrs:fmresultset> のような構造でなければ、スタイルシートは機能しません。先のメールに 記述されていた、 <record mod-id="7" record-id="2222"> <field name="html"> <data>/fmi/iwp/cgi?-db=av_etc&-gotorecbyid&-id=2222</data> </field> </record> は、文書Aに含まれるものでしょうか?そうであればどのように含まれるもの でしょうか? bps_ochi@ybb.ne.jp さんは書きました: > YONEKURAさん、稚拙な説明にもかかわらず、レスいただき、恐縮です。 > >> 今回のアウトプットとは、先のメールに書かれたHTML文書ということですね。 > はい、その通りです。 > > >これではない、という話であれば、「/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222」 >> は、どこにどのように存在する値なのでしょうか? > > xmlのデータは > - <record mod-id="7" record-id="2222"> > - <field name="html"> > <data>/fmi/iwp/cgi?-db=av_etc&-gotorecbyid&-id=2222</data> > > </field> > > > </record> > > > となっています。 > 先のメールのHTML文書の 、「/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222」 > 部分に、上記xmlの fild name=html を代入したいのです。 > お分かりいただけますでしょうか。 > > > >
2007/09/21 13:50 |
From:<bps_ochi@ybb.ne.jp> [XML DESIGN 03971] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03970] Re: xsl における src 属性の表示 (YONEKURA Koji <k-yonekura@ah.jp.nec.com>)
YONEKURAさん、稚拙な説明にもかかわらず、レスいただき、恐縮です。 >今回のアウトプットとは、先のメールに書かれたHTML文書ということですね。 はい、その通りです。 >これではない、という話であれば、「/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222」 >は、どこにどのように存在する値なのでしょうか? xmlのデータは - <record mod-id="7" record-id="2222"> - <field name="html"> <data>/fmi/iwp/cgi?-db=av_etc&-gotorecbyid&-id=2222</data> </field> </record> となっています。 先のメールのHTML文書の 、「/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222」 部分に、上記xmlの fild name=html を代入したいのです。 お分かりいただけますでしょうか。
添付ファイル |
---|
attach0001.bin |
2007/09/20 13:08 |
From:YONEKURA Koji <k-yonekura@ah.jp.nec.com> [XML DESIGN 03970] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03969] Re: xsl における src 属性の表示 (<bps_ochi@ybb.ne.jp>)
XSLTとは、あるXML文書を構造変換して、別のアウトプットを生成する技術です。 今回のアウトプットとは、先のメールに書かれたHTML文書ということですね。 では、変換対象のXML文書は、どのような内容のものでしょうか? 私の勝手な想像では、前回のメールに記載した次のような文書が、変換対象と 考えていました(html要素の内容を修正しました)。 <fmrs:fmresultset xmlns:fmrs="http://www.filemaker.com/xml/fmresultset"> <html>/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222</html> </fmrs:fmresultset> これではない、という話であれば、「/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222」 は、どこにどのように存在する値なのでしょうか? bps_ochi@ybb.ne.jp さんは書きました: > YONEKURAさん > 再度、レスありがとうございます。 > 丁寧な解説、いたみいります。 > > >そもそも値を取得したい「html」とは何なのでしょうか > > ちょっと特殊な事情なのですが、xmlのデータを元にして > ファイルメーカーの特定のレコードを呼び出すために > 下のhtmlと全く同じhtmlを吐き出す必要があるのです。 > ただのxslなら、このように苦労はしないのですが・・・ > xslも初心者に近く、とんちんかんなことを申し上げたかも知れません。 > お詫び申し上げます。 > とりあえず、吐き出す必要があるhtmlを記載します。 > よろしくお願いします。 > > 「html」データ部分→ /fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222 > > ---以下html--- > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> > <html> > <head> > <meta http-equiv="content-type" content="text/html; charset=utf-8"> > <title></title> > <link href="res/favicon.ico" rel="SHORTCUT ICON"> > <script type="text/javascript" language="JavaScript1.4" src="res/fmi_iwp.js"></script> > <script type="text/javascript" language="JavaScript1.4" src="cgi?-getstrings"></script> > <script type="text/javascript" language="JavaScript1.4"> > <!-- > if( window.iwp != null ) > window.iwp.setupTopFrame( false, false ); > // --> > </script> > <noscript> > <meta http-equiv="refresh" content="1; URL=/fmi/iwp/cgi?-noscript"> > </noscript> > </head> > <frameset border="0" bordercolor="#D4D0C8" cols="12,*" frameborder="NO" framespacing="0" rows="*" onunload="window.iwp.handleUnload()"> > <frame title="ステータスエリアの表示切り替え" frameborder="no" marginheight="0" marginwidth="0" name="controlFrame2" noresize scrolling="NO" src="res/control_frame.html"> > <frame title="データベースの内容" frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" src="/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222"> > <noframes> > <body></body> > </noframes> > </frameset> > </html> > >
2007/09/19 21:06 |
From:<bps_ochi@ybb.ne.jp> [XML DESIGN 03969] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03968] Re: xsl における src 属性の表示 (YONEKURA Koji <k-yonekura@ah.jp.nec.com>)
YONEKURAさん 再度、レスありがとうございます。 丁寧な解説、いたみいります。 >そもそも値を取得したい「html」とは何なのでしょうか ちょっと特殊な事情なのですが、xmlのデータを元にして ファイルメーカーの特定のレコードを呼び出すために 下のhtmlと全く同じhtmlを吐き出す必要があるのです。 ただのxslなら、このように苦労はしないのですが・・・ xslも初心者に近く、とんちんかんなことを申し上げたかも知れません。 お詫び申し上げます。 とりあえず、吐き出す必要があるhtmlを記載します。 よろしくお願いします。 「html」データ部分→ /fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222 ---以下html--- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title></title> <link href="res/favicon.ico" rel="SHORTCUT ICON"> <script type="text/javascript" language="JavaScript1.4" src="res/fmi_iwp.js"></script> <script type="text/javascript" language="JavaScript1.4" src="cgi?-getstrings"></script> <script type="text/javascript" language="JavaScript1.4"> <!-- if( window.iwp != null ) window.iwp.setupTopFrame( false, false ); // --> </script> <noscript> <meta http-equiv="refresh" content="1; URL=/fmi/iwp/cgi?-noscript"> </noscript> </head> <frameset border="0" bordercolor="#D4D0C8" cols="12,*" frameborder="NO" framespacing="0" rows="*" onunload="window.iwp.handleUnload()"> <frame title="ステータスエリアの表示切り替え" frameborder="no" marginheight="0" marginwidth="0" name="controlFrame2" noresize scrolling="NO" src="res/control_frame.html"> <frame title="データベースの内容" frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" src="/fmi/iwp/cgi?-db=aa&-gotorecbyid&-recid=2222"> <noframes> <body></body> </noframes> </frameset> </html>
添付ファイル |
---|
attach0001.bin |
2007/09/19 19:39 |
From:YONEKURA Koji <k-yonekura@ah.jp.nec.com> [XML DESIGN 03968] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03967] Re: xsl における src 属性の表示 (<bps_ochi@ybb.ne.jp>)
そもそも値を取得したい「html」とは何なのでしょうか。 もし、以下のようなXML文書における「html」要素の文字列を取得したいということなら、 <fmrs:fmresultset xmlns:fmrs="http://www.filemaker.com/xml/fmresultset"> <html>abc</html> </fmrs:fmresultset> src="{html}" のように記述します。 本来であれば value-of を記述してノードの値などを取得したいのだが、属性値に記述した 場合、整形式規約により文法エラーになる、という場合に記述するものがアトリビュート テンプレートです。 文法エラー ==> src="<xsl:value-of select='html' />" 正しい ==> src="{html}" bps_ochi@ybb.ne.jp さんは書きました: > YONEKURAさん、レスありがとうございます。 > > どなたのレスもないので。 > > これは、アトリビュートテンプレートを使用する例ですね。 > > > > 属性値に特殊記号 {} を記述し、その内容にXPath式を書きます。 > src="{<xsl:value-of select="html" />}" > のように記述すれば、いいのでしょうか? > これは試していたのですが、ダメでした。 > 実はファイルメーカーを使ったxmlの利用でして、 > 多少、特殊な面もあるかとはおもいますが、 > xslの記述は変わらないと思っています。 > 恐縮ですが、xslの全文を記載しましたので、 > > > --以下xsl--- > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet exclude-result-prefixes="xsl fmrs fmq" version="1.0" xmlns:fmq="http://www.filemaker.com/xml/query" xmlns:fmrs="http://www.filemaker.com/xml/fmresultset" xmlns:fmxslt="xalan://com.fmi.xslt.ExtensionFunctions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <?xslt-cwp-query params="-db=aa&-lay.response=weblist2&-grammar=fmresultset&-encoding=UTF-8"?> > <xsl:param name="request-query"/> > <!--ユーティリティ/エラースタイルシートを含めます--> > <xsl:include href="utilities.xsl"/> > <xsl:include href="errorreply.xsl"/> > > <!--保存されている検索条件をセッションから取得します--> > <xsl:variable name="stored-find"> > <xsl:call-template name="get-stored-find"/> > </xsl:variable> > <xsl:output encoding="UTF-8" indent="yes" method="html"/> > <!-- doctype-public属性で公開識別子を、doctype-system属性でシステム識別子を指定します --> > <xsl:output doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> > <xsl:template match="/fmrs:fmresultset"> > <xsl:choose> > > > <!--[レコードのブラウズ] の表示--> > <xsl:otherwise> > <html> > <head> > <meta http-equiv="content-type" content="text/html; charset=utf-8"/> > <title/> > <link href="/fmi/iwp/res/favicon.ico" rel="SHORTCUT ICON"/> > <script type="text/javascript" language="JavaScript1.4" src="/fmi/iwp/res/fmi_iwp.js"/> > <script type="text/javascript" language="JavaScript1.4" src="/fmi/iwp/cgi?-getstrings"/> > <script type="text/javascript" language="JavaScript1.4"> > <xsl:comment> > if( window.iwp != null ) > window.iwp.setupTopFrame( false, false ); > // </xsl:comment> > </script> > <noscript> > <meta http-equiv="refresh" content="1; URL=/fmi/iwp/cgi?-noscript"/> > </noscript> > </head> > <frameset border="0" bordercolor="#D4D0C8" cols="12,*" frameborder="NO" framespacing="0" rows="*" onunload="window.iwp.handleUnload()"> > <frame title="ステータスエリアの表示切り替え" frameborder="no" marginheight="0" marginwidth="0" name="controlFrame2" noresize="noresize" scrolling="NO" src="/fmi/iwp/res/control_frame.html"/> > <frame title="データベースの内容" frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" > src="{<xsl:value-of select="html" />}"/> > <noframes> > <body/> > </noframes> > </frameset> > </html> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > </xsl:stylesheet> > >
2007/09/19 19:19 |
From:<bps_ochi@ybb.ne.jp> [XML DESIGN 03967] Re: xsl における src 属性の表示 |
参照先: [XML DESIGN 03966] Re: xsl における src 属性の表示 ("YONEKURA Koji (intranet)" <k-yonekura@ah.jp.nec.com>)
YONEKURAさん、レスありがとうございます。 どなたのレスもないので。 これは、アトリビュートテンプレートを使用する例ですね。 属性値に特殊記号 {} を記述し、その内容にXPath式を書きます。 src="{<xsl:value-of select="html" />}" のように記述すれば、いいのでしょうか? これは試していたのですが、ダメでした。 実はファイルメーカーを使ったxmlの利用でして、 多少、特殊な面もあるかとはおもいますが、 xslの記述は変わらないと思っています。 恐縮ですが、xslの全文を記載しましたので、 --以下xsl--- <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet exclude-result-prefixes="xsl fmrs fmq" version="1.0" xmlns:fmq="http://www.filemaker.com/xml/query" xmlns:fmrs="http://www.filemaker.com/xml/fmresultset" xmlns:fmxslt="xalan://com.fmi.xslt.ExtensionFunctions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <?xslt-cwp-query params="-db=aa&-lay.response=weblist2&-grammar=fmresultset&-encoding=UTF-8"?> <xsl:param name="request-query"/> <!--ユーティリティ/エラースタイルシートを含めます--> <xsl:include href="utilities.xsl"/> <xsl:include href="errorreply.xsl"/> <!--保存されている検索条件をセッションから取得します--> <xsl:variable name="stored-find"> <xsl:call-template name="get-stored-find"/> </xsl:variable> <xsl:output encoding="UTF-8" indent="yes" method="html"/> <!-- doctype-public属性で公開識別子を、doctype-system属性でシステム識別子を指定します --> <xsl:output doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> <xsl:template match="/fmrs:fmresultset"> <xsl:choose> <!--[レコードのブラウズ] の表示--> <xsl:otherwise> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title/> <link href="/fmi/iwp/res/favicon.ico" rel="SHORTCUT ICON"/> <script type="text/javascript" language="JavaScript1.4" src="/fmi/iwp/res/fmi_iwp.js"/> <script type="text/javascript" language="JavaScript1.4" src="/fmi/iwp/cgi?-getstrings"/> <script type="text/javascript" language="JavaScript1.4"> <xsl:comment> if( window.iwp != null ) window.iwp.setupTopFrame( false, false ); // </xsl:comment> </script> <noscript> <meta http-equiv="refresh" content="1; URL=/fmi/iwp/cgi?-noscript"/> </noscript> </head> <frameset border="0" bordercolor="#D4D0C8" cols="12,*" frameborder="NO" framespacing="0" rows="*" onunload="window.iwp.handleUnload()"> <frame title="ステータスエリアの表示切り替え" frameborder="no" marginheight="0" marginwidth="0" name="controlFrame2" noresize="noresize" scrolling="NO" src="/fmi/iwp/res/control_frame.html"/> <frame title="データベースの内容" frameborder="no" marginheight="0" marginwidth="0" name="bodyFrame2" src="{<xsl:value-of select="html" />}"/> <noframes> <body/> </noframes> </frameset> </html> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
添付ファイル |
---|
attach0001.bin |