2014-10-17 4 views
0

특정 열의 모든 표 셀을 선택하고 10 자까지 잘라내려고합니다.요소를 복사하고 xslt를 사용하여 자릅니다.

정말이 구문을 잘못 적용 할 수 없습니다.

<xsl:template match="table[contains(@class, 'listing')]//tr/td[contains(@class, 'listing-body-start')]"> 
    <td> 
    <xsl:value-of select="substring(./text(), 1, 10)"/> 
    </td> 
</xsl:template> 

나는 정적 텍스트와 셀의 내용을 바꾸거나 = 선택 사용하여 동일한 텍스트를 복제 "."하지만, 최대한 빨리이 문자열 방법을 시도로서, 세포 dissappear 수 있습니다.

+0

입력 사항을 게시하고 XSLT를 예상되는 출력으로 완성하십시오. –

+0

XSLT 출력에서 ​​사라지거나 XSLT 출력을 읽는 프로그램에서만 해석됩니까? –

답변

0

text()을 사용하지 않도록하십시오. 일반적으로 나쁜 습관입니다.

사용

<xsl:value-of select="substring(., 1, 10)"/> 

이 오히려 자식 텍스트 노드보다는 TD 요소의 문자열 값에서 작동합니다. 많은 콘텐츠 모델에서, td 요소가 다른 요소를 자식으로 포함하는 것은 정상적이다. p 또는 para 요소를 포함하며,이 경우 하위 텍스트 노드를 찾는 것은 실패합니다.

이 답변은 추측입니다. 귀하의 의견에 무엇이 포함되어 있는지 알려주지 않으면 추측 할 수밖에 없습니다.

관련 문제