XML : How to modify XML and XSLT for a collection of values?

Below is the data I am getting:

  <AddressIDs>                      <AddressID IDType="ABC_1">                          <HNumber>YYY_1</HNumber>                      </AddressID>                      <AddressID IDType="ABC_2">                          <HNumber>YYY_2</HNumber>                      </AddressID>                      <AddressID IDType="ABC_3">                          <HNumber>YYY_3</HNumber>                      </AddressID>                      <AddressID IDType="ABC_4">                          <HNumber>YYY_4</HNumber>                      </AddressID>                  </AddressIDs>    

I have to display on my page something like this, HNumber:YY_1|YYY_2|YYY_3|YYY_4.

This is how I have written my XML and XSLT:

XML:

  <AddressID Label="HNumber:" XPath="AddressIDs/AddressID" IDType="ABC_*">      <HNumber XPath="AddressIDs/AddressID/HNumber"></HNumber>    </AddressID>    

XSLT:

  <label>HNumber:</label>            <label>  <xsl:choose>  <xsl:when test="AddressIDs/AddressID [contains(@IDType,'ABC_')]!=''">  <xsl:value-of select="concat(AddressIDs/AddressID [contains(@IDType,'ABC_')]/HNumber,'|')"/>                </xsl:when>                <xsl:otherwise>                  <xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>                </xsl:otherwise>              </xsl:choose>            </label>    

Please suggest if this is correct.

No comments:

Post a Comment