2013-06-10 2 views
0

문제가 있습니다. 일부 항목이 있습니다, 용어를 포함 같은 :xsl : sort의 특수 기호를 무시합니다.

은 "에"기사 "는"후 마땅한 논리 당으로
<term>Emploee's earnings...</term> 
<term>Emploee Withholdings...</term> 
<term>...value of an...</term> 
<term>...value of a...</term> 

. 또한 "Emploee 's"는 "Emploee"뒤에 있어야합니다. 질문은 xsl : sort를 사용하여 수행하는 방법입니다. 감사합니다.

답변

0

나는 당신의 문제가 정말로 무엇인지 모르겠습니다. xsl : sort 내에서 사용 : apply-templates (또는 for-each)는 원하는대로 정렬해야합니다.

<xsl:apply-templates select="term" > 
    <xsl:sort select="text()"/> 
</xsl:apply-templates> 

언어 별 처리 방법을 적용하기 위해 "lang"속성을 추가 할 수 있습니다. 일부 문자를 무시하려면 translate()을 사용할 수 있습니다. 책의 예 제목은 "초기를 무시 분류되어 수준에서,

<xsl:apply-templates select="term" > 
    <xsl:sort select='translate(text(),"&apos;", "")'/> 
</xsl:apply-templates> 
+0

이 답변은 부분적으로 문제를 해결하지만 단어의 복수형이 먼저 나옵니다. 예를 들어, "시간 이자율"은 정렬 출력에서 ​​"시간 가치 값"보다 먼저 나타납니다. – protogenoff

0

난 당신이 진정한 자연 언어 정렬을 찾을 수 있다고 생각 :
예 아포스트로피 (여기 필요하지를) 무시 "또는"A "는 대부분의 XSLT 엔진의 기능을 넘어서며 대부분의 범용 정렬 유틸리티입니다. 매우 응용 프로그램에 의존하기 때문입니다. 예를 들어 전화 번호부에서 "McMillan"및 "Macmillan"을 정렬하는 방법을 확인하십시오.

데이터를 표준화하는 함수 (예 : 불필요한 선행 또는 불명 한 기사 제거)를 작성하면 XSLT 2.0에서이 함수를 xsl : select의 select 속성에서 호출하여 이전에 키를 정규화 할 수 있습니다. 정렬.

+0

답변 해 주셔서 감사합니다. 이 문제를 XSLT 2.0으로 해결하는 방법은 무엇입니까? – protogenoff

+0

정확한 사양을 제공 할 수 없다면 위의 일반적인 개요보다 더 정확한 해결책을 시도하지 않을 것입니다. –

관련 문제