나는 긴 태그 목록을 가진 XML 코드를 가지고 있으며, 모든 요소 "text"에서 내부 단어와 태그를 각각의 "form"속성 값으로 대체하려고합니다.속성 값을 기준으로 요소/태그 값을 변경하는 방법은 무엇입니까?
내가 찾고 있어요 출력<messages>
<text>
<spelling form="Hello">Helo</spelling> I'll see you next <abrev form="week">wk</abrev> alright.
</text>
<text>
<abrev form="Come on">cmon</abrev> get ready <spelling form="dude">dood</spelling>!
</text>
</messages>
은 다음과 같습니다 :
Hello I'll see you next week alright.
Come on get ready dude!
누구 아이디어가 있습니까 방법이 작업을 수행하는
예를 들어, 여기 내 XML 파일에서이 개 문장입니까?
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:for-each select="messages/text">
<xsl:call-template name="parse">
<!-- this selects all the tags inside "text" (I think...) -->
<xsl:with-param name="a" select="./*"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
그런 다음, 제 기능을 "구문 분석":
<xsl:template name="parse">
<!-- "a" is the text to parse -->
<xsl:param name="a"/>
<!-- return the value of "form" -->
<xsl:value-of select="$a/@form"/>
</xsl:template>
이제
, 내 함수는 "분석"ISN 여기
내가 내 XSL 파일에 지금까지 무엇을 가지고 완료되지 않았습니다. 철자가 틀린 단어를 "양식"값으로 바꾸는 방법을 모르겠습니다.
도움 주셔서 감사합니다.
''및 ''또는 둘 중 하나만 사용합니까? 그들은 당신의 근원에서 정확하게 닫히지 않습니다. –
helderdarocha