以编程方式创建xslt文件 [英] Create xslt files programmatically
本文介绍了以编程方式创建xslt文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道我可以使用 DOM
api 在程序中创建 xml
java如下:
I know that I can create xml
files programmatically by using DOM
api in java like the following:
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)
But are there any API 's to construct an xslt
tree? (an api like Dom for example)
我需要这样的一个例子:
I need somehing like this:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="fo">
<xsl:template match="root">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="my-page">
<fo:region-body margin="1in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="my-page">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:external-graphic width="100pt" height="100pt" content-width="50pt" content-height="50pt" src="images/shopping-cart_100.jpg"/>
</fo:block>
<fo:block>Good Morning, <xsl:value-of select="name" />!</fo:block>
<fo:block>
<fo:table>
<fo:table-body>
<fo:table-row>
<fo:table-cell border="solid 1px black" text-align="center" font-weight="bold">
<fo:block>
和:
<xsl:for-each select="./friend">
<fo:table-row>
<fo:table-cell border="solid 1px black" text-align="center">
<fo:block>
<xsl:value-of select="position()" />
</fo:block>
</fo:table-cell>
<fo:table-cell border="solid 1px black" text-align="center">
<fo:block>
<xsl:value-of select="name" />
</fo:block>
</fo:table-cell>
<fo:table-cell border="solid 1px black" text-align="center">
提前感谢
推荐答案
由于XSLT也是XML,您只需使用相同的策略:
Since XSLT it's XML too, you can simply use the same strategy:
...
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", "/");
等等...
但它不是很优雅。你应该使用一个图书馆或一个框架,你应该很容易找到一个谷歌搜索。
But it's not very elegant. You should use a library or a framework instead, you should easily find one googling around.
这篇关于以编程方式创建xslt文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文