我想将一些xml转换为具有以下格式的
HTML:
< TR>< TD> col1< TD> col2< TD> col3< / TR>
注意:输出是HTML,完整,省略了可选的结束标记.这是问题,也是问题存在的原因.
我正在使用的XSL片段是:
doctype-system='http://www.w3.org/TR/html4/strict.dtd'
doctype-public='-//W3C//DTD HTML 4.01//EN'
indent='yes'
method='html'
/>
...
您可以看到XSL的内容与我想要的HTML匹配(为便于阅读而包装):
注意:那些知道我从XSLT得到的错误的人:希望已经知道答案.
当我看到我的XSL(不要忘记,是一种xml形式)时,我得到了一个非常好的错误:
End tag ‘TR’ does not match the start tag ‘TD’.
这很有道理.确实:
我在关闭TR之前不关闭TD元素.所以问题是:
如果HTML不是xml,我如何将xml转换为HTML?
也可以看看
> HTML: Include,or exclude,optional closing tags?
> XSLT: Transforming into non-xml content?
> Omitting optional tags of html
更新一个
它有been suggested,无论如何都可以简单地包含结束标签,以便进行XSL验证(显示包装以便于阅读):
然后,通过使用xsl:output method =’html’,最终的HTML内容将具有< / TD>标签神奇地省略了.除非它不起作用:
col1col2col3更新两个
有人建议我放弃,不要再问这个问题,只包括可选的结束标签.这是可能的,但这不是我的问题.此外,“解决方案”不适用于禁止结束标记的元素,例如:
要么
我如何包含< BR>我的HTML输出中的元素,因为在HTML中禁止关闭< BR>元件.