6 返信 最新の回答 日時: Nov 10, 2009 4:18 AM ユーザー:mizuena

    ファイルメーカーWebで文字色の反映

    mizuena

      タイトル

      ファイルメーカーWebで文字色の反映

      フォーラムに投稿

      ファイルメーカー10+ xslt でweb公開をしています。

      データ入力画面にて、テキストフィールド内の任意の箇所(文字)を赤く変更しても、web表示では反映されません。

      web画面でも入力画面同様に任意の文字色だけを変えることはできませんか。

       

      ファイルメーカー5で使われていたCDMLでは、テキストフィールドにHTMLフォームにスタイルをタグで指定して入力し、

      入力されたデータ表示させるCDMLタグの引数に、「、raw」指定   [fmp-field:フィールド名、raw] と指定していました。

      xsltでは、どのように記述するのでしょうか。

       

      教えてください。よろしくお願いいたします。 

       

       

        • 1. Re: ファイルメーカーWebで文字色の反映
          fmdiary
            
          mizuenaさんこんにちは。

          「ファイルメーカーWebで文字色の反映」ですが、ファイルメーカーのテキスト関数「GetAsCSS」を使用することにより、実現できそうです。
          GetAsCSS関数では、フィールド内の文字書式がCSS(Cascading Style Sheets)形式に変換されるので、そのタグを生かしたままXSLTで表示させます。
          (例えば、太字の「test」は、「<SPAN STYLE="font-weight:bold">test</SPAN>」に変換されます。 )

          実現させるための、具体的な手順
          ■ファイルメーカー側
          入力用のフィールドと、入力されたデータにGetAsCSS関数を反映させるための計算フィールドを用意。

          ■XSLT側
          「fmxslt:break_encode」、「disable-output-escaping」を適宜使用して、(GetAsCSS関数反映の)計算フィールドを表示させます。

          例)
          <xsl:value-of disable-output-escaping="yes" select="fmxslt:break_encode($rec/fmrs:field[@name ='計算フィールド']/fmrs:data)" />

          • 2. Re: ファイルメーカーWebで文字色の反映
            mizuena
               fmdiary様 返事をいただき、ありがとうございます。

            あきらめていたのですが、少し、明るい兆しが見えてきました。まだ、わからないことがあります。

            示していただいた中の、「$rec」は、何を意味しているのかわかりません。教えていただけないでしょうか。
            まだまだ、初心者でいろいろ困っております。

            よろしくお願いいたします。



            • 3. Re: ファイルメーカーWebで文字色の反映
              fmdiary
                

              mizuenaさんこんにちは。

               

              例示が不親切でしたね。すいません。

               

              $recですが、以下のように変数化させ省略表示させてました。 

              <xsl:variable name="rec" select="/fmrs:fmresultset/fmrs:resultset/fmrs:record[1]"/>

               

              ですので、正確には、

               <xsl:value-of disable-output-escaping="yes" select="fmxslt:break_encode(/fmrs:fmresultset/fmrs:resultset/fmrs:record[1]/fmrs:field[@name ='計算フィールド']/fmrs:data)" />

              になります。

               

               

              • 4. Re: ファイルメーカーWebで文字色の反映
                mizuena
                  

                fmdiary様 何度も返事をいただき、ありがとうございます。

                 

                ファイルメーカー側の計算フィールドは、後にして、計算フィールドに直接、

                <SPAN STYLE="font-weight:bold">test</SPAN>と入力してみましたが、

                test と太字で表示されず、命令文がそのまま、表示されてしまいます。

                 

                <xsl:value-ofdisable-output-escaping="yes" select="fmxslt:break_encode(/fmrs:fmresultset/fmrs:resultset/fmrs:record[1]/fmrs:field[@name ='計算フィールド']/fmrs:data)" /> 

                 

                何が悪いのか、行き詰まってしまいました。

                計算フィールドは、フィールド/コントロールの設定で、「編集ボックス」

                また、タイプはテキストです。

                 

                よろしくお願いいたします。 

                 

                 

                • 5. Re: ファイルメーカーWebで文字色の反映
                  fmdiary
                    

                  mizuenaさん、こんにちは。

                   

                  すいません、コチラの勘違いでした。  

                  以下で試してください。 break_encodeは必要ありません。

                  <xsl:value-ofdisable-output-escaping="yes" select="/fmrs:fmresultset/fmrs:resultset/fmrs:record[1]/fmrs:field[@name ='計算フィールド']/fmrs:data" /> 

                   

                  余計な手間をかけさせてしましました。申し訳ありません。

                  よろしくお願いします 

                  • 6. Re: ファイルメーカーWebで文字色の反映
                    mizuena
                      

                    fmdiary様 こんばんわ

                     

                    test  の文字が 太字になりました。また、色の指定をすると、その部分だけ、色がかわり感激しました。

                    今まで、試行錯誤でやってきましたが、本当に感謝いたします。これで、XSLT側ができましたので、

                    これから、ファイルメーカー側に取り組もうと考えています。

                     

                    本当に、ありがとうございます。CDMLがなくなって、ずっと悩んでいたのが解決できて、良かったです。