我想使用 camel xslt 组件从 xml 数据中创建一个 sql 查询。我已经尝试使用xsl文件(从xml文件创建)使用xslt组件创建html页面。但是没有足够的信息说明如何从camel xslt组件中生成sql查询。
我试过的方法如下。
xml data:
<?xml version="1.0"?>
<?xml-stylesheet href="employee-sql.xsl" type="text/xsl" ?>
<Employees>
<employee>
<empName>Abc</empName>
<empAddress>Delhi</empAddress>
</employee>
</Employees>
employee-sql.xsl文件。
<?xml version="1.0"?>
<xsl:stylesheet version="1.0">
<xsl:template match="/" name="TemplateA">
<xsl:param name="param">
</xsl:param>
<xsl:value-of select="/Employees/employee" />
</xsl:template>
<xsl:template match="/">
<html>
<body>
<xsl:output method="xml" />
<xsl:template match="/"><xsl:apply-templates select="/Employees/employee" mode="normalize-space" /></xsl:template>
<xsl:template match="text()" mode="normalize-space"><xsl:value-of select="normalize-space(.)" /></xsl:template>
<xsl:template match="@*|node()" mode="normalize-space"><xsl:copy><xsl:apply-templates select="@*|node()" mode="normalize-space" /></xsl:copy></xsl:template>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我在这里生成的xsl文件是从互联网资源中获取的。谁能告诉我,我如何创建用于生成sql查询的xsl文件(比如select * from {xml data} from xml data)?
我认为最简单的方法是
<xsl:output method="text"/>
<xsl:variable name="table_name" select="mytable"> <xsl:value-of select="concat('SELECT * FROM ', $table_name)" />