2017-06-02 71 views
-2

用我有限的XSL編程我想出了這個代碼的知識:XSLT幫助:複製元素<choose>

(更新的Post:XSLT現在工作 - 更新了他人的利益如果有的話)

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:nm="http://fsag.de/BusinessTransaction" 
xmlns:env="http://www.w3.org/2001/12/soap-envelope" 
exclude-result-prefixes="env"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 

<xsl:template match="/nm:Responses"> 
    <xsl:copy-of select="/"/> 
</xsl:template> 


<xsl:template match="/Envelope"> 
    <nm:Responses xmlns:nm="http://fsag.de/BusinessTransaction"> 
     <BTEMessages/> 
     <SystemContext/> 
       <Error> 
     <xsl:copy-of select="Body"/> 
       </Error> 
    </nm:Responses> 
</xsl:template> 
</xsl:stylesheet> 

的目的是爲了處理該文件(在柱的端部),並得到下面的結果:

爲「錯誤」的文件所需的結果:

<?xml version="1.0" encoding="UTF-8"?> 
<nm:Response xmlns:nm="http://fsag.de/BusinessTransaction"> 
    <BTEMessages/> 
    <SystemContext/> 
    <Error> 
     <Body> 
     <Response status="1"> 
      <Description>DESC</Description> 
      <Errors> 
       <Error>500</Error> 
      </Errors> 
     </Response> 
     </Body> 
    </Error> 
</nm:Response> 

爲 '響應' 文件要求的結果:

<?xml version="1.0" encoding="UTF-8"?> 
<nm:Response xmlns:nm="http://fsag.de/BusinessTransaction"> 
    <BTEMessages> 
     <InOrderContext xmlns:n0="http://fsag.de/BusinessTransaction"> 
     <SendTimestamp>01-06-2017:0506230000</SendTimestamp> 
     </InOrderContext> 
     <SystemContext> 
     <Client>FDP</Client> 
     <CorrelationId>34553FTG25543SFD134</CorrelationId> 
     <BusinessContext>RECONCL</BusinessContext> 
     </SystemContext> 
    </BTEMessages> 
</nm:Response> 

*文件1:錯誤*

<Envelope > 
    <Body> 
     <Response status="1"> 
     <Description>DESC</Description> 
     <Errors> 
      <Error>500</Error> 
     </Errors> 
     </Response> 
    </Body> 
    </Envelope> 

文件2:響應:

<?xml version="1.0" encoding="UTF-8"?> 
<nm:Response xmlns:nm="http://fsag.de/BusinessTransaction"> 
<BTEMessage> 
    <InOrderContext> 
    <SendTimestamp>01-06-2017:0506230000</SendTimestamp> 
    </InOrderContext> 
    <SystemContext> 
    <Client>FDP</Client> 
    <CorrelationId>34553FTG25543SFD134</CorrelationId> 
    <BusinessContext>RECONCL</BusinessContext> 
    </SystemContext> 
</BTEMessage> 
</nm:Response > 

當我嘗試運行XSL失敗。請任何幫助嗎?

+2

在你問這裏之前,你需要花一個小時學習XSLT的基礎知識。並且請不要一次又一次詢問同一個問題(我相信這是你第三次)。 –

+0

我想在這裏完成這件事。正如我前面所說,我沒有經驗,我正在努力解決它的xslt和它的工作規範,這就是論壇在這裏幫助人們。沒有在這裏付出任何努力,我不求助。這是一個真正的要求,以指導如何處理。 –

+0

如果你不知道你的樣式表的頂層必須有一個模板(並且沒有一個測試工具可以在你沒有的時候給你打電話),那麼你在這裏沒有業務要求。更何況你已經被賦予了一個工作的例子,你甚至不能適應。 –

回答

0

XSL更新了工作版本。