是否可以使用xslt 2.0将xml:lang
或lang
属性放置到html根元素中<html>
?
问题是,对于唯一允许的属性xsl:stylesheet
有:id
,exclude-result-prefixes
,extension-element-prefixes
,version
,当然xmlns
。其他任何xslt处理器都将忽略其他属性。
必须有一种方法来扩展<html>
我希望的元素吗?
非常感谢。
代码(在这种情况下为xhtml):
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tst="http://www.ma-buwi-fh.de"
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="de">
<xsl:output method="xhtml"
encoding="UTF-8"
indent="yes"
doctype-public='-//W3C//DTD XHTML 1.1//EN'
doctype-system='http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'
/>
结果看起来像这样:
<?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">
您将stylesheet
元素(XSLT样式表html
的根元素)误认为(HTML文档的根元素)。
您引用的属性是该stylesheet
元素允许的属性。请参阅此处的规范的相关部分。
因此,请lang
在html
输出的元素上指定属性,而不是在stylesheet
元素上指定属性。
<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代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句