0

我想在我的 swift 应用程序中通过 xslt 合并 5 个 xml 文件。我正在使用 libxslt 来执行此操作。在我的 xslt 文件中,我有这样的东西

<xsl:copy>
        <xsl:apply-templates select="*"/>
        <xsl:apply-templates select="document('../dok_1_2.xml')/students/*" />
        <xsl:apply-templates select="document('../dok_1_3.xml')/students/*" />
        <xsl:apply-templates select="document('../dok_1_4.xml')/students/*" />
        <xsl:apply-templates select="document('../dok_1_5.xml')/students/*" />
</xsl:copy>

lib 在 xcode 中记录我的错误

I/O 警告:未能加载外部实体“../dok_1_2.xml”

I/O 警告:未能加载外部实体“../dok_1_3.xml”

I/O 警告:未能加载外部实体“../dok_1_4.xml”

I/O 警告:未能加载外部实体“../dok_1_5.xml”

文件在同一目录中,并且肯定存在。

如果我删除../它并没有什么不同,只有错误看起来像:

I/O 警告:未能加载外部实体“dok_1_5.xml”

作为此操作的结果,我收到了用作运行 xslt 的主文件的 xml 文件。

更新:

如果我做这样的事情

<xsl:apply-templates select="document('/Users/xxxxxxxx/Library/Developer/CoreSimulator/Devices/E57023BE-2794-425E-9153-408A10903112/data/Containers/Data/Application/008FF8B8-E258-4B93-92F0-4853B6552296/Documents/xxxxxx/158d661dd12adc16/MIND00200/dok_1_5.xml')/students/*" />

这意味着将完整路径附加到它可以工作的文件:) 但是,我不能这样做,因为它是动态的路径

4

0 回答 0