我正在尝试编写XSL样式表以将结果转换为简单的纯文本字符串,并且我在Chrome和Opera上出现以下错误:
此页面包含以下错误:
第1行第1行的错误:文档末尾的额外内容 下面是第一个错误的页面呈现。
此文档是作为XSL转换的结果创建的。该 给出的行号和列号来自转换后的结果。
虽然它在Firefox上运行良好。
为什么?
XSL是:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="rtmp"/>
</xsl:template>
<xsl:template match="rtmp">
<xsl:apply-templates select="server"/>
</xsl:template>
<xsl:template match="server">
<xsl:apply-templates select="application"/>
</xsl:template>
<xsl:template match="application">
<xsl:apply-templates select="live"/>
</xsl:template>
<xsl:template match="live">
<xsl:apply-templates select="stream"/>
</xsl:template>
<xsl:template match="stream">
<xsl:choose>
<xsl:when test="publishing"><xsl:value-of select="name"/>:<xsl:value-of select="nclients - 1"/>,
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
和nginx conf是:
location /live {
rtmp_stat all;
rtmp_stat_stylesheet live.xsl;
include mime.types;
default_type text/plain;
}
location /live.xsl {
root /usr/local/nginx/html/;
}
目的实际上是从nginx RTMP module检索结果。
我在Firefox页面上打开了View Page Info,类型为“text / xml”。我想如果我能把它看成是“文本/普通”,它就能解决问题。但是怎么样?我可以在nginx或XSL样式表中配置吗?
我想收到一个200状态的text / plain字符串。
答案 0 :(得分:3)
现在,样式表的输出是一个xml文档,它不能以文本开头,所以Opera和Chrome决定抱怨。
添加
<xsl:output method="text"/>
到<stylesheet>
元素下面的样式表,将输出声明为文本。