簡體   English   中英

在XSL文件中包含XML字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM