XSLT를 사용하여 간단한 XML 스키마를 HTML로 변환하려고 시도하고 fn:replace
를 사용하여 <p>;
로 반품 (\n
)을 대체 할 계획입니다. 그러나이 함수를 올바르게 사용하는 방법을 알 수 없습니다.XPath 함수 사용 fn : XSLT에서 바꾸기
사용하고있는 XSLT의 간략한 버전은 다음과 같습니다.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="/root">
<html>
<body>
<!-- Replace \n with <p> -->
<xsl:value-of select="fn:replace(value, '\n', '<p>')" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
그리고이 XLST의 입력은 다음과 같습니다.
<?xml version="1.0"?>
<root>
<value><![CDATA[
Hello
world!
]]></value>
</root>
NoSuchMethodException을 사용하여 fn:replace
에서 변환이 실패합니다.
<xsl:value-of select="fn:replace('somestring', '\n', '<p>')" />
바꾸기 문을 변경하면 IllegalArgumentException이 발생합니다. 내가 원하는 것을 얻기 위해 fn:replace
를 어떻게 사용합니까?
XSLT를 테스트하기 위해 Butterfly XML Editor을 사용하고 있습니다.
Thx, XSLT 2.0을 언급하면 올바른 방향으로 나를 밀어 냈습니다.의 버전 속성을 부딪 히면됩니다. 2.0으로 변경하고 ; 나는 일을 끝내. 어쩌면 analyze-string은 더 깨끗합니다. 그러나 이것으로 작업이 완료됩니다 :) –
larsmoa
버전을 2.0으로 변경하는 것 외에 다른 작업을 수행 했습니까? –