[英]Java. Embedding an XSL Stylesheet INTERNALLY into an XML Document
我想使用Java将XSL样式表内部嵌入到现有XML文档中。 我发现此答案表明可能: 将xsl嵌入XML文件
但是我正在使用这种格式,因为上面的示例不适用于我。 下面将其粘贴为示例。 http://www.calebmadrigal.com/embedding-xslt-xml-document/
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xml" href="#stylesheet"?>
<!DOCTYPE catalog [
<!ATTLIST xsl:stylesheet
id ID #REQUIRED>
]>
<catalog>
<xsl:stylesheet id="stylesheet" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
我了解您可以在xml中使用诸如href =“ MyStyle.xsl”这样的行链接到EXTERNAL样式表,但这需要用户将该文件与输出xml文件放在同一文件夹中。
我想在内部嵌入此样式表,以便可以在Chrome中查看,如上面的第二个链接所示。 我在用Java执行此操作时遇到问题。 我正在使用Eclipse API。
我试过仅将xsl逐行写入xml文档(将xml文档剪切和粘贴在一起),但这似乎在使用DOM解析器时由于读取所述文档而中断,并且不是很优雅。 这可能吗?
如果使用http://docs.oracle.com/javase/7/docs/api/javax/xml/stream/XMLStreamWriter.html#writeDTD(java.lang.String) ,则可以写出所需的DOCTYPE节点。 我认为W3C DOM API不允许您使用嵌入式元素和属性声明来创建DOCTYPE节点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.