我们可以在XSL变量中存储SQL查询

时间:2012-11-07 22:30:30

标签: sql xml variables xslt xpath

我们可以在xsl变量中存储SQL查询吗?

<xsl:variable name="Query" select="'SELECT X FROM ABC WHERE ID>=2'"/>

如果我这样写,我会收到非法'&gt;'的错误发现了,我尝试了另外一种方式

 <xsl:variable name="Query" select="'SELECT X FROM ABC WHERE ID gt;=2'"/>

然后我变得非法'&gt;'元素错误......

请帮我知道如何在变量中存储查询。

我正在使用一个涉及连接和所有SQL内容的大查询..我遇到同样的问题请帮帮我..

2 个答案:

答案 0 :(得分:1)

使用:

<xsl:variable name="Query">SELECT X FROM ABC WHERE ID >= 2</xsl:variable>

或使用<![CDATA[]]>可能更安全,更灵活的方式:

<xsl:variable name="Query"><![CDATA[SELECT X FROM ABC WHERE ID >= 2]]></xsl:variable>

答案 1 :(得分:1)

你刚忘了&符号。使用这个......

<xsl:variable name="Query" select="'SELECT X FROM ABC WHERE ID &gt;=2'"/>

(在{}之前插入&。)


请注意,

之间的结果存在细微差别
(a)  <xsl:variable name="var-a" select="'some text'"/>

和...

(b)  <xsl:variable name="var-b">some text</xsl:variable>

选项(a)导致$ var -a是包含一个节点的节点集(XSLT 1.0)或序列(XSLT 2.0) - 该节点是文本节点。

选项(b)导致$ var-b是包含一个节点的节点集/序列 - 该节点是结果树片段(XSLT 1.0)或文档节点(XSLT 2.0),后者又包含文本节点。