我想要一個XML樣式表(XSLT),它將一對一地放置少數特定子節點的屬性。這是什麼XSLT?什麼是XSLT一對一編寫某些節點屬性?
我最近問了一個related question,有人提供了一個樣式表來解決,但他們的樣式表由於某種原因沒有工作,我很好奇爲什麼 - 這些屬性並沒有結束每一行。
舉例來說,我的XML可能是這樣的:
<MyXML>
<NodeA>
<ChildNode value1='5' value2='6' />
</NodeA>
<NodeB>
<AnotherChildNode value1='5' value2='6' />
</NodeB>
<NodeC>
<AnotherChildNode value1='5' value2='6' />
</NodeC>
</MyXML>
而且我希望有一個樣式表,將擴大所有NodeA上的和NodeB的,但不是NodeCs,使它看起來像這樣:
<MyXML>
<NodeA>
<ChildNode
value1='5'
value2='6' />
</NodeA>
<NodeB>
<AnotherChildNode
value1='5'
value2='6' />
</NodeB>
<NodeC>
<AnotherChildNode value1='5' value2='6' />
</NodeC>
</MyXML>
技術上,XSLT的目標是把輸入樹到輸出樹。如何將該樹序列化爲文檔基本上超出了XSLT規範的範圍。 – fpmurphy1 2010-04-19 15:26:12
@echox:我的印象是XSLT並不在乎它寫出來的是什麼,只要它輸入XML即可。你不能從XSLT中吐出任意文本嗎? – 2010-04-21 14:30:39
當然可以,但是你也可以用鞋子在牆上打釘子。對不起,現在沒有想到更好的比喻;-) 您可以實現這一點,但它會導致非常醜陋,無法讀取的代碼,這是任何人都不希望維護的(請參閱@tomalak的解決方案)。 XSLT規範在第一句中說:「[..]它是將XML文檔轉換爲其他XML文檔的語言。」 http://www.w3.org/TR/1999/REC-xslt-19991116 – echox 2010-04-21 21:17:22