0

wsdl:import在解析 WSDL 时,我遇到了许多xsd:import元素。我想解析导入并将@locationor传递@schemaLocation给解析器。

目的是让文件列表在导入的文件导入文件时增长filea.wsdl;filez.xsd;filev.xsd。这样我可以消除以前导入的文件。

我会沿着这些思路思考:

<xsl:param name="file-list"/>

<xsl:template match="/">
    <xsl:param name="file-list"/>
    <xsl:apply-templates />
</xsl:template>

<xsl:template match="wsdl:import">
    <xsl:apply-templates select="document(@location)">
        <xsl:with-param name="file-list" select="concat($file-list, ';', @location)`"/>
    </xsl:apply-templates>
</xsl:template>
4

1 回答 1

1

您的基本想法似乎很好。您只需要file-list在应用模板时传递参数,因此:

  1. 在您的第一个模板中添加 a<xsl:with-param name="file-list" value="$file-list"/>xsl:apply-templates实际传递参数,并且
  2. 在您的第二个模板中添加一个<xsl:param name="file-list"/>以在其中引入参数。
于 2013-03-17T08:36:46.367 回答