2012-03-26 33 views
0

ノード内の値が見つかった場合、XLSTで値を選択できるかどうかを知りたいと思います。私はXSLTに関する経験はありませんが、Microsoft BizTalkのプロセスにはこれが必要です。ノード内の値が存在する場合のXSLT選択値

だから私がやりたいものの例:

<STF_11_OfficeHomeAddress> 
    <AD_0_StreetAddress>Street 1</AD_0_StreetAddress> 
    <AD_1_OtherDesignation>AD_1_OtherDesignation_0</AD_1_OtherDesignation> 
    <AD_2_City>City 1</AD_2_City> 
    <AD_3_StateOrProvince>Provence 1</AD_3_StateOrProvince> 
    <AD_4_ZipOrPostalCode>ZIP 1</AD_4_ZipOrPostalCode> 
    <AD_5_Country>Country 1</AD_5_Country> 
    <AD_6_AddressType>TYPE 1</AD_6_AddressType> 
    <AD_7_OtherGeographicDesignation>OtherGeographicDesignation 1</AD_7_OtherGeographicDesignation> 
</STF_11_OfficeHomeAddress> 
<STF_11_OfficeHomeAddress> 
    <AD_0_StreetAddress>Street 2</AD_0_StreetAddress> 
    <AD_1_OtherDesignation>OtherDesignation 2</AD_1_OtherDesignation> 
    <AD_2_City>City 2</AD_2_City> 
    <AD_3_StateOrProvince>Province 2</AD_3_StateOrProvince> 
    <AD_4_ZipOrPostalCode>Zip 2</AD_4_ZipOrPostalCode> 
    <AD_5_Country>Country 2</AD_5_Country> 
    <AD_6_AddressType>AddressType 2</AD_6_AddressType> 
    <AD_7_OtherGeographicDesignation>OtherGeographicDesignation 2</AD_7_OtherGeographicDesignation> 
</STF_11_OfficeHomeAddress> 

<AD_7_OtherGeographicDesignation>OtherGeographicDesignation 2</AD_7_OtherGeographicDesignation>が存在する場合は、<AD_0_StreetAddress>Street 2</AD_0_StreetAddress>を選択します。唯一のことは、シーケンスが常に同じではなく、ノード<STF_11_OfficeHomeAddress>が同じファイル内で11回発生する可能性があるということです。

誰かが私を助けてくれますか?

答えて

2
//STF_11_OfficeHomeAddress[ 
    AD_7_OtherGeographicDesignation = 'OtherGeographicDesignation 2' 
]/AD_0_StreetAddress 

は一定値でその他の地理的名称を持っている...

  • //STF_11_OfficeHomeAddress)...任意のオフィス/ホームアドレス

    • として読み込みます... ([AD_7_OtherGeographicDesignation = 'OtherGeographicDesignation 2']
    • ... 番地を選択します。 (/AD_0_StreetAddress
  • +0

    ありがとう! – user1292411

    1

    Jeni Tennison's XSLT tutorial pages最初の少なくとも基本的な部分を通過し、あなたがして(代わりにプルモードの)プッシュモードをやって、そのようにあなたの一致ルールで述語を使用して、この自分を行うことができます:

    <xsl:template match="AD_0_StreetAddress[../AD_7_OtherGeographicDesignation]"> 
        <xsl:value-of select="."/> 
    
    +0

    +1のようになりますが、OPのマッチ表現はまだ少し違います。 – Tomalak

    +0

    チュートリアルのページをありがとう、私はそれらをチェックアウトする... – user1292411

    関連する問題