簡體   English   中英

在xslt document()函數的字符串中使用單引號

[英]using single quotes in string for xslt document() function

我正在嘗試通過XSLT document()函數將SQL字符串發送到URI解析器。 當我在其中使用單引號時,轉換器會失敗。 有人在這個場合用什么嗎?

這是XSL文件中的代碼

<xsl:variable name="findFEV" select="document('sql:select md from MenuData md where md.id=194003 and string01='David' and md.account = :account')"/>

這是我運行轉換時遇到的錯誤。

15:59:12,165 ERROR [STDERR] javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: org.xml.sax.SAXException: Expected ,, but found: David
15:59:12,165 ERROR [STDERR] javax.xml.transform.TransformerException: Expected ,, but found: David
15:59:12,166 ERROR [STDERR]     at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:938)
15:59:12,167 ERROR [STDERR]     at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:776)
15:59:12,167 ERROR [STDERR]     at org.tolven.api.rs.resource.DataExtractResources.transform(DataExtractResources.java:109)
15:59:12,167 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
15:59:12,167 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
15:59:12,168 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
15:59:12,168 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:606)
15:59:12,168 ERROR [STDERR]     at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:186)
<xsl:variable name="findFEV"
select='document("sql:select md ... and string01=&apos;David&apos; and ...")'/>

說明:

選擇表達式將變為

document("sql:select md ... string01='David' and ...")

合適的。 文檔調用需要用雙引號引起來的字符串,因為'David'必須用單引號(SQL)表示。

感謝@DanielHaley

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM