2009-08-03 5 views
0

xml을 html로 변환하기 위해 xsl을 사용하고 있습니다. 테이블에는 html로 테이블이 생성되지만 중복되지 않은 항목의 일부 문제가 나타납니다. 고유 키를 사용하여 테이블을 구성하는 경우 (예 : 모든 행에 대해 xsl) 컨텍스트가 있지만이 특성은 테이블에 없습니다.xsl 처리 정보

최종 테이블이

context(invisible) attr1 attr2 attr3 
1      A  b x 
2      A  b x 
3      A  c x 
4      B  a x 

이제 같은 시간에, 나는 그 항목 1, 항목 2를 의미 다른 기본 키로 & ATTR2 모두 ATTR1 사용하려면 같은 단지 같은 (하나 xsl 처리 중에 자동으로 제거됩니다.), xsl이이 목표를 달성하는 방법은 무엇입니까?

+4

XML 입력 예제와 원하는 HTML 출력을 추가하십시오. – mkoeller

답변

2

이전 형제 축을 사용하여 2 가지 특성에 대한 일치를 필터링 할 수 있습니다. 가정 xml :

<?xml version="1.0" encoding="UTF-8"?> 
<doc> 
    <row attr1="A" attr2="b" attr3="x"/> 
    <row attr1="A" attr2="b" attr3="x"/> 
    <row attr1="A" attr2="c" attr3="x"/> 
    <row attr1="B" attr2="a" attr3="x"/> 
</doc> 

이 XPath는 속성 attr1과 attr2가 중복되지 않은 행만 리턴합니다.

//row[preceding-sibling::row[@attr1 = self::*/@attr1 and @attr2=self::*/@attr2]]