0
빈 문서 조각을 포함하는 변수를 빈 변수로 처리하는 가장 깨끗한 방법은 무엇입니까?빈 문서 조각을 빈 결과로 처리
다음 코드
<xsl:variable name="embedded-examples" select="d:example"/>
<xsl:variable name="external-examples">
<xsl:call-template name="external-examples"/>
</xsl:variable>
<xsl:variable name="examples" select="$embedded-examples | $external-examples"/>
<xsl:if test="$examples">
<d:section>
<d:title>
<xsl:text>Examples</xsl:text>
</d:title>
<xsl:for-each select="$examples">
<xsl:copy-of select="."/>
</xsl:for-each>
</d:section>
</xsl:if>
그리고 템플릿을 가지고
<xsl:template name="external-examples">
<xsl:variable name="example-comments" select="$example-docs//comment()"/>
<xsl:for-each select="$example-comments">
<d:example>
<d:title><xsl:value-of select="normalize-space(.)"/></d:title>
</d:example>
</xsl:for-each>
</xsl:template>
문제는 esternal-examples
의 변수가 비어있을 때 xsl:for-each
루프가 실행되지 않는 것입니다,하지만 빈을 생산 어쨌든 문서 조각, 시험을 실패 대신에 test="$examples"
로 만드는 것.
example-comments
이 비어있을 때 템플릿에서 아무 것도 반환하지 않도록 템플릿에서 어떻게해야합니까?