मैं एक xml पेड़ पर तीन ज़िप-फ़िल्टर क्वेरी के परिणामों को गठबंधन करना चाहता हूं। एक्सएमएल मैं पार्स करने कर रहा हूँ इस तरह दिखता है:क्लोजर में एक्सएमएल पेड़ पर ज़िप-फ़िल्टर क्वेरीज़ से परिणाम कैसे जोड़ूं?
<someroot>
<publication>
<contributors>
<person_name>
<surname>Surname A</surname>
</person_name>
<person_name>
<given_name>Given B</given_name>
<surname>Surname B</surname>
<suffix>Suffix B</suffix>
</person_name>
</contributors>
</publication>
</someroot>
इस उदाहरण से आप देख सकते हैं कि <given_name>
और <suffix>
वैकल्पिक हैं - केवल <surname>
की आवश्यकता है। यहाँ में मेरी समस्या निहित है - अगर मैं तीन अलग-अलग क्वेरी चलाने की प्रतिक्रियाएं मैं एक दूसरे के साथ तरतीब से बाहर हो जाएगा:
(xml-> xml :publication :contributors :person_name :given_name text)
(xml-> xml :publication :contributors :person_name :surname text)
(xml-> xml :publication :contributors :person_name :suffix text)
इन तीन प्रश्नों मैं तीन दृश्यों जिसका cardinalities मेल नहीं खाते के साथ छोड़ दिया जाएगा चलाने के बाद; given_name
और suffix
लंबाई 1 होगा जबकि surname
लंबाई 2 होगी। यह मेरे लिए प्रत्येक नाम के घटकों को गठबंधन करना असंभव बनाता है। मुझे एक भी प्रश्न लिखने की ज़रूरत है जो अनुक्रम निर्माण के दौरान इस नाम को समापन करेगी।
मैं clojure.contrib.zip-filter.xml
के लिए बहुत ही कम दस्तावेज देख रहा हूं और यह नहीं समझ सकता कि मैं यह कैसे कर सकता हूं (या यदि यह भी संभव है)। दुर्भाग्य से मैं एक क्लोजर (और लिस्प) नौसिखिया हूँ! क्या कोई यह बता सकता है कि मैं एक प्रश्न कैसे लिख सकता हूं जो तीन अन्य एम्बेडेड प्रश्नों को जोड़ देगा?
चेक इस हाल अतः बाहर सवाल: http://stackoverflow.com/questions/2034550/लौटने-बहु-मान-का उपयोग कर-clojure-एक्सएमएल-ज़िपर –