XSLT를 사용하여 HTML을 만드는 XML 파일 형식에 문제가 있습니다. 일반적으로 XML 요소에 포함 된 각 속성의 값을 순차적으로 검색하려고합니다. Currentlz이 코드는 XSLT에 하드 코드되어 있습니다. XML 파일이 변경되면 XSLT가 작동하지 않습니다. 요소의 첫 번째 속성 값을 검색하기 위해 <xsl:value-of select="@(name(@*[1]))" />
과 같은 것을 사용하려고 시도했지만 작동하지 않습니다.XML 파일에서 XSLT 속성 값을 순차적으로 검색합니다.
어떻게 수행하나요?
미리 감사드립니다. @TimC 내가하지 않는 대답으로, 확인 :
<testsuites disabled="0" errors="0" failures="1" passes="16" skipped="0" tests="17" time="1">
<testsuite disabled="0" id="0" name="Bok" time="1" tests="4">
<testcase classname="XYZ" name="description" Plate="blah" Distance="A" Side="L" Angle="15" failure="PASSED">
<system-out/>
<system-err/>
</testcase>
<testcase classname="XYZ" name="description" Plate="blah" Distance="A" Side="L" Angle="60" failure="PASSED">
<system-out/>
<system-err/>
</testcase>
<testcase classname="XYZ" name="description" Plate="blah" Distance="A" Side="L" Angle="30" failure="PASSED">
<system-out/>
<system-err/>
</testcase>
<testcase classname="XYZ" name="description" Plate="blah" Distance="A" Side="L" Angle="60" failure="PASSED">
<system-out/>
<system-err/>
</testcase>
</testsuite>
... and so one
편집 : 여기
<xsl:for-each select="testsuites/testsuite/testcase">
<xsl:if test="@failure='PASSED'">
<tr style="color:green;font-weight:bold">
<td style="text-align:center">
<xsl:value-of select="@classname" />
</td>
<td style="text-align:center">
<xsl:value-of select="@name" />
</td>
<td style="text-align:center">
<xsl:value-of select="@Plate" />
</td>
<td style="text-align:center">
<xsl:value-of select="@Distance" />
</td>
<td style="text-align:center">
<xsl:value-of select="@Side" />
</td>
<td style="text-align:center">
<xsl:value-of select="@Angle" />
</td>
<td style="text-align:center">
<xsl:value-of select="@failure" />
</td>
<td style="text-align:center">
<xsl:value-of select="failure/@message" />
</td>
</tr>
</xsl:if>
... and so one
내 XML 파일의 일부입니다 : 여기
은 순간처럼 보이는 방법이다 @(name(@*[1]))
에 대괄호와 이름이 필요하며 나에게 좋습니다. XML 속성은-않은 주문하고, 주석에서 언급 한 바와 같이
<xsl:for-each select="$var=1 to 7">
<td style="text-align:center">
<xsl:value-of select="@*[$var]" />
</td>
</xsl:for-each>
샘플 오류는 첫 번째 속성이 아니며 실제로는 실패가 아니라 실패입니다. – derloopkat
@derloopkat 어쨌든 속성의 순서가 지정되지 않았기 때문에 소스 코드의 순서는 아무런 의미가 없습니다. – Tomalak
글쎄, 첫 번째 속성 값을 원한다고 했잖아. – derloopkat