xsl:copy-of
을 사용할 때 xhtml 출력 문서에서 기본 속성 shape="rect"
을 표시하지 않는 방법을 알아낼 수 없습니다.xsl : copy-of를 사용할 때 기본 속성 표시 안 함
샘플 XML :
<div class="table">
<p class="table-caption"><span class="table-label">Table 7.2</span> Foo<a class="tabfn-ref"
href="#s9781483390086.i825" id="s9781483390086.i808" shape="rect"><sup>a</sup></a> in
Pricing</p>
<img alt="Table 11" class="table-image" src="10.4135_9781483390086-table11.jpg"/>
<table>
<tgroup cols="3">
<colspec align="left" colname="1" colnum="1"/>
<colspec align="left" colname="2" colnum="2"/>
<colspec align="left" colname="3" colnum="3"/>
<thead>
<row rowsep="1">
<entry align="left">
<p/>
</entry>
<entry align="left">
<p>N</p>
</entry>
<entry align="left">
<p>%</p>
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<p>Foo<a class="tabfn-ref" href="#s9781483390086.i826"
id="s9781483390086.i809" shape="rect"><sup>b</sup></a></p>
<p>1–12</p>
<p>13–24</p>
<p>25–36</p>
<p>37–48</p>
<p>49–60</p>
<p>61–72</p>
<p>73–84</p>
<p>85–96</p>
<p>More than 96</p>
</entry>
</row>
<row>
<entry>
<p>Bar<a class="tabfn-ref" href="#s9781483390086.i827"
id="s9781483390086.i810" shape="rect"><sup>c</sup></a></p>
<p>1–20%</p>
<p>21–40%</p>
<p>41–60%</p>
<p>61–80%</p>
<p>More than 80%</p>
</entry>
</row>
</tbody>
</tgroup>
</table>
<div class="table-notes" id="s9781483390086.i825a">
<p class="table-note" id="s9781483390086.i825b"><span class="label-fn"><a class="tabfn-ref"
href="#s9781483390086.i808" id="s9781483390086.i825" shape="rect"
><sup>a</sup></a></span> Foo</p>
<p class="table-note" id="s9781483390086.i825c"><span class="label-fn"><a class="tabfn-ref"
href="#s9781483390086.i809" id="s9781483390086.i826" shape="rect"
><sup>b</sup></a></span> Bar</p>
<p class="table-note" id="s9781483390086.i825d"><span class="label-fn"><a class="tabfn-ref"
href="#s9781483390086.i810" id="s9781483390086.i827" shape="rect"
><sup>c</sup></a></span> Too</p>
</div>
샘플 XSLT : I 출력에서 shape="rect"
을 억제 할 필요가
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xhtml="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xs xhtml" xmlns="http://www.w3.org/1999/xhtml"
version="2.0">
<xsl:output method="xhtml" indent="yes"/>
<!-- Suppress default shape attribute -->
<xsl:template match="*/@shape"/>
<!-- Identity template -->
<xsl:template match="node()|@*">
<xsl:copy copy-namespaces="no">
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template priority="1" match="//div[@class='table']//p[@class='table-caption']"/>
<xsl:template match="table">
<xsl:element name="table">
<xsl:attribute name="hidden" select="'hidden'"/>
<xsl:element name="caption">
<xsl:copy-of select="preceding-sibling::p[@class='table-caption'] | *[not(preceding::a/@shape)]"/>
</xsl:element>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
. 보시다시피, xsl:copy-of
을 사용하는 앵커를 제외한 모든 앵커의 출력은 표시되지 않습니다. 줄에서 억압을 지정하려면 어떻게해야합니까?
<xsl:copy-of select="preceding-sibling::p[@class='table-caption'] | *[not(preceding::a/@shape)]"/>
이것은 분명히 작동하지 않습니다.
출력 : 클래스 = "tabfn-REF"형상 특성 (복사로 인해) 유지되어 먼저
<div class="table">
<img alt="Table 11" class="table-image" src="10.4135_9781483390086-table11.jpg"/>
<table xmlns="http://www.w3.org/1999/xhtml" hidden="hidden">
<caption>
<p xmlns="" class="table-caption">
<span class="table-label">Table 7.2</span> Foo <a class="tabfn-ref"
href="#s9781483390086.i825" id="s9781483390086.i808" shape="rect">
<sup>a</sup>
</a> in Pricing </p>
</caption>
<tgroup xmlns="" cols="3">
<colspec align="left" colname="1" colnum="1"/>
<colspec align="left" colname="2" colnum="2"/>
<colspec align="left" colname="3" colnum="3"/>
<thead>
<row rowsep="1">
<entry align="left">
<p/>
</entry>
<entry align="left">
<p>N</p>
</entry>
<entry align="left">
<p>%</p>
</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<p>Foo <a class="tabfn-ref" href="#s9781483390086.i826" id="s9781483390086.i809">
<sup>b</sup>
</a>
</p>
<p>1–12</p>
<p>13–24</p>
<p>25–36</p>
<p>37–48</p>
<p>49–60</p>
<p>61–72</p>
<p>73–84</p>
<p>85–96</p>
<p>More than 96</p>
</entry>
</row>
<row>
<entry>
<p>Bar <a class="tabfn-ref" href="#s9781483390086.i827" id="s9781483390086.i810">
<sup>c</sup>
</a>
</p>
<p>1–20%</p>
<p>21–40%</p>
<p>41–60%</p>
<p>61–80%</p>
<p>More than 80%</p>
</entry>
</row>
</tbody>
</tgroup>
</table>
<div class="table-notes" id="s9781483390086.i825a">
<p class="table-note" id="s9781483390086.i825b">
<span class="label-fn">
<a class="tabfn-ref" href="#s9781483390086.i808" id="s9781483390086.i825">
<sup>a</sup>
</a>
</span> Foo </p>
<p class="table-note" id="s9781483390086.i825c">
<span class="label-fn">
<a class="tabfn-ref" href="#s9781483390086.i809" id="s9781483390086.i826">
<sup>b</sup>
</a>
</span> Bar </p>
<p class="table-note" id="s9781483390086.i825d">
<span class="label-fn">
<a class="tabfn-ref" href="#s9781483390086.i810" id="s9781483390086.i827">
<sup>c</sup>
</a>
</span> Too </p>
</div>
</div>
. 나는 억압하기 위해 이것을 필요로한다.
** 유효한 ** 코드 (필요한 경우에만 최소화하는 것이 바람직 함)를 게시하여 문제를 재현 할 수 있도록하십시오. 일반적으로은 딥 카피를 수행합니다. 선택 및 선택할 수 없습니다. –