使用了元素 'xsl:stylesheet' 但未在 DTD/Schema 中声明
The element 'xsl:stylesheet' is used but not declared in the DTD/Schema
我正在尝试使用来自 RenderX 的“fo2html.xsl”文件将 XSL-FO 文档转换为 HTML。这是这个 Whosebug post 的建议:
Converting XSL-FO to HTML
我正在使用 load()
方法,它适用于加载“fo2html.xsl”文件之前的所有内容。
hr = pXMLDoc->load(vSource, &vbResult);
IXMLDOMParseError
对象告诉我问题出在 XML 的第 24 行。
<!DOCTYPE xsl:stylesheet [
<!ENTITY anchor "<xsl:apply-templates select='@id' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'/>">
<!ENTITY add-style "<xsl:call-template name='add-style-attribute' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'/>">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
exclude-result-prefixes="fo">
第24行是上面XML的最后一行。错误源返回exclude-result-prefixes="fo">
,原因是:
The element 'xsl:stylesheet' is used but not declared in the DTD/Schema
我试过 pDoc2->put_resolveExternals(VARIANT_TRUE);
和 pDoc2->setProperty(L"ProhibitDTD", v);
,但都没有任何改变。
使用 MSXML 加载“fo2html.xsl”需要做什么?
谢谢!
您可以尝试添加一个 XML 声明(参见 https://www.w3.org/TR/REC-xml/#sec-prolog-dtd),表明文档是独立的:
<?xml version="1.0" standalone="yes" ?>
或者,您可能需要自己扩展实体并删除 DOCTYPE 声明,这样文件中就没有架构了。
我正在尝试使用来自 RenderX 的“fo2html.xsl”文件将 XSL-FO 文档转换为 HTML。这是这个 Whosebug post 的建议: Converting XSL-FO to HTML
我正在使用 load()
方法,它适用于加载“fo2html.xsl”文件之前的所有内容。
hr = pXMLDoc->load(vSource, &vbResult);
IXMLDOMParseError
对象告诉我问题出在 XML 的第 24 行。
<!DOCTYPE xsl:stylesheet [
<!ENTITY anchor "<xsl:apply-templates select='@id' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'/>">
<!ENTITY add-style "<xsl:call-template name='add-style-attribute' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'/>">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
exclude-result-prefixes="fo">
第24行是上面XML的最后一行。错误源返回exclude-result-prefixes="fo">
,原因是:
The element 'xsl:stylesheet' is used but not declared in the DTD/Schema
我试过 pDoc2->put_resolveExternals(VARIANT_TRUE);
和 pDoc2->setProperty(L"ProhibitDTD", v);
,但都没有任何改变。
使用 MSXML 加载“fo2html.xsl”需要做什么?
谢谢!
您可以尝试添加一个 XML 声明(参见 https://www.w3.org/TR/REC-xml/#sec-prolog-dtd),表明文档是独立的:
<?xml version="1.0" standalone="yes" ?>
或者,您可能需要自己扩展实体并删除 DOCTYPE 声明,这样文件中就没有架构了。