두 개의 숫자가 [-]로 분리 된 요소가 있습니다 (예 : 120-125).xml 요소에서 정규식으로 숫자 얻기
<first>120</first>
<second>125</second>
어떻게 이것을 달성 할 수 지금은이 두 숫자를 얻을이 값을 사용하여 XML 요소를 만들려면, 그리고 마지막으로 나는 이런 식으로 뭔가를 원하는 XSLT를 사용하고 계십니까?
편집
변경 내 XML 구조는 다음과 같습니다
<issue>
<number>3</number>
<year>2017</year>
<article>
<title>Title</title>
<author>
<firstname>name</firstname>
</author>
<pages>71-72</pages>
<reference>reference</reference>
</article>
</issue>
XSLT :
<issue>
<number>
<xsl:value-of select="number"/>
</number>
<year>
<xsl:value-of select="year"/>
</year>
<xsl:for-each select="article">
<article>
<title>
<xsl:value-of select="title"/>
</title>
<author>
<firstname>
<xsl:value-of select="firstname"/>
</firstname>
</author>
<xsl:template match="pages">
<xsl:copy>
<first>
<xsl:value-of select="substring-before(., '-')" />
</first>
<second>
<xsl:value-of select="substring-after(., '-')" />
</second>
</xsl:copy>
</xsl:template>
<reference>
<xsl:value-of select="reference"/>
</reference>
</article>
</issue>
내가 갖고 싶어
출력 XML :
<issue>
<number>3</number>
<year>2017</year>
<article>
<title>Title</title>
<author>
<firstname>name</firstname>
</author>
<first>71</first>
<second>71</second>
<reference>reference</reference>
</article>
</issue>
XSLT 1.0의'substring-before()'와'substring-after()'함수를 사용하면 문자열을 분리 할 수 있습니다. –
XSLT 1.0을 사용하는 경우 정규식을 사용할 수 없지만 @AniketV에서 제시하는대로 쉽게 문제를 해결할 수 있습니다. –
@AniketV substring-before()의 첫 번째 매개 변수로 XML 요소의 내용을 배치하려면 어떻게해야합니까? 나는 이런 식으로 시도했지만 작동하지 않습니다 : –
cerbin