我有一个xsl文件,用作模板,我需要在运行时修改它。我需要修改标签的属性值。我有办法通过JAVA代码吗?我知道我的模板xsl文件的位置。
例如:
示例xsl模板:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:xalan="http://xml.apache.org/xslt">
<xsl:template match="Sample">
<HTML>
<HEAD>
</HEAD>
<BODY >
<APPLET ARCHIVE="http://localhost:500/abc.jar" CODE="test.class" NAME="Apps" ></APPLET>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
这里我需要修改APPLET标签,我需要在运行时设置ARCHIVE值,比如说"http://localhost:800/xyz.jar"
我可以从Java somwhow读取这个xsl文件并修改applet标签的属性吗?
答案 0 :(得分:1)
使用XSL参数传输值
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xslt"
>
<xsl:param name="archive" select="''" />
<xsl:output method="html" indent="yes" />
<xsl:template match="Sample">
<html>
<head />
<body>
<applet archive="{$archive}" code="test.class" name="Apps" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
阅读有关如何在XSLT引擎中传递XSL参数的信息。 Saxon将使用XsltTransformer.SetParameter
method,其他引擎的工作方式相似。
顺便说一下,所有大写的HTML最后都是在90年代使用过的。