Thursday 15 August 2013

xslt - Combine two nodes into one, taking value from one and name from other node -


मैं नोड्स को बदलना चाहूंगा जैसे:

  & lt; Element & gt; & LT; प्रकार & gt; टाइप 1 & lt; / प्रकार & gt; & LT; मात्रा & gt; q1 & lt; / मात्रा & gt; & Lt; / तत्व & gt;   

(नोड का मान एंटम से आता है) इन में:

  & lt; एलिमेंट & gt; & LT; टाइप 1 & gt; q1 & lt; / टाइप 1 & gt; & Lt; / तत्व & gt;   

केवल उस मामले में जो दोनों नोड मौजूद हैं अन्यथा, यदि नोड & lt; मात्रा & gt; मौजूद नहीं है, लेकिन नोड & lt; LastDate & gt; के बजाय मौजूद है, तो यह नोड:

  & lt ; तत्व & gt; & LT; प्रकार & gt; दिनांक & lt; / प्रकार & gt; & Lt; अंतिम तिथि & gt; तिथि स्ट्रिंग & lt; / LastDate & gt; & Lt; / तत्व & gt;   

हो जाता है:

  & lt; एलिमेंट & gt; & Lt; दिनांक & gt; तिथि स्ट्रिंग & lt; / दिनांक & gt; & Lt; / तत्व & gt;   

तो नए नोड का नाम हमेशा & lt; type & gt; नोड के मूल्य से लिया जाता है, लेकिन इसका मान अलग-अलग बच्चों के नोड्स से हो सकता है (जब वे मौजूद है) माता-पिता & lt; एलिमेंट & gt; नोड & lt; प्रकार & gt; नोड के साथ, अंतिम नतीजे में मूल्य वाले बच्चों के नोड्स को हटा दिया जाता है

मुझे लिनक में XML सी # कोड में ऐसा करने में कोई समस्या नहीं है। हालांकि, जैसा कि इस तरह के परिवर्तन कई अलग-अलग नोड्स पर लागू होते हैं, मेरे प्रोग्राम में कमांड लाइन इनपुट, यह निर्दिष्ट करता है कि कौन सा नोड्स प्रभावित होते हैं और कैसे, जटिल हो जाता है।

इसके विपरीत एक्सएसएलटी में स्वयं होने का जोड़ा मूल्य है सरल परिवर्तनों के लिए-दस्तावेज़िंग।

का प्रयोग करें & lt; xsl: element & gt;

तो आप की तरह कुछ की जरूरत है (टाइपो के लिए परीक्षण नहीं):

  & lt; xsl: template match = "Element" & gt; & LT; XSL: प्रतिलिपि & gt; & Lt; xsl: तत्व नाम = "{प्रकार}" & gt; & Lt; xsl: copy-of select = "(मात्रा | अंतिम तिथि) / नोड ()" / & gt; & Lt; / XSL: तत्व & gt; & Lt; / XSL: प्रतिलिपि & gt; & Lt; / XSL: टेम्पलेट & gt;   

यह कोड प्रतिलिपि तत्व को बनाता है और फिर बाल तत्व को बाल तत्व की सामग्री के नाम का उपयोग करके पतली हवा से बाहर बनाता है & Lt; प्रकार & gt;

ब्रेस ब्रैकेट का उपयोग एट्रिब्यूट वैल्यू टेम्प्लेट है, एक्सपैथ एड्रेस जिसके भीतर एक & lt; xsl: value-of & gt; निर्देश

No comments:

Post a Comment