누구든지 도와 줄 수 있습니까? 나는 XSLT에 익숙하지 않고 요소 테이블을 만들려고 노력하고있다. 아래의 예제를 간소화하고 세 셀의 행에 출력을 가져 왔지만 행 사이에 쓸데없는 공백이 생깁니다. 누군가 내가 잘못하고있는 것을 말할 수 있습니까?XML을 3 셀의 HTML 행으로 변환하지만 불필요한 공백이 생기기
도 에 <apply-templates />
두 개가 필요합니까? 행 경기? 사전에
많은 감사, 알렉스
이 XML입니다 :
<!-- Rows -->
<xsl:template match="r[position() mod 3 = 1]">
<div class="row">
<xsl:apply-templates mode="cell" select="." />
<xsl:apply-templates mode="cell" select="./following-sibling::r[not(position() > 2)]" />
</div>
</xsl:template>
<!-- Cells -->
<xsl:template match="r" mode="cell">
<div class="cell">
<xsl:value-of select="@t"/>
</div>
</xsl:template>
MY OUTPUT (행 사이의 불필요한 공백을 참고) :
<?xml version="1.0" encoding="iso-8859-1"?>
<products>
<r t='title1'>...</r>
<r t='title2'>...</r>
<r t='title3'>...</r>
<r t='title4'>...</r>
<r t='title5'>...</r>
<r t='title6'>...</r>
<r t='title7'>...</r>
<r t='title8'>...</r>
<r t='title9'>...</r>
</products>
이 XSL입니다
<div class="row">
<div class="cell">Title1</div>
<div class="cell">Title2</div>
<div class="cell">Title3</div>
</div>
<div class="row">
<div class="cell">Title4</div>
<div class="cell">Title5</div>
<div class="cell">Title6</div>
</div>
<div class="row">
<div class="cell">Title7</div>
<div class="cell">Title8</div>
<div class="cell">Title9</div>
</div>
안녕하세요 @KevinBrown 사과, 내 XML 예제를 수정했습니다. – Alex2134
나는 생각하기에 "공백"이라고 생각하지 않습니다. 입력 XML에서과 사이에 "실제로"무엇이 있습니까? 일치하는 것을 제거하는 템플리트가 없으면 "..."또는 다른 내용이 될 수 없습니다. 당신이 제공 한 짧은 예제를 감안할 때, "..."은 여전히 명중되어 출력에있을 것이고 사실 각 행 블록 사이에있게 될 것입니다. –
XSL 및 기타 가능한 템플릿의 맨 위에는 무엇이 있습니까? 모든 것을보고 진단 할 수 없습니다. 나는 당신이 뭔가 다른 것을 가지고 있다고 생각합니다. –