2017-03-03 57 views
-1

我张贴在hidden领域的隐藏价值为另一种形式是这样的:

<xsl:element name="input"> 
     <xsl:attribute name="name"> 
      <xsl:value-of select="'server'"/> 
     </xsl:attribute> 
     <xsl:attribute name="type"> 
      <xsl:value-of select="'hidden'"/> 
     </xsl:attribute> 
     <xsl:attribute name="value"> 
      <xsl:value-of select="@server"/> 
     </xsl:attribute> 
</xsl:element> 

但这只是工作的时候,我可以把属性或元素一样的值以上。

我怎么会通过诸如$_REQUEST['nq']请求的价值?

$_REQUEST['nq']从正被此XSLT样式页面PHP页面来。

我尝试这样做:

<xsl:element name="input"> 
     <xsl:attribute name="type"> 
      <xsl:value-of select="'hidden'"/> 
     <xsl:attribute name="name"> 
      <xsl:value-of select="'value'"/> 
     </xsl:attribute> 
     <xsl:attribute name="value"> 
      <xsl:value-of select="$nq"/> 
     </xsl:attribute> 
</xsl:element> 

但它不工作!

的XSLT是通过把这个在PHP页面结束时运行:

$xslt = new XSLTProcessor(); 
$xslDoc = new DOMDocument(); 
$xslDoc>load('nginxSearchFull.xsl', LIBXML_NOCDATA); 
$xslt>importStylesheet($xslDoc); 
echo $xslt>transformtoXML($xmlDom1); 
+1

什么是'$ _REQUEST [ 'NQ']',是PHP?你如何运行XSLT? –

+1

请更详细信息添加到像正是你正在尝试做的,哪些是你现在所拥有的 – Vinit

+0

为什么所有这些冗长的代码,当你可以写''。他们是否按照您写的代码行数付款? –

回答

1

定义您的XSLT代码全球<xsl:param name="nq"/>,那么你可以使用<input type="hidden" name="value" value="{$nq}"/>由迈克尔·凯的建议,如果你设置$xslt->setParameter('', 'nq', $_REQUEST['nq']);在您的PHP中,在调用XSLTProcessor上的transform方法之前。

+0

好的,谢谢。 – Kieran