[英]Include XML Field in an XSL file
我有一個XML配置文件,我想從該文件中提取一個字段並將其包含在我的XSL中。
以下是我遇到的示例:
<xsl:template match="">
<html>
<head>
<title>My Page</title>
<!-- CSS styles included here -->
<xsl:copy-of select="document('style.xml')/style" />
</head>
<body>
<!-- ... -->
</body>
</html>
</xsl:template>
但這並不能解決我的問題,因為它包含整個.xml文件。 我只想要包含xml文件中的一個屬性,所以我必須在xsl中解析它並僅包含該節點。 我怎么做?
謝謝
從評論更新
如果我在我的XSL中包含以下行:
<xsl:copy-of select="document('cmsaENV.xml')/STR_ENV_PROPS/text()"/>
我的xml包含:
<STR_ENV_PROPS value="c:/apps/cit/deploy/d_cmsadm/cmsa_applicationEnv.xml"/>
然后字符串
"c:/apps/cit/deploy/d_cmsadm/cmsa_applicationEnv.xm"
將放在我的xsl中? 這個對嗎?
我不知道真正得到你想要的東西,但如果你想只包含內容 <style>
元素(而不是元素本身),取代
<xsl:copy-of select="document('style.xml')/style" />
同
<xsl:value-of select="document('style.xml')/style/text()" />
text()
選擇導入文檔中style
元素的文本內容。
編輯:如果您想要屬性的值而不是文本內容,您需要以下內容:
<xsl:value-of select="string(document('style.xml')/style/@someAttribute)" />
請注意,您需要將屬性轉換為常規文本字符串,我使用string()
函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.