簡體   English   中英

如何通過使用調用模板或參數或鍵來避免在XSLT中過多使用變量?

[英]How to avoid excessive use of variables in XSLT by using call template or param or key?

我想用最少的變量來重組我的xslt。 我該如何實現? 當前來自較高父節點“ Books”的屬性“ Add”和“ Update”構成了在目標xml中構造段“”的條件。 同樣,為了獲得正確的上下文,再次將變量定義到所需的“戲劇”段,以選擇具有其屬性的正確的Drama節點。 現在,除了“添加”和“更新”之外,如果我具有“刪除”,“ PartialUpdate”等……那么我必須定義更多變量來維護上下文……比如說100多個不可管理的變量。 ..XSLT也正在運行到頁面中...我如何使用調用模板或參數或鍵或其他某種分組機制來簡單地調用XSLT以獲得所需的xml結果。

以下是我的示例輸入xml:

<?xml version="1.0" encoding="UTF-8"?>
<Data>
   <Library>
      <Books Id="A" Location="UK" Action="Add">
         <Section>
            <Drama Id="A1" Name="Short Play" Location="UK" Action="Update">
               <Values>
                  <Value Id="A1" Location="UK" Action="Update">ABC</Value>
               </Values>
            </Drama>
            <Drama Id="A2" Name="Source Info" Location="UK" Action="Update">
               <Values>
                  <Value Id="A2" Location="UK" Action="Update">DEF</Value>
               </Values>
            </Drama>
            <Drama Id="A3" Name="MFG Name" Location="UK" Action="Update">
               <Values>
                  <Value Id="A3" Location="UK" Action="Update">E and G</Value>
               </Values>
            </Drama>
            <Drama Id="A4" Name="Book Material Group" Location="UK" Action="Update">
               <Values>
                  <Value Id="A4" Location="UK" Action="Update">0080</Value>
               </Values>
            </Drama>
            <Drama Id="A5" Name="Book Number" Location="UK" Action="Update">
               <Values>
                  <Value Id="A5" Location="UK" Action="Update">121212</Value>
               </Values>
            </Drama>
            <Drama Id="A6" Name="Book Material Description" Location="UK" Action="Update">
               <Values>
                  <Value Id="A6" Location="UK" Action="Update">Hard Page</Value>
               </Values>
            </Drama>
            <Drama Id="A7" Name="Industry Sector" Location="UK" Action="Update">
               <Values>
                  <Value Id="A7" Location="UK" Action="Update">Printing</Value>
               </Values>
            </Drama>
            <Drama Id="A8" Name="Book Material Text" Location="UK" Action="Update">
               <Values>
                  <Value Id="A8" Location="UK" Action="Update">Plastic coated</Value>
               </Values>
            </Drama>
            <Drama Id="A9" Name="Book Material Type" Location="UK" Action="Update">
               <Values>
                  <Value Id="A9" Location="UK" Action="Update">INVT</Value>
               </Values>
            </Drama>
            <Drama Id="A10" Name="Delete Indicator" Location="UK" Action="Update">
               <Values>
                  <Value Id="A10" Location="UK" Action="Update">Blank</Value>
               </Values>
            </Drama>
            <Drama Id="A11" Name="UOM" Location="UK" Action="Update">
               <Values>
                  <Value Id="A11" Location="UK" Action="Update">M</Value>
               </Values>
            </Drama>
         </Section>
      </Books>
   </Library>
</Data>

我開發的帶有很多變量的XSLT如下所示:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <LIBRARY_DATA>
            <DATA_LIST>
<!--Assign variables with values from Books segment to use under child nodes-->
    <xsl:for-each select="Data/Library/Books">
                    <xsl:if test="@Action = 'Add'">
                        <xsl:variable name="vBooksAction"><xsl:value-of select="'Create_001'"/></xsl:variable>
                    </xsl:if>
                    <xsl:if test="@Action = 'Update'">
                        <xsl:variable name="vBooksAction"><xsl:value-of select="'Update_002'"/></xsl:variable>
                    </xsl:if>
                    <xsl:for-each select="Section/Drama">
                        <xsl:if test="@Name = 'Short Play'">
        <xsl:variable name="vShortPlay"><xsl:value-of select="Values/Value"/></xsl:variable>
                            <xsl:if test="@Action = 'Add'">
                                <xsl:variable name="vShortPlayAction"><xsl:value-of select="'Create_001'"/></xsl:variable>
                            </xsl:if>
                            <xsl:if test="@Action = 'Update'">
                                <xsl:variable name="vShortPlayAction"><xsl:value-of select="'Update_002'"/></xsl:variable>
                            </xsl:if>
                        </xsl:if>
                        <xsl:if test="@Name = 'Book Material'">
                            <xsl:variable name="vBookMtl"><xsl:value-of select="Values/Value"/></xsl:variable>
                            <xsl:if test="@Action = 'Add'">
                                <xsl:variable name="vBookMtlAction"><xsl:value-of select="'Create_001'"/></xsl:variable>
                            </xsl:if>
                            <xsl:if test="@Action = 'Update'">
                                <xsl:variable name="vBookMtlAction"><xsl:value-of select="'Update_002'"/></xsl:variable>
                            </xsl:if>
                        </xsl:if>
                        <xsl:if test="@Name = 'Delete Indicator'">
                            <xsl:variable name="vDeleteIndicator"><xsl:value-of select="Values/Value"/></xsl:variable>
                        </xsl:if>
                        <xsl:if test="@Name = 'Book Number'">
                            <xsl:variable name="vBookNumber"><xsl:value-of select="Values/Value"/></xsl:variable>
                            <xsl:if test="@Action = 'Add'">
                                <xsl:variable name="vBookNumberAction"><xsl:value-of select="'Create_001'"/></xsl:variable>
                            </xsl:if>
                            <xsl:if test="@Action = 'Update'">
                                <xsl:variable name="vBookNumberAction"><xsl:value-of select="'Update_002'"/></xsl:variable>
                            </xsl:if>
                        </xsl:if>
                        <xsl:if test="@Name = 'Book Material Description'">
                            <xsl:variable name="vBookMtlDesc"><xsl:value-of select="Values/Value"/></xsl:variable>
                            <xsl:if test="@Action = 'Add'">
                                <xsl:variable name="vBookMtlDescAction"><xsl:value-of select="'Create_001'"/></xsl:variable>
                            </xsl:if>
                            <xsl:if test="@Action = 'Update'">
                                <xsl:variable name="vBookMtlDescAction"><xsl:value-of select="'Update_002'"/></xsl:variable>
                            </xsl:if>
                        </xsl:if>
                    </xsl:for-each>
<!-- Constructing the segments with its field based on variable value-->
                    <BOOK_MATERIAL>
                        <xsl:if test="$vBooksAction = 'Create_001'">
                            <DATA_ACTION>Create_001</DATA_ACTION>
                        </xsl:if>
                        <xsl:if test="$vBooksAction = 'Update_002'">
                            <xsl:if test="$vDeleteIndicator = 'Blank'">
                                <xsl:if test="@Action = 'Add'">
                                    <DATA_ACTION>Create_001</DATA_ACTION>
                                </xsl:if>
                                <xsl:if test="@Action = 'Update'">
                                    <DATA_ACTION>Update_002</DATA_ACTION>
                                </xsl:if>
                            </xsl:if>
                            <xsl:if test="$vDeleteIndicator != 'Blank'">
                                <DATA_ACTION>Delete_003</DATA_ACTION>
                            </xsl:if>
                        </xsl:if>
                        <FONT>Calibri</FONT>
                        <xsl:for-each select="Section/Drama">
                            <xsl:if test="@Name = 'Book Number'">
                                <BOOK_NUMBER><xsl:value-of select="Values/Value"/></BOOK_NUMBER>
                            </xsl:if>
                            <xsl:if test="@Name = 'Delete Indicator'">
                                <xsl:for-each select="Values/Value">
                                    <xsl:if test="self::node()[text()='Blank']">
                                        <ASSIGN>Delete</ASSIGN>
                                    </xsl:if>
                                </xsl:for-each>
                            </xsl:if>
                            <xsl:if test="@Name = 'Book Material Type' and @Location='UK'">
                                <xsl:if test="$vBooksAction = 'Update_002'">
                                    <MATERIAL_TYPE>Default</MATERIAL_TYPE>
                                </xsl:if>
                                <xsl:if test="$vBooksAction = 'Create_001'">
                                    <MATERIAL_TYPE><xsl:value-of select="Values/Value"/></MATERIAL_TYPE>
                                </xsl:if>
                            </xsl:if>
                            <xsl:if test="@Name = 'Book Making Sector'">
                                <BM_SECTOR><xsl:value-of select="Values/Value"/></BM_SECTOR>
                            </xsl:if>
                            <xsl:if test="@Name = 'Book Material Group' and @Location='UK'">
                                <xsl:if test="$vBooksAction = 'Update_002'">
                                    <BM_GROUP>Default</BM_GROUP>
                                </xsl:if>
                                <xsl:if test="$vBooksAction = 'Create_001'">
                                    <BM_GROUP><xsl:value-of select="Values/Value"/></BM_GROUP>
                                </xsl:if>
                            </xsl:if>
                            <xsl:if test="@Name = 'UOM'and @Location='UK'">
                                <xsl:if test="$vBooksAction = 'Update_002'">
                                    <BOOK_UOM>Numbers</BOOK_UOM>
                                </xsl:if>
                                <xsl:if test="$vBooksAction = 'Create_001'">
                                    <BOOK_UOM><xsl:value-of select="Values/Value"/></BOOK_UOM>
                                </xsl:if>
                            </xsl:if>
                            <xsl:if test="@Name = 'Part Number'">
                                <BOOK_PN><xsl:value-of select="Values/Value"/></BOOK_PN>
                            </xsl:if>
                            <xsl:if test="@Name = 'MFG Name'">
                                <BOOK_MFG>Default</BOOK_MFG>
                            </xsl:if>
                         </xsl:for-each>
                        <MTL_DETAIL>
                            <SPEC>Plastic</SPEC>
                            <LNG>EN</LNG>
                            <xsl:if test="$vBooksAction = 'Create_001'">
                                <DATA_ACTION>Create_001</DATA_ACTION>
                            </xsl:if>
                            <xsl:if test="$vBooksAction = 'Update_002'">
                                <xsl:if test="$vDeleteIndicator = 'Blank'">
                                    <DATA_ACTION><xsl:value-of select="$vBookMtlDescAction" /></DATA_ACTION>
                                </xsl:if>
                                <xsl:if test="$vDeleteIndicator != 'Blank'">
                                    <DATA_ACTION>Delete_003</DATA_ACTION>
                                </xsl:if>
                            </xsl:if>
                            <MTL_DEC><xsl:value-of select="$vBookMtlDesc" /></MTL_DEC>
                        </MTL_DETAIL>
                        <BOOK_TXT_HEADER>
                            <xsl:if test="$vBooksAction = 'Create_001'">
                                <DATA_ACTION>Create_001</DATA_ACTION>
                            </xsl:if>
                            <xsl:if test="$vBooksAction = 'Update_002'">
                                <xsl:if test="$vDeleteIndicator = 'Blank'">
                                    <xsl:if test="$vBookNumberAction = 'Create_001'">
                                        <DATA_ACTION>Create_001</DATA_ACTION>
                                    </xsl:if>
                                    <xsl:if test="$vBookNumberAction = 'Update_002'">
                                        <DATA_ACTION>Update_002</DATA_ACTION>
                                    </xsl:if>
                                </xsl:if>
                                <xsl:if test="$vDeleteIndicator != 'Blank'">
                                    <DATA_ACTION>Delete_003</DATA_ACTION>
                                </xsl:if>
                            </xsl:if>
                            <TXT_TYPE>Any</TXT_TYPE>
                            <TXT_OBJECT>MATERIAL</TXT_OBJECT>
                            <TXT_NAME><xsl:value-of select="$vBookNumber" /></TXT_NAME>
                            <BOOK_TXT_DETAIL>
                                <xsl:if test="$vBooksAction = 'Create_001'">
                                    <DATA_ACTION>Create_001</DATA_ACTION>
                                </xsl:if>
                                <xsl:if test="$vBooksAction = 'Update_002'">
                                    <xsl:if test="$vDeleteIndicator = 'Blank'">
                                        <xsl:if test="$vBookNumberAction = 'Create_001'">
                                            <DATA_ACTION>Create_001</DATA_ACTION>
                                        </xsl:if>
                                        <xsl:if test="$vBookNumberAction = 'Update_002'">
                                            <DATA_ACTION>Update_002</DATA_ACTION>
                                        </xsl:if>
                                    </xsl:if>
                                    <xsl:if test="$vDeleteIndicator != 'Blank'">
                                        <DATA_ACTION>Delete_003</DATA_ACTION>
                                    </xsl:if>
                                </xsl:if>
                                <TXT_FORMAT>Bold</TXT_FORMAT>
                                <TXT_LINE><xsl:value-of select="$vShortPlay" /></TXT_LINE>
                            </BOOK_TXT_DETAIL>
                        </BOOK_TXT_HEADER>
                    </BOOK_MATERIAL>
                </xsl:for-each>
            </DATA_LIST>
        </LIBRARY_DATA>
    </xsl:template>
</xsl:stylesheet>

在應用XSLT之后,我所需的輸出xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LIBRARY_DATA>
   <DATA_LIST>
      <BOOK_MATERIAL>
         <DATA_ACTION>Create_001</DATA_ACTION>
         <FONT>Calibri</FONT>
         <BOOK_MFG>Default</BOOK_MFG>
         <BM_GROUP>0080</BM_GROUP>
         <BOOK_NUMBER>121212</BOOK_NUMBER>
         <MATERIAL_TYPE>INVT</MATERIAL_TYPE>
         <ASSIGN>Delete</ASSIGN>
         <BOOK_UOM>M</BOOK_UOM>
         <MTL_DETAIL>
            <SPEC>Plastic</SPEC>
            <LNG>EN</LNG>
            <DATA_ACTION>Create_001</DATA_ACTION>
            <MTL_DEC>Hard Page</MTL_DEC>
         </MTL_DETAIL>
         <BOOK_TXT_HEADER>
            <DATA_ACTION>Create_001</DATA_ACTION>
            <TXT_TYPE>Any</TXT_TYPE>
            <TXT_OBJECT>MATERIAL</TXT_OBJECT>
            <TXT_NAME>121212</TXT_NAME>
            <BOOK_TXT_DETAIL>
               <DATA_ACTION>Create_001</DATA_ACTION>
               <TXT_FORMAT>Bold</TXT_FORMAT>
               <TXT_LINE>ABC</TXT_LINE>
            </BOOK_TXT_DETAIL>
         </BOOK_TXT_HEADER>
      </BOOK_MATERIAL>
   </DATA_LIST>
</LIBRARY_DATA>

同樣,當“刪除指示器”不是“空白”時,即使您正在使用變量,也不會得到“ Delete_003”,因為它不會在每個循環中復位。

請幫我。

完整的修改后的XSLT代碼如下所示。 我可以從這里開始,以包含更復雜的要求。 感謝@Kevin的提示。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" indent="yes" />
    <xsl:template match="/">
        <LIBRARY_DATA>
            <DATA_LIST>
                <xsl:for-each select="Data/Library/Books">
                    <BOOK_MATERIAL>
                        <xsl:variable name="vBooksAction">
                            <xsl:if test="@Action = 'Add'">
                                <xsl:value-of select="'Create_001'"/>
                            </xsl:if>
                            <xsl:if test="@Action = 'Update'">
                                <xsl:value-of select="'Update_002'"/>
                            </xsl:if>
                        </xsl:variable>
                        <DATA_ACTION>
                            <xsl:apply-templates select="@Action">
                                <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                            </xsl:apply-templates>
                        </DATA_ACTION>
                        <FONT>Calibri</FONT>
                        <BOOK_NUMBER>
                            <xsl:apply-templates select="Section/Drama[@Name = 'Book Number']"/>
                        </BOOK_NUMBER>
                        <xsl:apply-templates select="Section/Drama[@Name = 'Book Material Type' and @Location='UK']">
                            <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                        </xsl:apply-templates>
                        <xsl:apply-templates select="Section/Drama[@Name = 'Book Making Sector']"/>
                        <xsl:apply-templates select="Section/Drama[@Name = 'Book Material Group' and @Location='UK']">
                            <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                        </xsl:apply-templates>
                        <xsl:apply-templates select="Section/Drama[@Name = 'UOM' and @Location='UK']">
                            <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                        </xsl:apply-templates>
                        <xsl:apply-templates select="Section/Drama[@Name = 'Part Number']"/>
                        <xsl:apply-templates select="Section/Drama[@Name = 'MFG Name']"/>
                        <MTL_DETAIL>
                            <SPEC>Plastic</SPEC>
                            <LNG>EN</LNG>
                            <xsl:apply-templates select="Section/Drama[@Name = 'Delete Indicator']">
                                <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                            </xsl:apply-templates>
                            <xsl:apply-templates select="Section/Drama[@Name = 'Book Material Description']"/>
                        </MTL_DETAIL>
                        <BOOK_TXT_HEADER>
                            <DATA_ACTION>
                                <xsl:apply-templates select="@Action">
                                    <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                                </xsl:apply-templates>
                            </DATA_ACTION>
                            <TXT_TYPE>Any</TXT_TYPE>
                            <TXT_OBJECT>MATERIAL</TXT_OBJECT>
                            <TXT_NAME>
                                <xsl:apply-templates select="Section/Drama[@Name = 'Book Number']"/>
                            </TXT_NAME>
                            <BOOK_TXT_DETAIL>
                                <DATA_ACTION>
                                    <xsl:apply-templates select="@Action">
                                        <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                                    </xsl:apply-templates>
                                </DATA_ACTION>
                                <TXT_FORMAT>Bold</TXT_FORMAT>
                                <TXT_LINE>
                                    <xsl:apply-templates select="Section/Drama[@Name = 'Short Play']"/>
                                </TXT_LINE>
                            </BOOK_TXT_DETAIL>
                        </BOOK_TXT_HEADER>
                    </BOOK_MATERIAL>
                </xsl:for-each>
            </DATA_LIST>
        </LIBRARY_DATA>
    </xsl:template>
    <xsl:template match='@Action[parent::Books]'>
        <xsl:param name="vBooksAction"/>
        <xsl:value-of select="$vBooksAction"/>
    </xsl:template>
    <xsl:template match="Drama[@Name='Book Number']">
        <xsl:value-of select="Values/Value"/>
    </xsl:template>
    <xsl:template match="Drama[@Name = 'Book Material Type' and @Location='UK']">
        <xsl:param name="vBooksAction"/>
        <xsl:if test="$vBooksAction = 'Update_002'">
            <MATERIAL_TYPE>Default</MATERIAL_TYPE>
        </xsl:if>
        <xsl:if test="$vBooksAction = 'Create_001'">
            <MATERIAL_TYPE>
                <xsl:value-of select="Values/Value"/>
            </MATERIAL_TYPE>
        </xsl:if>
    </xsl:template>
    <xsl:template match="Drama[@Name='Book Making Sector']">
        <BM_SECTOR>
            <xsl:value-of select="Values/Value"/>
        </BM_SECTOR>
    </xsl:template>
    <xsl:template match="Drama[@Name = 'Book Material Group' and @Location='UK']">
        <xsl:param name="vBooksAction"/>
        <xsl:if test="$vBooksAction = 'Update_002'">
            <BM_GROUP>Default</BM_GROUP>
        </xsl:if>
        <xsl:if test="$vBooksAction = 'Create_001'">
            <BM_GROUP>
                <xsl:value-of select="Values/Value"/>
            </BM_GROUP>
        </xsl:if>
    </xsl:template>
    <xsl:template match="Drama[@Name = 'UOM' and @Location='UK']">
        <xsl:param name="vBooksAction"/>
        <xsl:if test="$vBooksAction = 'Update_002'">
            <BOOK_UOM>Numbers</BOOK_UOM>
        </xsl:if>
        <xsl:if test="$vBooksAction = 'Create_001'">
            <BOOK_UOM>
                <xsl:value-of select="Values/Value"/>
            </BOOK_UOM>
        </xsl:if>
    </xsl:template>
    <xsl:template match="Drama[@Name='Part Number']">
        <BOOK_PN>
            <xsl:value-of select="Values/Value"/>
        </BOOK_PN>
    </xsl:template>
    <xsl:template match="Drama[@Name='MFG Name']">
        <BOOK_MFG>
            <xsl:value-of select="Values/Value"/>
        </BOOK_MFG>
    </xsl:template>
    <xsl:template match="Drama[@Name='Delete Indicator']">
        <xsl:param name="vBooksAction"/>
        <xsl:choose>
            <xsl:when test="$vBooksAction = 'Update_002'">
                <xsl:for-each select="Values/Value">
                    <xsl:if test="self::node()[text()!='Blank']">
                        <DATA_ACTION>Delete_003</DATA_ACTION>
                    </xsl:if>
                    <xsl:if test="self::node()[text()='Blank']">
                        <DATA_ACTION>Update_002</DATA_ACTION>
                    </xsl:if>
                </xsl:for-each>
            </xsl:when>
            <xsl:otherwise>
                <xsl:if test="$vBooksAction = 'Create_001'">
                    <DATA_ACTION>Create_001</DATA_ACTION>
                </xsl:if>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    <xsl:template match="Drama[@Name='Book Material Description']">
        <MTL_DEC>
            <xsl:value-of select="Values/Value"/>
        </MTL_DEC>
    </xsl:template>
    <xsl:template match="Drama[@Name='Short Play']">
        <xsl:value-of select="Values/Value"/>
    </xsl:template>
</xsl:stylesheet>

這是我認為更干凈的一些靈感。 您的XSL中有很多問題。 使用模板和匹配將更易於管理。 您似乎需要在其中幾個中使用vBooksAction,這是我保留的唯一變量,但請看它是如何構造的。 不是您最初的方式。 它是您開始檢查並完成的起點。 假設您的數據可以具有“添加”或“更新”之外的其他內容,那么我將其保留為定義的樣子。 如果不是,則不應為兩個if,而應為select and else。

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="1.0">
        <xsl:template match="Books">
            <LIBRARY_DATA>
                <DATA_LIST>
                    <BOOK_MATERIAL>
                        <xsl:variable name="vBooksAction">
                            <xsl:if test="@Action = 'Add'">
                                <xsl:value-of select="'Create_001'"/>
                            </xsl:if>
                            <xsl:if test="@Action = 'Update'">
                                <xsl:value-of select="'Update_002'"/>
                            </xsl:if>
                        </xsl:variable>
                        <xsl:apply-templates select="@Action">
                           <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                        </xsl:apply-templates>
                        <FONT>Calibri</FONT>
                        <xsl:apply-templates select="Section/Drama[@Name = 'Book Number']"/>
                        <xsl:apply-templates select="Section/Drama[@Name = 'Book Material Type' and @Location='UK']">
                            <xsl:with-param name="vBooksAction" select="$vBooksAction"/>
                        </xsl:apply-templates>
                        <!-- Keep going here -->
                    </BOOK_MATERIAL>
                </DATA_LIST>
            </LIBRARY_DATA>
        </xsl:template>
        <xsl:template match='@Action[parent::Books]'>
            <xsl:param name="vBooksAction"/>
            <DATA_ACTION>
                <xsl:value-of select="$vBooksAction"/>
            </DATA_ACTION>
        </xsl:template>
        <xsl:template match="Drama[@Name='Book Number']">
            <BOOK_NUMBER><xsl:value-of select="Values/Value"/></BOOK_NUMBER>
        </xsl:template>    
        <xsl:template match="Drama[@Name = 'Book Material Type' and @Location='UK']">
            <xsl:param name="vBooksAction"/>
            <xsl:if test="$vBooksAction = 'Update_002'">
                <MATERIAL_TYPE>Default</MATERIAL_TYPE>
            </xsl:if>
            <xsl:if test="$vBooksAction = 'Create_001'">
                <MATERIAL_TYPE><xsl:value-of select="Values/Value"/></MATERIAL_TYPE>
            </xsl:if>
        </xsl:template>
    </xsl:stylesheet>

暫無
暫無

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

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