0

wsdl:importWSDLを解析する際に、私は多くのxsd:import要素に出くわします。@locationインポートを解析して、または@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. 最初のテンプレートににを追加し<xsl:with-param name="file-list" value="$file-list"/>て、実際にパラメータを渡します。xsl:apply-templates
  2. <xsl:param name="file-list"/>2番目のテンプレートにを追加して、そこにパラメータを導入します。
于 2013-03-17T08:36:46.367 に答える