0

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

4

1 回答 1

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方法,其他引擎的工作方式类似。

顺便说一句,ALL UPPERCASE HTML 最后一次使用是在 90 年代。

于 2013-10-09T08:41:22.167 回答