का उपयोग कर मैं इस XML दस्तावेज़ है CDATA से XML रूपांतरण करें:XSL
<ns0:getDataResponse xmlns:ns0="http://abc.com/">
<return>
<wrapper>
<data><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<ConDic>
<dictionary>bank</dictionary>
<rows>
<row>
<bic>ABKZKZKX</bic>
<bcode>319</bcode>
<name1>AA "A BANK"</namekz>
<name2>BB "B BANK"</nameru>
</row>
<row>
<bic>ABNAKZKX</bic>
<bcode>922</bcode>
<name1>CC "C BANK"</namekz>
<name2>DD "D BANK"</nameru>
</row>
</rows>
</ConDic>]]></data>
</wrapper>
</return>
</ns0:getDataResponse>
मैं कैसे चयन इस तरह का बनाने के लिए CDATA में प्रत्येक पंक्तियां प्राप्त करने के लिए XSL के साथ यह पार्स कर सकते हैं:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns0="http://abc.com/">
<xsl:output method="html" />
<xsl:template match="text()|@*"/>
<xsl:template match="ns0:rows">
<select name="bank" id="bank" class="input" style="width: 370px;">
<xsl:for-each select="row">
<xsl:sort select="name1"/>
<option value="{bic}"><xsl:value-of select="name1" /></option>
</xsl:for-each>
</select>
कौन सा XSLT प्रोसेसर का उपयोग करते हैं है: उदाहरण के उपयोग XSLT 3.0 सैक्सन 9.5 के साथ (पीई या ई संस्करण की जरूरत है)? आपको 3.0 फ़ंक्शन http://www.w3.org/TR/2013/CR-xpath-functions-30-20130108/#func-parse-xml के साथ एक एक्सएसएलटी 3.0 प्रोसेसर की आवश्यकता है या आपको एक एक्सएसएलटी 1.0 या 2.0 प्रोसेसर समर्थन की आवश्यकता है एक विस्तार समारोह जैसे http://www.saxonica.com/documentation/index.html#!functions/saxon/parse। –
कि बच निकला मार्कअप वैध एक्सएमएल नहीं है। कोई इकाई '"' परिभाषित नहीं है और कोई डीटीडी संदर्भ नहीं है। भले ही आपने सीडीएटीए को अक्षम-आउटपुट-एस्केपिंग के साथ निकालने के लिए पहले पास ट्रांसफॉर्म का उपयोग किया हो, फिर भी आपको अमान्य मार्कअप के साथ छोड़ा जाएगा जो एक्सएमएल के रूप में पार्स नहीं करेगा। इसके अलावा, इसमें एक्सएमएल घोषणा भी शामिल है, जो डीओई ट्रांसफॉर्म में डीटीडी संदर्भ जोड़ने में अधिक कठिन बनाता है। क्या उनके आउटपुट को बदलने के लिए webservice के निर्माता को पाने का कोई तरीका है? –
http://www.w3.org/TR/xml/#sec-predefined-ent 'quot' को परिभाषित करता है इसलिए इसे परिभाषित करने के लिए डीटीडी होना आवश्यक नहीं है। –