【发布时间】:2010-05-01 11:54:24
【问题描述】:
是否可以使用 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 和 BR 标签是 禁止 带有结束标签的。这与 xhtml(使用 xml 重新表述 HTML)形成对比,其中所有元素都要求有一个结束标签(因为在 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>
【问题讨论】:
-
<img />和<br />有什么问题? -
@KennyTM:HTML 禁止 IMG 和 BR 上的结束标签。这并不是说结束标签令人反感。只是正确的 HTML 不会有它们。