【发布时间】:2011-03-31 14:55:01
【问题描述】:
嘿,如果有人对如何从 XML 文件中获取换行符并使用 XSL 转换将它们转换为段落有任何建议,我正在徘徊。
下面是 XML 结构的样子:
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<book>
<issue>1</issue>
<body>
“Dude, I can't believe you fed it to your cat. That's crazy!”
“Yeah, dude, he just cuddled up next to me and started purring.”
“Then what did he do?”
“He just kept purring, man. He's been purring non-stop for like two weeks now. I can't even sleep.”
</body>
</book>
</document>
这是我用于转换的 XSL 表的副本。
<?xml version="1.0" encoding="ISO-8859-1"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<body style="font-family:Arial;font-size:12pt;">
<xsl:for-each select="document/book">
<div style="color:red; padding:4px;">
<span style="font-weight:bold">
</span> Chapter
<xsl:value-of select="info/issue"/>
</div>
<div style="margin-left:10px; margin-bottom:1em; margin-right:25px; font-size:10pt;">
<span>
<xsl:value-of select="body"/>
</span>
</div>
</xsl:for-each>
</body>
</html>
再次,我的问题是关于使用哪些命令来使用现有 XSL 文档来保留段落结构。
谢谢, E
【问题讨论】:
-
@user633264:最简单的方法是使用
xsl:appy-templates select="body"而不是xsl:value-of,然后用换行符标记文本节点(记住这被规范化为#xA;)添加br元素或包装成p元素。这里有很多例子。 -
好问题,+1。请参阅我的答案以获得完整、简短且简单的解决方案。
标签: xml xslt newline transform paragraph