Xml 如何允许在Excel 2010中使用xsl document()函数?

Xml 如何允许在Excel 2010中使用xsl document()函数?,xml,excel,xslt,Xml,Excel,Xslt,我有一个带有xsl样式表的xml文档,它使用document()函数,如下所示 <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="skapa_statisk_import.xsl" type="text/xsl" ?> <filelist> <file name="188702109342.xml"/> <file name="189001019802.xml"/>

我有一个带有xsl样式表的xml文档,它使用document()函数,如下所示

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="skapa_statisk_import.xsl" type="text/xsl" ?>
<filelist>
<file name="188702109342.xml"/>
<file name="189001019802.xml"/>
<file name="189612115452.xml"/>
</filelist>



<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:import href="formatera_excel.xsl"/>
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
 <Testpersoner>
    <xsl:for-each select="/filelist/file">
        <xsl:apply-templates select="document(@name)/*" />
    </xsl:for-each>
    </Testpersoner>
</xsl:template>
<xsl:template match="Testperson">
    <xsl:copy>
    <xsl:apply-templates select="@* | node"/>
    <xsl:apply-imports/>
    </xsl:copy>
</xsl:template>
</xsl:stylesheet>

我需要做的是打开xml文件(并应用样式表),但这会导致错误“AllowDocumentFunction约束冲突”。据我所知,这是MSXML中的一个属性,显然设置为false


我在excel中找不到任何更改此属性的设置,是否有任何解决方法

找到您的解决方案。很抱歉在这里遇到麻烦,但我如何设置此属性?你是说,我能把它设置为全局吗?我得到的印象是,该属性是由excel在与MSXML接口时设置的…@user1077468:而且我不是excel方面的专家。。。首先,为什么您必须在Excel中执行转换?独立于Excel进行此操作要干净得多。如果您确实必须从Excel执行此操作(很明显,Excel正在将属性设置为
false
),您可以从Excel运行独立的命令shell(如C中的
System
)并使用其中的msxslexe执行转换吗?此外,在我看来,您可以使用VBScript在Excell内部运行转换,从而完全控制设置。找到您的解决方案。很抱歉,这里出现了一个noob,但我如何设置此属性?你是说,我能把它设置为全局吗?我得到的印象是,该属性是由excel在与MSXML接口时设置的…@user1077468:而且我不是excel方面的专家。。。首先,为什么您必须在Excel中执行转换?独立于Excel进行此操作要干净得多。如果您确实必须从Excel执行此操作(很明显,Excel正在将属性设置为
false
),您可以从Excel运行独立的命令shell(如C中的
System
)并使用其中的msxslexe执行转换吗?此外,在我看来,您可以使用VBScript在Excell内部运行转换,从而完全控制设置。