是否可以使用 XSLT 将 XML 转换为 XML 以外的内容?
例如我想要决赛non-xml内容:
<Content>
<image url="file1.png">
<image url="file2.png">
...
<image url="filen.png">
<EndContent>
您会注意到该文档不是 xml(甚至不是 html),但它确实具有我们所说的内容<elements>
.
是否可以使用 XSLT 生成非 xml 输出?
非 xml 输出的另一个示例可能是:
<HTML>
<BODY>
<IMG src="file1.png"><BR>
<IMG src="file2.png"><BR>
...
<IMG src="filen.png"><BR>
</BODY>
</HTML>
你会注意到这个文档是HTML,因为在 HTML 中IMG
and BR
标签是禁止的没有结束标签。这与xhtml(使用 xml 重新表述 HTML)其中所有元素都是required有一个结束标签(因为在 xml 中每个标签都必须是结束的)。
非 xml 输出的另一个示例可能是:
INSERT INTO Documents (Filename) VALUES ('file1.png')
INSERT INTO Documents (Filename) VALUES ('file2.png')
...
INSERT INTO Documents (Filename) VALUES ('file3.png')
我可以编写任何我喜欢的源 xml,但一个例子可能是:
源 XML:
<DocumentStore>
<Document type="image">file1.png</Document>
<Document type="image">file2.png</Document>
<Document type="image">filen.png</Document>
</DocumentStore>
也许:
<Profiles>
<User avatar="file1.png" />
<User avatar="file2.png" />
<User avatar="filen.png" />
</Profiles>
您可以使用<xsl:output>
要指定输出格式(不一定是 xml),请参阅此参考页.
但是,如果您输出 html,即使您确实放置了结束标记,现代浏览器也不应该抱怨,因此使用上面的示例,我相信所有浏览器都应该可以:-
<HTML>
<BODY>
<IMG src="file1.png"></IMG><BR></BR>
<IMG src="file2.png"></IMG><BR></BR>
...
<IMG src="filen.png"></IMG><BR></BR>
</BODY>
</HTML>
所以不太确定为什么你不想添加结束标签,除非我遗漏了一些东西。
Update:添加了非 xml 输出的示例
鉴于此样式表:-
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/filenames">
<xsl:for-each select="filename">
INSERT INTO Documents (Filename) VALUES ('<xsl:value-of select="." />')
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
和这个输入 xml:-
<?xml version="1.0" encoding="UTF-8"?>
<filenames>
<filename>file1.png</filename>
<filename>file2.png</filename>
<filename>file3.png</filename>
</filenames>
你会得到这样的输出:-
INSERT INTO Documents (Filename) VALUES ('file1.png')
INSERT INTO Documents (Filename) VALUES ('file2.png')
INSERT INTO Documents (Filename) VALUES ('file3.png')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)