홈>
토큰 화하고 정렬 한 다음 다시 결합해야하는 구분 된 문자열 (아래 예에서 공백으로 구분)이 있으며 XSLT 1.0을 사용하여이 모든 작업을 수행해야합니다. 어떻게해야합니까?
xsl:sort
를 사용해야한다는 것을 알고 있습니다
어쨌든, 지금까지 시도한 모든 것은 나에게 일종의 오류를 주었다.
예를 들어,이 게시물 맨 아래에서 코드를 실행하면 다음과 같은 결과를 얻습니다.
strawberry blueberry orange raspberry lime lemon
대신 이걸 얻으려면 어떻게해야합니까? :
blueberry lemon lime orange raspberry strawberry
XSLT 1.0을 사용하고 있습니다.
다음은 제니 테니스 온 의 코드를 기반으로하는 코드입니다.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="tokenize1.xsl"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="'strawberry blueberry orange raspberry lime lemon'" />
</xsl:call-template>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimiter" select="' '" />
<xsl:choose>
<xsl:when test="$delimiter and contains($string, $delimiter)">
<token>
<xsl:value-of select="substring-before($string, $delimiter)" />
</token>
<xsl:text> </xsl:text>
<xsl:call-template name="tokenize">
<xsl:with-param name="string"
select="substring-after($string, $delimiter)" />
<xsl:with-param name="delimiter" select="$delimiter" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<token><xsl:value-of select="$string" /></token>
<xsl:text> </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
- 답변 # 1
- 답변 # 2
프로세서가 EXSLT를 지원하는 경우 str : tokenize
를 사용하는 것이 좋습니다.정렬을 위해 xsl : sort를 사용하지 않는 이유는 무엇입니까?
<xsl:template match="/"> <xsl:variable name="tokens"> <xsl:call-template name="tokenize"> <xsl:with-param name="string" select="'strawberry blueberry orange raspberry lime lemon'" /> </xsl:call-template> </xsl:variable> <xsl:for-each select="$tokens"> <xsl:sort select="text()" /> <xsl:value-of select="." /> <xsl:if test="not(last())"> <xsl:text> </xsl:text> </xsl:if> </xsl:for-each> </xsl:template>
반복에 exsl : node-set해야 할 수도 있습니다.
관련 자료
- c# - 로드 및 양식 모델이있는 MVC보기
- PHP와 file_get_contents로 파일 다운로드
- int - Java에서 AND 문을 사용하는 방법
- jekyll - 변수와 함께 "link"및 "post_url"사용
- r - 길고 NA로 완성
- jax ws - JAXB 및 JAXWS 문제가있는 JDK 11
- python - 문자와 정수로 루프
- php - 루프를 통한 데이터 읽기 및 출력
- android - 아이콘과 텍스트가 중앙에있는 버튼
- zurb foundation - Microsoft Edge의 xy 그리드 및 메뉴 문제
- jquery - AND와 두 기능 결합
- html - 문자가있는 정규 표현식과-
- javascript - 문법으로 % 20과 얼룩을 이해
- Nativescript Vue로 드래그 앤 드롭
- python - randomchoice와 교체를 반복하는 방법은 무엇입니까?
- filehandle perl로 정렬
- asp.net web api - netsqlazman으로 시스템에 가입하고 로그인하십시오
- java - Jboss에서 CMS와 Luna Hsm으로 p7m 해독
- python 3.x - 나는 bs4로 webscraping하고 URL이 표시되지 않습니다
- mysql - 일과 월 사이에만
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- JavaScript 변수를 HTML div에 '출력'하는 방법
- python - 문자열에서 특정 문자 제거
다음은 비효율적 인 순수한 버전 1 솔루션입니다.