Saxon处理器处理XML的转换(带查询数据库的),hold不住了,大家帮帮我吧
原XSLT文件,加载本地文件作为参数
<!-- set output --> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <!-- load other xml as param--> <xsl:param name="Articles2" select="'../Articles.xml'"/> <!-- 这里加载的本地文件 --> <xsl:param name="ShortPO2" select="'../ShortPO.xml'"/>
<xsl:param name="ShortPO2"> <xsl:variable name="xsltstr"> <!-- 调用模版 --> <xsl:call-template name="getXSLT"> <!-- 设置参数 --> <xsl:with-param name="jdbc.driver">com.microsoft.sqlserver.jdbc.SQLServerDriver</xsl:with-param> <xsl:with-param name="jdbc.database" as="xsd:string" select="string('jdbc:sqlserver://localhost:1433;databaseName=CnnTest')"/> <xsl:with-param name="table" select="string('dbo.xslt')"/> <xsl:with-param name="where" select="string('id=2')"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="string($xsltstr)"/> </xsl:param> <xsl:template match="/"> <!-- 输出参数的值 --> <xsl:value-of select="$ShortPO2"/> </xsl:template><?xml version="1.0" encoding="UTF-8"?>
<ShortPO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:noNamespaceSchemaLocation="ShortPO.xsd">
 <CustomerNr>3</CustomerNr>
 <LineItems>
 <LineItem>
 <ArticleNr>3</ArticleNr>
 <Amount>5</Amount>
 </LineItem>
 <LineItem>
 <ArticleNr>1</ArticleNr>
 <Amount>17</Amount>
 </LineItem>
 </LineItems>
</ShortPO>
<?xml version="1.0" encoding="UTF-8"?><ShortPO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ShortPO.xsd"> <CustomerNr>3</CustomerNr> <LineItems> <LineItem> <ArticleNr>3</ArticleNr> <Amount>5</Amount> </LineItem> <LineItem> <ArticleNr>1</ArticleNr> <Amount>17</Amount> </LineItem> </LineItems></ShortPO>
[解决办法]
单就这个例子而言
<xsl:param select="<?xml version="1.0" encd?><ShortPO>.......</ShortPO>">