需要使用 xslt 验证字符串,无论它包含 html 还是 xml
我有一个 xsl:variable
,其内容可能是 HTML、XML 或二进制。
我正在 html 页面的 textarea
中显示变量的值。
如果变量包含 HTML 或 XML 数据,则它会以未格式化的方式显示在 textarea
中。
<xsl:variable name="outputString">
//html or xml or binary data goes in here
</xsl:variable>
<xsl:template match="/">
<html>
<body>
<textarea name="output" cols="20" rows="20">
<xsl:value-of select="$outputString" />
</textarea>
</body>
</html>
</xsl:template>
我所需要的只是在 textarea
中以格式化方式显示变量的内容(如果内容是 HTML 或 XML)。
I have an xsl:variable
whose contents might be HTML or XML or binary.
I'm displaying the value of the variable in a textarea
in a html page.
If the variable contains HTML or XML data, it is displayed unformatted in the textarea
.
<xsl:variable name="outputString">
//html or xml or binary data goes in here
</xsl:variable>
<xsl:template match="/">
<html>
<body>
<textarea name="output" cols="20" rows="20">
<xsl:value-of select="$outputString" />
</textarea>
</body>
</html>
</xsl:template>
All I need is to display the contents of the variable in a formatted way inside the textarea
if the contents are either HTML or XML.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要处理器扩展来完成这项工作,因此答案取决于您使用的 XSLT 处理器。
You'll need processor extensions to do this job, so the answer depends on which XSLT processor you are using.
好吧,我需要尝试一下,但我相信您可以执行以下操作
,或者在您的情况下我宁愿使用选择标签。
fn:contains() 适用于 XSLT 2.0,我不确定的部分是天气它将接受该格式的正则表达式。甚至更多,因为有些地方使用 $1 而不是 \1 来引用组值。
如果您引用 XML 或 HTML,它会检测到它。
Well I would need to try it out, but I believe you could do the following
or in your case I would rather use the choose tag.
The fn:contains() is for XSLT 2.0 and the part I'm not sure is weather it will accept the regex in that format. even more because some places use $1 instead of \1 for referencing the group value.
If you are referencing a XML or HTML that would detect it though.