以编程方式创建xslt文件
我知道我可以通过在java中使用DOM
api以编程方式创建xml
文件,如下所示:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document = documentBuilder.newDocument(); Element rootElement = document.createElement("map"); document.appendChild(rootElement); Element em = document.createElement("string"); em.setAttribute("name", "FirstName"); ....
但是有没有API构建一个xslt
树? (例如像Dom这样的api)
我需要像这样的东西:
Good Morning, !
和:
提前致谢。
既然XSLT也是XML,你可以简单地使用相同的策略:
... Document document = documentBuilder.newDocument(); Element rootElement = document.createElement("xsl:stylesheet"); // adding attributes like namespaces etc... document.appendChild(rootElement); Element em = document.createElement("xsl:template"); em.setAttribute("match", "/");
等等…
但它不是很优雅。 你应该使用库或框架,你应该很容易找到一个谷歌搜索。
您可以像创建XML文件一样创建XSLT,因为XSLT是XML文件。
但是,如果你必须经常处理XML / XSLT转换,Apache Cocoon 3有一个非常轻量级的XML / XSLT管道系统用作库,而不是手动处理所有XML dom和XSLT转换。
DOM是一种非常麻烦的创建XML的方法。
有一个更好的方法 – 使用XSLT。
XML越复杂,使用XSLT而不是DOM来创建它的胜利就越大。
没有理由不能使用XSLT来创建XSLT(甚至还有一个特殊的声明xsl:namespace-alias使它更容易一些 – 搜索xsl:namespace-alias将显示其使用的示例。