将属性添加到<;html>;使用XSLT2.0的根元素
是否可以使用XSLT2.0将将属性添加到<;html>;使用XSLT2.0的根元素,html,xslt,lang,xsl-stylesheet,Html,Xslt,Lang,Xsl Stylesheet,是否可以使用XSLT2.0将xml:lang或lang属性放入html根元素 问题是,xsl:stylesheet唯一允许的属性是:id,排除结果前缀,扩展元素前缀,版本,当然还有xmlns。任何xslt处理器都会忽略其他属性 我希望一定有办法扩展元素 非常感谢 代码(本例中为xhtml): 结果如下所示: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1
xml:lang
或lang
属性放入html根元素
问题是,xsl:stylesheet
唯一允许的属性是:id
,排除结果前缀
,扩展元素前缀
,版本
,当然还有xmlns
。任何xslt处理器都会忽略其他属性
我希望一定有办法扩展元素
非常感谢
代码(本例中为xhtml):
结果如下所示:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:tst="http://www.ma-buwi-fh.de"
xmlns="http://www.w3.org/1999/xhtml">
您将
样式表
元素(XSLT样式表的根元素)误认为是html
(html文档的根元素)
您引用的属性是样式表
元素所允许的属性。参见本规范的相关部分
因此,在输出的html
元素上指定lang
属性,而不是在样式表
元素上
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<html lang="EN">
<!--HTML content-->
</html>
</xsl:template>
</xsl:stylesheet>
如果您想让任何人诊断您的实际问题,您必须显示您的XSLT代码。在了解到您的假设是错误的之后,您不应该编辑您的问题。这使得在回答中很难遵循推理。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<html lang="EN">
<!--HTML content-->
</html>
</xsl:template>
</xsl:stylesheet>