У меня есть следующий XML-документ:XSLT несколько узлов же имя же уровня
<ReportParameters SP="prRptActivityDetail">
<Parameter>
<Name>Period Start Date</Name>
<Type>Date</Type>
<Control>DateTextbox</Control>
<ControlName>dtePeriodStartDate</ControlName>
<Validators>
<Validator>Required</Validator>
<Validator>DataTypeCheck</Validator>
<Validator>StartBeforeEnd</Validator>
</Validators>
</Parameter>
</ReportParameters>
Я написал файл XSLT для преобразования выше:
<xsl:for-each select="ReportParameters/Parameter/Validators">
<xsl:choose>
<xsl:when test="Validator='Required'">
<span>
<REQUIRED VALIDATOR CONTROL HERE>
</span>
</xsl:when>
<xsl:when test="Validator='DataTypeCheck'">
<span>
<DATA TYPE CHECK VALIDATOR CONTROL HERE>
</span>
</xsl:when>
</xsl:choose>
Я оставил вне много XSLT для ясности.
Для каждого управления параметрами (в этом случае в качестве даты начала периода) я хочу, чтобы все перечисленные валидаторы (3 в этом случае) были помещены на страницу в качестве элементов проверки правильности, но я получаю только первый, каждый. Я знаю, почему это так, но я полный новичок с xslt и не знаю синтаксиса, чтобы обойти это.
Любая помощь с оценкой,
Богатый.
Хороший вопрос (+1).См. Мой ответ для полностью «беззаботного» решения, которое полностью находится в стиле «push-style» и в духе языка XSLT. :) –