代码之家  ›  专栏  ›  技术社区  ›  Richard

如何允许使用XslCompiledTransform(.NET)通过XSLT的document(uri)函数加载XML文档中的DTD

  •  2
  • Richard  · 技术社区  · 17 年前

    document(uri) XslTransformException ,包含内部 XmlException :

    作为 XmlReader 是在XSLT实现中创建的,没有使用我想要的设置直接创建XmlReader的方法,而且 XslCompiledTransform , XmlResolver 或相关类似乎提供了任何形式的钩子。

    基于 XmlUrlResolver 在Reflector中,这只是将URI的目标作为流加载。

    例如,XSLT是否包含

    <xsl:apply-templates select="document('more.xml')/root"/>
    

    more.xml 包含DTD,则上述异常为结果。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Max Toro    16 年前

    相同的 XmlResolver 你把球传给 Transform 方法用于文档函数,此解析器可以返回 XmlReader 这允许DTD,而不是返回 Stream IXPathNavigable . 换句话说,您需要一个 来解决这个问题。

    推荐文章