0
這是我以前的問題延續(對不起,再發布相似類型的問題再次):合併功能集成到一個單一的文件(我以前的Q的延續......)
Merge functionality of two xsl files into a single file (not a xsl import or include issue)
和
Merge functionality of two xsl files into a single file (continued.....)
其實,這是我的第二個問題的位操作。 我現在需要通過提供弗萊克我的第一個問題的解決方案以「選擇」的情況在我的XSL合併:
<xsl:choose>
<xsl:when test='/Declaration/Header/DeclarantsReference = ""'>
<DeclarantsReference>
<xsl:text disable-output-escaping="no">A</xsl:text>
</DeclarantsReference>
</xsl:when>
<xsl:otherwise>
<DeclarantsReference>
<xsl:value-of select="/Declaration/Header/DeclarantsReference"/>
</DeclarantsReference>
</xsl:otherwise>
</xsl:choose>
現在,任何一個樣本XML輸入,如:
<Declaration>
<Message>
<Meduim>#+#</Meduim>
<CommonAccessReference></CommonAccessReference>
</Message>
<BeginingOfMessage>
<MessageCode>5</MessageCode>
<DeclarationCurrency></DeclarationCurrency>
<MessageFunction>ISD</MessageFunction>
</BeginingOfMessage>
<Header>
<DeclarantsReference></DeclarantsReference>
<Items>
<Documents>
<ItemDocument>
<DocumentCode>XXX</DocumentCode>
<DocumentPart></DocumentPart>
<DocumentLanguage>#+#</DocumentLanguage>
</ItemDocument>
</Documents>
</Items>
</Header>
</Declaration>
應該輸出:
<Declaration>
<Message>
<Meduim></Meduim>
</Message>
<BeginingOfMessage>
<MessageCode>5</MessageCode>
<MessageFunction>ISD</MessageFunction>
</BeginingOfMessage>
<Header>
<DeclarantsReference>A</DeclarantsReference>
<Items>
<Documents>
<ItemDocument>
<DocumentCode>XXX</DocumentCode>
<DocumentLanguage></DocumentLanguage>
</ItemDocument>
</Documents>
</Items>
</Header>
</Declaration>
感謝您的任何幫助提前。
因爲你沒有選擇正確的解決方案(流水線),你(並將在未來不斷)遇到新問題。您的代碼將越來越多,具有類似意大利麪的外觀,可維護性將不斷惡化。現在回到早期給予您的流水線解決方案還不遲。讓這是一個很好的教訓。 – 2011-01-12 14:18:21