생성 된 출력 및 변수에 설정된 출력에서 빈 노드를 제거하는 데 도움을주십시오. XSLT는 생성 된 출력에서 빈 노드를 제거하고 출력은 변수에 설정합니다.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://www.contoso.com"
version="1.0">
<xsl:variable name="books">
<header>
<book author="Michael Howard">Writing Secure Code</book>
<book author="Michael Kay">XSLT Reference</book>
</header>
<item>
<item1>item1</item1>
<item2></item2>//remove this empty tag
<item3></item3>//remove this empty tag
</item>
<summary>
<summary1>
<sum1>SUB1</sum1>
<sum2></sum2> //remove this empty tag
</summary1>
<summary2>Summary2</summary2>
<summary3>Summ3</summary3>
</summary>
</xsl:variable>
<xsl:template match="/">
<xsl:value-of select="$books"/>
<xsl:for-each select="msxsl:node-set($books)/node()">
<xsl:apply-templates/>
<!--select="ms:node-set($completeDocument[1])/node()"/>-->
</xsl:for-each>
</xsl:template>
<xsl:template match= "*[not(@*|*|comment()|processing-instruction()) and normalize-space()='']"/>
</xsl:stylesheet>
출력
<?xml version="1.0" encoding="utf-8"?>Writing Secure CodeXSLT Referenceitem1item2SUB1sub2Summary2Summ3Writing Secure CodeXSLT Referenceitem1item2SUB1sub2Summary2Summ3
예상 출력
<header>
<book author="Michael Howard">Writing Secure Code</book>
<book author="Michael Kay">XSLT Reference</book>
</header>
<item>
<item1>item1</item1>
</item>
<summary>
<summary1>
<sum1>SUB1</sum1>
</summary1>
<summary2>Summary2</summary2>
<summary3>Summ3</summary3>
</summary>
예상 출력을 만들어 내고 빈 노드를 제거 보여준다 다음 I는 XSLT를 만들었다.
같은 예상 출력 예를 추가하십시오 할 수 있습니다. 나는 "빈 노드"를 "제거"하고 싶지 않습니다. –
내 질문을 참조하십시오. 내 질문을 업데이트했습니다. 여기 내 xslt, 출력 및 예상 된 출력을 표시합니다. 내가 실제로 하나의 파일을 입력하고 다른 form.Hence로 변환 빈 노드를 제거해야합니다. 내가 변수를 만들었습니다 템플릿을 호출하여 그 변수에서 빈 노드를 제거 – user1453017