XML transformation language
એક્સ. એમ. એલ. ટ્રાન્સફોર્મેશન લેંગ્વેજ એ એક પ્રોગ્રામિંગ લેંગ્વેજ છે જે ખાસ કરીને ઇનપુટ એક્સ. એમ. એલ. દસ્તાવેજને આઉટપુટ દસ્તાવેજમાં રૂપાંતરિત કરવા માટે રચાયેલ છે જે અમુક ચોક્કસ ધ્યેયને સંતોષે છે. પરિવર્તનના બે વિશેષ કિસ્સાઓ છેઃ XML થી XML: આઉટપુટ દસ્તાવેજ એ XML દસ્તાવેજ છે. XML થી ડેટાઃ આઉટપુટ દસ્તાવેજ એ બાઈટ સ્ટ્રીમ છે. એક્સ. એમ. એલ. થી એક્સ. એમ. એલ. તરીકે એક્સ. એમ. એલ. થી એક્સ. એમ. એલ. રૂપાંતર એક્સ. એમ. એલ. દસ્તાવેજનું આઉટપુટ આપે છે, એક્સ. એમ. એલ. થી એક્સ. એમ. એલ. રૂપાંતર સાંકળો એક્સ. એમ. એલ. પાઇપલાઇન બનાવે છે. એક્સ. એમ. એલ. થી ડેટા એક્સ. એમ. એલ. (એક્સ્ટેન્સિબલ માર્કઅપ લેંગ્વેજ) થી ડેટા ટ્રાન્સફોર્મેશનમાં કેટલાક મહત્વપૂર્ણ કિસ્સાઓ છે. સૌથી નોંધપાત્ર એક છે એક્સ. એમ. એલ. થી એચ. ટી. એમ. એલ. (હાયપરટેક્સ્ટ માર્કઅપ લેંગ્વેજ), કારણ કે એચ. ટી. એમ. એલ. દસ્તાવેજ એ એક્સ. એમ. એલ. દસ્તાવેજ નથી. એસ. જી. એમ. એલ. ની ઉત્પત્તિ પ્રારંભિક પરિવર્તન ભાષાઓ એસ. જી. એમ. એલ. રૂપરેખા તરીકે એક્સ. એમ. એલ. ના આગમનની આગાહી કરે છે, અને આમ ખાસ કરીને એક્સ. એમ. એલ. ને બદલે મનસ્વી એસ. જી. એમ. એલ. માં ઇનપુટ સ્વીકારે છે. આમાં SGML-થી-SGML કડી પ્રક્રિયા વ્યાખ્યા (LPD) બંધારણનો સમાવેશ થાય છે જે SGML ધોરણના ભાગ રૂપે વ્યાખ્યાયિત થયેલ છે; SGMLમાં (પરંતુ XML નહીં), LPD ફાઇલને ડીટીડી માટે ઉપયોગમાં લેવાતી ઘોષણાની જેમ જ ઘોષણા દ્વારા દસ્તાવેજમાંથી જ સંદર્ભિત કરી શકાય છે. એલ. પી. ડી. ની કેટલીક ખામીઓને દૂર કરતી આવી અન્ય પરિવર્તન ભાષાઓમાં ડોક્યુમેન્ટ સ્ટાઇલ સિમેન્ટિક્સ એન્ડ સ્પષ્ટીકરણ ભાષા (ડી. એસ. એસ. એસ. એલ.) અને ઓમ્નીમાર્કનો સમાવેશ થાય છે. નવી પરિવર્તન ભાષાઓ ખાસ કરીને એક્સ. એમ. એલ. ને લક્ષ્ય બનાવે છે, અને આમ માત્ર એક્સ. એમ. એલ. ને સ્વીકારે છે, મનસ્વી એસ. જી. એમ. એલ. ને નહીં. હાલની ભાષાઓ એક્સએસએલટીઃ એક્સએસએલટી એ સૌથી વધુ જાણીતી એક્સએમએલ પરિવર્તન ભાષા છે. એક્સ. એસ. એલ. ટી. 1 ડબલ્યુ. 3સી ભલામણ 1999માં એક્સપાથ 1 સાથે પ્રકાશિત કરવામાં આવી હતી અને ત્યારથી તેનો વ્યાપક અમલ કરવામાં આવી રહ્યો છે. એક્સએસએલટી 2 જાન્યુઆરી 2007થી ડબલ્યુ3સી ભલામણ બની ગઈ છે અને સેક્સોન 8 જેવા સ્પષ્ટીકરણનું અમલીકરણ પહેલેથી જ ઉપલબ્ધ છે. XQuery: XQuery એ એક સંપૂર્ણ કાર્યાત્મક ભાષા છે, નામમાં "ક્વેરી" હોવા છતાં. તે માઈક્રોસોફ્ટ, ઓરેકલ, ડી. બી. 2, માર્કલોજિક વગેરે દ્વારા ઉપયોગમાં લેવાતું વાસ્તવિક ધોરણ છે, જે એક્સ. આર. એક્સ. વેબ પ્રોગ્રામિંગ મોડેલનો પાયો છે, અને આવૃત્તિઓ 1 માટે ડબલ્યુ. 3. સી. ભલામણ ધરાવે છે. XSLTની જેમ XQuery પોતે XMLમાં લખાયેલ નથી, તેથી તેનું વાક્યરચના ખૂબ હળવી છે. આ ભાષા XPath 2 પર આધારિત છે. XSLTની જેમ જ XQuery પ્રોગ્રામ્સની આડઅસરો ન હોઈ શકે અને લગભગ સમાન ક્ષમતાઓ પૂરી પાડે છે (ઉદાહરણ તરીકેઃ ચલ અને કાર્યોને જાહેર કરવું, શ્રેણીઓ પર પુનરાવર્તન કરવું, W3C યોજના પ્રકારોનો ઉપયોગ કરવો), તેમ છતાં પ્રોગ્રામનું વાક્યરચના તદ્દન અલગ છે. XQuery તર્ક સંચાલિત છે, FOR, WHERE અને કાર્ય રચનાનો ઉપયોગ કરીને (દા. ત. fn: કોન્કેટ ("", જનરેટ-બોડી () "",)). તેનાથી વિપરીત, એક્સ. એસ. એલ. ટી. એ ડેટા-સંચાલિત (પુશ પ્રોસેસિંગ મોડેલ) છે જ્યાં ઇનપુટ દસ્તાવેજની અમુક શરતો કોડને જે ક્રમમાં લખવામાં આવે છે તેના બદલે ટેમ્પલેટોના અમલને ટ્રિગર કરે છે. એક્સપ્રોકઃ એક્સપ્રોક એ એક્સ. એમ. એલ. પાઇપલાઇન ભાષા છે. એક્સપ્રોક 1 ડબલ્યુ 3સી ભલામણ મે 2010માં પ્રકાશિત કરવામાં આવી હતી. એક્સ. એમ. એલ. દસ્તાવેજ રૂપાંતરણઃ એ એક્સ. એમ. એલ. દસ્તાવેજો પર સરળ રૂપાંતરણો કરવા માટેનું માઈક્રોસોફ્ટ માનક છે. મુખ્યત્વે આઈ. આઈ. એસ. <આઇ. ડી. 1> ફાઇલો બનાવવા માટે (રૂપાંતર રૂપરેખાંકિત કરો), અન્ય અમલીકરણ તેને સામાન્ય રૂપરેખાંકિત ફાઇલો માટે બિલ્ડ ટાઇમ (ધીમું ચિત્તા) અથવા આદેશ વાક્ય (સી. ટી. ટી.) તરીકે ઉપયોગમાં લેવાની મંજૂરી આપે છે. એસ. ટી. એક્સ.: એસ. ટી. એક્સ. (સ્ટ્રીમિંગ ટ્રાન્સફોર્મેશન્સ ફોર એક્સ. એમ. એલ.) એ એક્સ. એસ. એલ. ટી. થી પ્રેરિત છે પરંતુ તે વન-પાસ ટ્રાન્સફોર્મેશન પ્રક્રિયાને મંજૂરી આપવા માટે ડિઝાઇન કરવામાં આવી છે જે સ્ટ્રીમિંગને ક્યારેય અટકાવતું નથી. અમલીકરણ જાવા (જૂસ્ટ) અને પર્લ (XML:: STX) માં ઉપલબ્ધ છે. એક્સ. એમ. એલ. સ્ક્રિપ્ટઃ એક્સ. એમ. એલ. સ્ક્રિપ્ટ એ પર્લ દ્વારા પ્રેરિત એક અનિવાર્ય સ્ક્રિપ્ટિંગ ભાષા છે જે એક્સ. એમ. એલ. વાક્યરચનાનો ઉપયોગ કરે છે. XML સ્ક્રિપ્ટ ઇનપુટ ટ્રીમાંથી નોડ્સ પસંદ કરવા માટે XPath અને તેના માલિકીના DSLPath ને સપોર્ટ કરે છે. એફ. એક્સ. ટી.: એફ. એક્સ. ટી. એ એક કાર્યાત્મક એક્સ. એમ. એલ. પરિવર્તન સાધન છે, જે પ્રમાણભૂત એમ. એલ. માં લાગુ કરવામાં આવ્યું છે. એક્સડ્યુસઃ એક્સડ્યુસ એ એક્સએસએલટીની સરખામણીમાં હળવા વાક્યરચના સાથે ટાઇપ કરેલી ભાષા છે. તે એમ. એલ. માં લખાયેલું છે. સી. ડી. યુ. એસ.: સી. ડી. યુ. એસ. એક્સ. ડી. યુ. એસ. ને સામાન્ય હેતુની કાર્યાત્મક પ્રોગ્રામિંગ ભાષામાં વિસ્તરે છે, સી. ડી. યુ. એસ. હોમપેજ જુઓ. XACT: XACT એ પ્રોગ્રામિંગ XML પરિવર્તન માટે જાવા આધારિત સિસ્ટમ છે. નોંધપાત્ર સુવિધાઓમાં અપરિવર્તનીય મૂલ્યો તરીકે XML નમૂનાઓ અને XML યોજના પ્રકારો (XACT હોમ પેજ) નો ઉપયોગ કરીને પ્રકાર સુરક્ષાની ખાતરી કરવા માટે સ્થિર વિશ્લેષણનો સમાવેશ થાય છે. XFun: XFun એ XML માહિતી વૃક્ષો વચ્ચેના પરિવર્તનને વ્યાખ્યાયિત કરવા માટે એક કાર્યાત્મક ભાષા છે, જ્યારે કાપવાની સૂચનાઓ પૂરી પાડે છે. એક્સ-ફનને આઉટપુટ શ્રેડિંગ સાથે ફ્રિશની એક્સસ્ટ્રીમ ભાષાના વિસ્તરણ તરીકે સમજી શકાય છે, જ્યારે પેટર્ન મેચિંગને એક્સપાથ એક્સપ્રેશન સાથે ટ્રી નેવિગેશન દ્વારા બદલવામાં આવે છે. () એક્સસ્ટ્રીમઃ એક્સસ્ટ્રીમ એ સીએએમએલ પર આધારિત એક્સએમએલ દસ્તાવેજો માટે એક સરળ કાર્યાત્મક પરિવર્તન ભાષા છે. એક્સસ્ટ્રીમમાં લખાયેલા એક્સ. એમ. એલ. પરિવર્તનોનું મૂલ્યાંકન સ્ટ્રીમિંગમાં કરવામાં આવે છેઃ જ્યારે શક્ય હોય ત્યારે, આઉટપુટના ભાગોની ગણતરી કરવામાં આવે છે અને જ્યારે ઇનપુટ દસ્તાવેજનું વિશ્લેષણ કરવામાં આવે છે ત્યારે ઉત્પન્ન થાય છે. આમ કેટલાક પરિવર્તનો વિશાળ XML દસ્તાવેજો પર લાગુ કરી શકાય છે જે મેમરીમાં પણ બંધબેસતા નથી. એક્સસ્ટ્રીમ કમ્પાઇલર સીઇસીઆઇએલએલ ફ્રી સોફ્ટવેર લાઇસન્સની શરતો હેઠળ વિતરિત કરવામાં આવે છે. એક્સટેટિકઃ એક્સટેટિક એ એક્સડ્યુસથી સી #સુધીની પદ્ધતિઓ લાગુ કરે છે, એક્સટેટિક હોમપેજ જુઓ. હેક્સએમએલઃ હેક્સએમએલ એ હાસ્કેલમાં એક્સએમએલ પરિવર્તન લખવા માટે એક પુસ્તકાલય અને સાધનોનો સંગ્રહ છે. 1999માં પ્રકાશિત થયેલ હેક્સમલ વિશેનું આ પેપર અને આઇબીએમ ડેવલપરવર્ક્સનો આ લેખ પણ જુઓ. વધુ તાજેતરનું એચ. એક્સ. એમ. એલ. અને હાસ્કેલ એક્સ. એમ. એલ. ટૂલબોક્સ (એચ. એક્સ. ટી.) પણ જુઓ, જે એચ. એ. એક્સ. એમ. એલ. અને એચ. એક્સ. એમ. એલ. ના વિચારો પર આધારિત છે પરંતુ એક્સ. એમ. એલ. પ્રક્રિયા માટે વધુ સામાન્ય અભિગમ અપનાવે છે. XMLambda: XMLambda (XMλ) નું વર્ણન એરિક મેઇજર અને માર્ક શીલ્ડ્સ દ્વારા 1999ના પેપરમાં કરવામાં આવ્યું છે. કોઈ અમલીકરણ ઉપલબ્ધ નથી. XMLambda હોમ પેજ જુઓ. ફ્લેક્સએમએલઃ ફ્લેક્સએમએલ એ એક્સએમએલ પ્રોસેસિંગ લેંગ્વેજ છે જે સૌપ્રથમ ક્રિસ્ટોફર રોઝ દ્વારા લાગુ કરવામાં આવી હતી. તેનો અભિગમ ડી. ટી. ડી. ના નિયમોના કોઈપણ સબસેટ માટે પ્રક્રિયા સૂચનાઓને સ્પષ્ટ કરતી એક્સ. એમ. એલ. ડી. ટી. ડી. માં ક્રિયાઓ ઉમેરવાનો છે. સ્કેલાઃ સ્કેલા એ એક સામાન્ય હેતુની કાર્યાત્મક અને ઓબ્જેક્ટ-ઓરિએન્ટેડ ભાષા છે જે પ્રમાણભૂત XML પુસ્તકાલયો સાથે XML પેટર્ન મેચિંગ, શાબ્દિક અને અભિવ્યક્તિઓના સ્વરૂપમાં XML પરિવર્તન માટે ચોક્કસ સમર્થન ધરાવે છે. LINQ થી XML: LINQ થી XML એ. NET 3.5 વાક્યરચના અને પ્રોગ્રામિંગ API છે જે C #, VB અને કેટલીક અન્ય. NET ભાષાઓમાં ઉપલબ્ધ છે. LINQ મુખ્યત્વે ક્વેરી લેંગ્વેજ તરીકે ડિઝાઇન કરવામાં આવી છે, પરંતુ તે XML ટ્રાન્સફોર્મને પણ સપોર્ટ કરે છે. ફિલ્ટર (સોફ્ટવેર) ફિલ્ટર (યુનિક્સ) વેબ ટેમ્પલેટ વેબ ટેમ્પલેટ સિસ્ટમ ટેમ્પલેટ એન્જિન (વેબ) ટ્રિટિયમ (પ્રોગ્રામિંગ લેંગ્વેજ) સંદર્ભો પરિવર્તન ભાષાઓ XML-આધારિત ધોરણો પણ જુઓ.