0
我試圖簡化從數據庫中的導出,並且使用Muenchian方法以及試圖構建遞歸函數都失敗了。xslt在不同的屬性上重複
這是我的我的輸入看起來像:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Product>
<Values>
<Value AttributeID="Master">word1</Value>
<Value AttributeID="Syn1">first word 1</Value>
<Value AttributeID="Syn2">second word 2</Value>
</Values>
</Product>
<Product>
<Values>
<Value AttributeID="Master">word1</Value>
<Value AttributeID="Syn2">second word 2</Value>
</Values>
</Product>
<Product>
<Values>
<Value AttributeID="Master">word1</Value>
<Value AttributeID="Syn1">third word 3</Value>
<Value AttributeID="Syn2">second word 2</Value>
</Values>
</Product>
<Product>
<Values>
<Value AttributeID="Master">word2</Value>
<Value AttributeID="Syn1">first word 1</Value>
<Value AttributeID="Syn4">fourth word 4</Value>
</Values>
</Product>
</root>
這是我想達到的目標:
<root>
<pair>
<master>word1</master>
<syn>first word 1</syn>
</pair>
<pair>
<master>word1</master>
<syn>second word 2</syn>
</pair>
<pair>
<master>word1</master>
<syn>third word 3</syn>
</pair>
<pair>
<master>word2</master>
<syn>first word 1</syn>
</pair>
<pair>
<master>word2</master>
<syn>fourth word 4</syn>
</pair>
</root>
另外還有這樣的事情可以做的伎倆:
<root>
<pair>
<master>word1</master>
<syns>
<syn>first word 1</syn>
<syn>second word 2</syn>
<syn>third word 3</syn>
</syns>
</pair>
<pair>
<master>word2</master>
<syns>
<syn>first word 1</syn>
<syn>fourth word 4</syn>
</syns>
</pair>
</root>
基本上我得到一個主詞和同義詞(從無到多5每個主)。我能夠使用模板輕鬆生成重複列表,但是我無法嘗試刪除重複項或只是將其推送到變量中進行後期處理。我的問題是,同義詞可以在不同的屬性,並始終需要參考他們的實際主人...
我需要主詞+任何同義詞的獨特組合 - 理想情況下,輸出將按字母順序排序:)
感謝您的任何幫助。
非常感謝你,這個伎倆。爲了克服一些文本問題,我不得不將normalize-space()和lower-case()函數添加到鍵和第二個generate-id。排序是由碩士和順利,但很容易添加:) – user3079236