如何从Java编辑xsl标记属性文件

时间:2013-10-09 08:28:48

标签: java xml xslt

我有一个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标签的属性吗?

1 个答案:

答案 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年代使用过的。