In the below example I am using the following to try to match only the
unique MechanismText nodes within each Subscription node:
select="Deliver yPreferences/DeliveryPrefere nce[not(MechanismTe xt=following::
MechanismText)]"
Right now, the 2nd select populates correctly, but the 1st select is empty.
I know what is going on, but I don't know how to correct it.
I would appreciate any ideas, solutions or pointers you can give me.
Thanks, John
After the transformation, I should have two select lists...one for each
Subscription node.
1st Select:
<select>
<option>Email </option>
<option>Fax</option>
</select>
2nd Select:
<select>
<option>Email </option>
<option>Fax</option>
</select>
XSL TEMPLATES
<xsl:template mode="standard"
match="/myRoot/Response/Subscriptions/Subscription">
<select>
<xsl:apply-templates mode="optionbui lder"
select="Deliver yPreferences/DeliveryPrefere nce[not(MechanismTe xt=following::
MechanismText)]" />
</select>
</xsl:template>
<xsl:template mode="optionbui lder"
match="Delivery Preferences/DeliveryPrefere nce[not(MechanismTe xt=following::M
echanismText)]">
<xsl:element name="option">
<xsl:choose>
<xsl:when test="..//UserPreferenceF lag = 'Y'">
<xsl:if test="UserPrefe renceFlag = 'Y'">
<xsl:attribut e name="selected" >selected</xsl:attribute>
</xsl:if>
</xsl:when>
<xsl:otherwis e>
<xsl:if test="DefaultPr eferenceFlag = 'Y'">
<xsl:attribut e name="selected" >selected</xsl:attribute>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:attribut e name="value"><x sl:value-of
select="Mechani smCode"/></xsl:attribute>
<xsl:if test="Mechanism Text != 'NONE'">
<xsl:value-of select="Mechani smText"/>
</xsl:if>
</xsl:element>
</xsl:template>
HERE IS THE XML
<myRoot>
<Response>
<Subscription s>
<Subscription >
<DeliveryPrefer ences>
<DeliveryPrefer ence>
<TypeCode>10</TypeCode>
<MechanismCode> 1</MechanismCode>
<MechanismText> Email</MechanismText>
<FrequencyCode> 10</FrequencyCode>
<FrequencyText> 1st day of the month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>11</TypeCode>
<MechanismCode> 1</MechanismCode>
<MechanismText> Email</MechanismText>
<FrequencyCode> 11</FrequencyCode>
<FrequencyText> 2nd day of the month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>100 </TypeCode>
<MechanismCode> 7</MechanismCode>
<MechanismText> Fax</MechanismText>
<FrequencyCode> 1</FrequencyCode>
<FrequencyText> Month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>101 </TypeCode>
<MechanismCode> 7</MechanismCode>
<MechanismText> Fax</MechanismText>
<FrequencyCode> 2</FrequencyCode>
<FrequencyText> Quarterly</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>Y</UserPreferenceF lag>
</DeliveryPrefere nce>
</DeliveryPrefere nces>
</Subscription>
<Subscription >
<DeliveryPrefer ences>
<DeliveryPrefer ence>
<TypeCode>10</TypeCode>
<MechanismCode> 1</MechanismCode>
<MechanismText> Email</MechanismText>
<FrequencyCode> 10</FrequencyCode>
<FrequencyText> 1st day of the month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>11</TypeCode>
<MechanismCode> 1</MechanismCode>
<MechanismText> Email</MechanismText>
<FrequencyCode> 11</FrequencyCode>
<FrequencyText> 2nd day of the month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>12</TypeCode>
<MechanismCode> 1</MechanismCode>
<MechanismText> Email</MechanismText>
<FrequencyCode> 12</FrequencyCode>
<FrequencyText> 3rd day of the month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>40</TypeCode>
<MechanismCode> 1</MechanismCode>
<MechanismText> Email</MechanismText>
<FrequencyCode> 40</FrequencyCode>
<FrequencyText> 31st day of the month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>Y</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>100 </TypeCode>
<MechanismCode> 7</MechanismCode>
<MechanismText> Fax</MechanismText>
<FrequencyCode> 1</FrequencyCode>
<FrequencyText> Month</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
<DeliveryPrefer ence>
<TypeCode>101 </TypeCode>
<MechanismCode> 7</MechanismCode>
<MechanismText> Fax</MechanismText>
<FrequencyCode> 2</FrequencyCode>
<FrequencyText> Quarterly</FrequencyText>
<DefaultPrefere nceFlag/>
<UserPreference Flag>N</UserPreferenceF lag>
</DeliveryPrefere nce>
</DeliveryPrefere nces>
</Subscription>
</Subscriptions>
</Response>
</myRoot>