簡體   English   中英

XSLT嘗試添加新節點並添加元素

[英]XSLT trying to add new node and adding element

當前,我正在嘗試將單詞xml轉換為xml文件。 它正在嘗試通過識別樣式來做到這一點。

我目前在這里遇到問題,因為我對XLST轉換很陌生,我正在尋求幫助。

我試圖在下面的模板中添加一個名為<standingOrder>的新元素,我的單詞xm看起來像

Word文件文字

  1. 規划規程(取消有關吉普賽人和旅行者的規定) 最多20分鍾(第23號臨時命令) abc先生請假,以便帶上xxxxxxxxxxxx。 注意:動議的成員和反對該動議的成員各自最多可以發言10分鍾。

注意:

在上面的文本中,最多20分鍾(23號站立訂單)(突出顯示)將具有一種名為StandingOrderReference的樣式,如下面的xslt代碼所示,如​​果找到文本23號站立訂單,則應建立一個名為<standingOrder>和值23應該是節點的innertext 為此,我已經在下面完成了操作,但無法顯示其價值。

XSLT

<xsl:when test="@styleId='StandingOrderReference'">
   <xsl:element name="standingOrder">
      <xsl:value-of select="substring-after(.,'(Standing Order  ')"/>
   </xsl:element>
</xsl:when>

我期待

<standingOrder>23</standingOrder>

請糾正我在哪里做錯了。 與往常一樣,我們非常感謝您的幫助。

根據評論,如果您在帖子中放置了實際的xml摘錄,那將是更好的選擇。 但是,作一些假設,下面的xslt:

   <xsl:template match="/xml/someElement">
      <xsl:choose>
         <xsl:when test="@styleId='StandingOrderReference'">
            <xsl:element name="standingOrder">
               <xsl:value-of select="
                 substring-before(
                   substring-after(.,'(Standing Order No. '), 
                   ')')"/>
            </xsl:element>
         </xsl:when>
      </xsl:choose>
   </xsl:template>

解析此文檔:

<xml>
   <someElement styleId="StandingOrderReference">
      **Up to 20 minutes (Standing Order No. 23)** Mr a
   </someElement>
</xml>

要返回您似乎想要的東西,即:

<standingOrder>23</standingOrder>

請注意,您還需要截斷子substring-beforesubstring-before ,我已經使用了substring-before 請注意,在xml中的(Standing Order后面還有單詞No. .。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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