2010-12-31 5 views
0

を私はエラーを取得する:私はパイプラインを実行しようとしたときはxxformsを実行できません:取得-リクエストパラメータXPLで - XSLTプロセッサ

XPath syntax error at ... in {...get-request-parameter('query..}:
Cannot find a matching 1-argument function named { http://orbeon.org/oxf/xml/xforms }get-request-parameter(). Note: external function calls have been disabled

は:

<p:processor name="oxf:xslt"> 
    <p:input name="config"> 
     <xsl:stylesheet version="2.0"> 
      <xsl:template match="/"> 
       <TargetURL> 
        <xsl:variable name="location" select="/Configuration/XMLDB/Location/text()"/>       
        <xsl:variable name="name" select="/Configuration/XMLDB/Name/text()"/>       
        <xsl:variable name="query" select="xxforms:get-request-parameter('query')"/>       
        <xsl:value-of select="fn:concat($location,'/',$name,'?',$query)"/> 
       </TargetURL> 
      </xsl:template> 
     </xsl:stylesheet> 
    </p:input> 
    <p:input name="data" href="#configuration"/> 
    <p:output name="data" id="Target"/> 
</p:processor> 

正しいXPLないですHTTPリクエストパラメータを取得する場所(代わりにpage-flow.xmlで行う必要がありますか?)

+0

それらのパラメータ? – ebruchez

答えて

1

はOXFを使用して、それを解決するXSLTプロセッサを、そのように:あなたが必要なのです

<p:processor name="oxf:request"> 
    <p:input name="config"> 
     <config> 
      <include>/request/parameters/parameter[name='param1']</include> 
      <include>/request/parameters/parameter[name='param2']</include> 
     </config> 
    </p:input> 
    <p:output name="data" id="request"/> 
</p:processor> 


<p:processor name="oxf:xslt"> 
    <p:input name="config"> 
     <xsl:stylesheet version="2.0"> 
      <xsl:template match="/"> 
       <TargetURL> 
        <xsl:variable name="var1" select="doc('input:request')/request/parameters/parameter[name='param1']/value"/> 
        <xsl:variable name="var2" select="doc('input:request')/request/parameters/parameter[name='param2']/value"/>       
       </TargetURL> 
      </xsl:template> 
     </xsl:stylesheet> 
    </p:input> 
    <p:input name="data" href="#configuration"/> 
    <p:input name="request" href="#request"/> 
    <p:output name="data" id="Target"/> 
</p:processor> 
0

xxforms:get-request-parameter()はXFormsから呼び出されるように設計されていますが、ここではXSLTから呼び出しています。

この場合、実際にXPL/XSLTを使用する必要がありますか?ほとんどの場合、生成しているものがWebページであれば、XFormsを使用できるだけかもしれません。あなたのページフローでは、view属性を持つXFormsを指し、XFormsではxforms-model-construct-doneに、xxforms:get-request-parameter()でリクエストパラメータにアクセスし、必要に応じてそのインスタンスのどこかに値をコピーすることができます。要求処理をXPLでクエリパラメータを取得し、OXFを使用してアクセスされた別の出力にそれらを提供するために:

関連する問題