regex - XSLT 2.0: Replace a pattern matching certain criteria -
मेरे पास निम्न XML है
& lt; GSP & gt; & LT; आरईएस & gt; & lt; R N = "1" & gt; & Lt; MT N = "NonEnglishAbstract" V = "[DE] Deutsch सार पाठ [एफआर] फ्रेंच सार पाठ [एबी] नई भाषा नहीं" / & gt; & Lt; / आर & gt; & Lt; / आरईएस & gt; & Lt; / जीएसपी & gt;
& lt; xsl: टेम्पलेट मैच = "मीट्रिक टन [@ एन = 'गैर अंग्रेजीअब्रेस्ड]]" & gt; & Lt; xsl: विश्लेषण-स्ट्रिंग = "@ वी" regex = "\ [([^ \ [\]] +) \] ([^ \ [] +)" & gt; & LT; XSL: मिलान-सबस्ट्रिंग & gt; & Lt; p वर्ग = "{regex-group (1)}" & gt; & lt; xsl: मान का चयन करें = "regex-group (2)" / & gt; & Lt; / p & gt; & Lt; / XSL: मिलान-सबस्ट्रिंग & gt; & Lt; / XSL: विश्लेषण-स्ट्रिंग & gt; & Lt; / XSL: टेम्पलेट & gt;
आउटपुट & lt; p class = "DE" & gt; Deutsch सार टेक्स्ट & lt; / p & gt; & Lt; p वर्ग = "एफआर" & gt; फ़्रेंच एब्स्ट्रक्ट टेक्स्ट & lt; / p & gt; & Lt; p वर्ग = "एबी" & gt; नई भाषा नहीं & lt; / p & gt; XSLT में regex [डीई], [एफआर], [एबी], [सीडी] इत्यादि जैसे किसी भी तरह से मेल खाता है। अब मैं केवल [डीई] [एफआर] आदि। मेरे पास एक अल्पविराम से सीमांकित वैरिएबल जैसे
& lt; xsl: variable name = "language-code & gt; & lt; xsl: value-of select =" '[डीई] [FR], [आरयू] '' / & gt; & lt; / xsl: variable & gt; इस परिवर्तित परिदृश्य में उपयोग किए जाने वाले संशोधित regex क्या होगा? < p> संशोधित आउटपुट होना चाहिए & lt; p class = "DE" & gt; Deutsch सार टेक्स्ट & lt; / p & gt; & lt; p class = "FR" & gt; फ्रेंच सार [एबी] नई भाषा नहीं
मैंने थोड़ा बदल दिया है भाषा कोड में पारित करने के लिए पैरामीटर मान:
& lt;? xml संस्करण = "1.0" एन्कोडिंग = "UTF-8"? & gt; & lt; xsl: स्टाइलशीट संस्करण = "2.0" xmlns : एक्सएसएल = "http://www.w3.org/1999/XSL/Transform" xmlns: xs = "http://www.w3.org/2001/XMLSchema" xmlns: fn = "http: // www। W3.org/2005/xpath-functions "बहिष्कृत करें-परिणाम- प्रीफ़ी xes = "xs fn" & gt; & Lt; xsl: param नाम = "भाषा-कोड" के रूप में = "xs: string *" select = "'DE', 'FR', 'आरयू'" / & gt; & Lt; xsl: variable name = "lang-regex" चुनें = "कॉकैट ('\ [(', स्ट्रिंग-जॉइंट ($ भाषा-कोड, '|'), ') \]')" / & gt; & Lt; xsl: आउटपुट विधि = "html" इंडेंट = "हां" / & gt; & lt; xsl: टेम्पलेट मैच = "मीट्रिक [[एन एन = 'गैर अंग्रेज़ीअब्रेस्ट']" & gt; & Lt; xsl: variable name = "matches" & gt; & lt; xsl: विश्लेषण-स्ट्रिंग = "@ वी" regex = "{$ lang-regex}" & gt; & LT; XSL: मिलान-सबस्ट्रिंग & gt; & Lt; p वर्ग = "{regex- समूह (1)}" / & gt; & Lt; / XSL: मिलान-सबस्ट्रिंग & gt; & LT; XSL: न खाने वाले-सबस्ट्रिंग & gt; & lt; value & gt; & lt; xsl: मान का चयन करें = "।" /> gt; & lt; / value & gt; & Lt; / XSL: न खाने वाले-सबस्ट्रिंग & gt; & Lt; / XSL: विश्लेषण-स्ट्रिंग & gt; & Lt; / XSL: चर & gt; & Lt; xsl: प्रत्येक चयन = "$ मैचों / पी" & gt; & Lt; p वर्ग = "{@ वर्ग}" & gt; & lt; xsl: मान-का चयन करें = "निम्नलिखित- sibling :: मान [1]" / & gt; & Lt; / p & gt; & Lt; / XSL: के लिए-प्रत्येक & gt; & Lt; / XSL: टेम्पलेट & gt; & Lt; / XSL: स्टाइलशीट & gt;
Comments
Post a Comment