2016-04-19 5 views
0

私はこのようなXSL持っている:それは厳密にはこのようであるwsdl:definitionsタグと一致するつもりは私の理解からxslテンプレートでのマッチはどのように機能しますか?

<xsl:template match="wsdl:definitions"> 

:このXSLで

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
       version="1.0"> 

    <xsl:template match="wsdl:definitions"> 
     <!-- code here --> 
    </xsl:template> 

</xsl:stylesheet> 

、この行が何をするのかを与えられたxml(私がここに間違っていれば私を修正してください)。それはまだ<xxx:definitions>と一致し、必要に応じて変換を行い

<xxx:definitions xmlns:xxx="http://schemas.xmlsoap.org/wsdl/" xmlns:xxxx1="http://www.w3.org/2006/05/addressing/wsdl" > 
</xxx:definitions> 

しかし、私は文字通り瞬間を混乱していたが、私は、この入力XMLを与えます。これは私のxslシートで私はそれに一致するように与えた可能性がどのように wsdl:definitions?指定された入力xmlの xmlnsと何かマッチしますか?

答えて

1

名前空間接頭辞はURIの単なる名前です。 URIが一致する場合、名前空間は同一です。 xmlnsはURIにプレフィックスを追加します。単一のドキュメントに同じ名前空間の接頭辞が多数存在することさえあります。

名前空間に必要な接頭辞を使用することができ、XSLは常にそれらを適切に一致させます。これは、同じ接頭語を使用する必要がなく、依然として理解されていない異なるソースから発信された文書に役立ちます。

+0

したがって、URI「http:// schemas.xmlsoap.org/wsdl /」は両方のドキュメントで一致しているので、正しく動作しますか?これは 'match'とは関係ありません。 –

+0

@Antのはい。どちらもURIの接頭辞を持つため、一致すると見なされます。 –

+0

ありがとう、今、意味をなさない! –

関連する問題