0
XML에서 일부 텍스트를 변경하려고합니다. 그러나 그것은 작동하지 않았다.XSLT를 사용하여 텍스트 변경
[intro]
의 텍스트를 모두 Path(text)
으로 변경해야 표시 [intro]
앞에 표시해야합니다. 내가
<a href="Content\3\D\D\3DD3D025-2236-49C9-A169-DD89A36DA0E6/eee.pdf">
에 어떤 도움을 변경하려면 예를
<a href="3DD3D025-2236-49C9-A169-DD89A36DA0E6/eee.pdf"> --> wrong path
를 들어
은 크게 감상 할 수있다.
샘플 XML
<?xml version="1.0"?>
<root>
<intro xml:lang="en">
<div class="blueBar">
<h2>Highlights</h2>
<ul>
<li><a href="http://xxx/xxx/default.asp?lang=En">aaaa</a></li>
<li><a href="http://xxx/default.asp?lang=En">bbbb</a></li>
<li><a href="http://xxx/Content/1/C/D/1CD1DFC3-5149-4D61-A7C3-2D9CF7E65F8C/rrr.pdf">ccc</a></li>
<li><a href="3DD3D025-2236-49C9-A169-DD89A36DA0E6/eee.pdf">pdf</a></li>
</ul>
</div>
</intro>
<intro> .....</intro>
</root>
샘플 XSLT
<xsl:param name="language"/>
<xsl:template match="root">
<xsl:for-each select="intro[lang($language)]//@href">
<xsl:choose>
<xsl:when test="contains(.,'pdf') and not(contains(.,'Content'))">
<xsl:variable name="pdfGuid">
<xsl:value-of select="substring(.,0,36)"/>
</xsl:variable>
<xsl:variable name="pdfPath">
<xsl:value-of select="concat('/','Content')"/>
<xsl:value-of select="concat('/', substring($pdfGuid, 1,1))"/>
<xsl:value-of select="concat('/', substring($pdfGuid, 2,1))"/>
<xsl:value-of select="concat('/', substring($pdfGuid, 3,1))"/>
<xsl:value-of select="concat('/', $pdfGuid)"/>
</xsl:variable>
<xsl:value-of select="strJS:replace(string(.),string($pdfGuid),string($pdfPath))" disable-output-escaping="yes"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<div class="greenBox">
<xsl:value-of select="intro[lang($language)]" disable-output-escaping="yes"/>
</div>
</xsl:template>
XSLT는 이해가되지 않습니다 내가 당신이 원하는 것은이 같은 것입니다 생각한다. ' '는 무엇을합니까? 왜'disable-output-escaping'을 사용합니까 ?? 작고, 충분하고 충분한 예제를 만들 수 있을까요? XML로 무엇을 가지고 있으며 출력에서 원하는 것은 무엇입니까? –
kan