Zorba (XQuery processor)
ઝોર્બા એ C + + માં લખાયેલ એક ઓપન સોર્સ ક્વેરી પ્રોસેસર છે, જે અનેક W3C XQuery અને XML સ્પષ્ટીકરણો અને JSON ડેટાની પ્રક્રિયા માટે JSONiq ભાષાનો અમલ કરે છે. ઝોર્બા અપાચે લાઇસન્સ, આવૃત્તિ 2 હેઠળ વિતરિત કરવામાં આવે છે. આ પ્રોજેક્ટને મુખ્યત્વે FLWOR ફાઉન્ડેશન, ઓરેકલ અને 28 એમ. એસ. સી. દ્વારા ટેકો આપવામાં આવ્યો છે. સ્પષ્ટીકરણો ઝોર્બા નીચેની W3C વિશિષ્ટતાઓનું અમલીકરણ પ્રદાન કરે છેઃ XQuery 1 XQuery 3 XQuery અપડેટ સુવિધા 1 XQuery અને XPath સંપૂર્ણ લખાણ 1 XML વાક્યરચના XQuery 1 XML યોજના XSL પરિવર્તન (XSLT) XSL ફોર્મેટિંગ ઓબ્જેક્ટ્સ ઝોર્બા આના અમલીકરણ પણ પ્રદાન કરે છેઃ JSoniq સ્ક્રિપ્ટીંગ એક્સ્ટેંશન ડેટા ડેફિનેશન ફેસિલિટી સ્ક્રિપ્ટીંગ એક્સ્ટેંશન એક ખુલ્લું સ્પષ્ટીકરણ છે જે XQuery અથવા JSoniq પ્રોગ્રામ્સમાં આડઅસરો માટે સિમેન્ટીક પ્રદાન કરે છે. તે આવા કાર્યક્રમોમાં અનિવાર્ય પ્રોગ્રામિંગ માટે વપરાશકર્તા-મૈત્રીપૂર્ણ વાક્યરચના પણ પ્રદાન કરે છે. નીચેનો કોડ સ્નિપેટ સ્ક્રિપ્ટીંગ વાક્યરચનાનું ઉદાહરણ છે. તે 100 કરતા ઓછી તમામ ફિબોનાકી સંખ્યાઓ ધરાવતા ક્રમની ગણતરી કરે છે. (: આ એક ચલ ઘોષણા નિવેદન છેઃ) ચલ $a એ xs તરીકેઃ પૂર્ણાંકઃ = 0; ચલ $b એ xs તરીકેઃ પૂર્ણાંકઃ = 1; ચલ $c એ xs તરીકેઃ પૂર્ણાંકઃ = $a + $b; ચલ $fibseq એ xs તરીકેઃ પૂર્ણાંક *: = ($a, $b); જ્યારે ($clt 100) {(: આ એક ચલ સોંપણી નિવેદન છેઃ) $fibseq: = ($fibseq, $c); $a: = $b; $b: = $c; $c: = $a + $b;} $fibseq સ્ક્રિપ્ટિંગનો ઉપયોગ કરીને CRUD કામગીરીનું નીચેનું ઉદાહરણ છે. ચલ $સ્ટોર્સઃ = doc ("stores.xml")/સ્ટોર્સ; (: બનાવોઃ) $સ્ટોર્સમાં નોડ <સ્ટોર> <સ્ટોર-નંબર> 4 <સ્ટોર-નંબર> <સ્ટેટ> NY </સ્ટેટ> </સ્ટોર> દાખલ કરો; (: અપડેટઃ) નોડ $સ્ટોર્સ/સ્ટોરનું મૂલ્ય [સ્ટેટ = "NY"]/સ્ટોર-નંબરને "5" સાથે બદલો; (: કાઢી નાખોઃ) નોડ $સ્ટોર્સ/સ્ટોરને કાઢી નાખો [સ્ટેટ! = "NY"]; (: વાંચોઃ) $સ્ટોર્સ ડેટા ડેફિનેશન ફેસિલિટી ડેટા ડેફિનેશન ફેસિલિટી XQuery અથવા JSONiq પ્રોગ્રામ્સમાં સંગ્રહ અને અનુક્રમણિકા જેવી સતત કલાકૃતિઓ માટે સિમેન્ટીક પ્રદાન કરે છે. દાખલા તરીકે, નીચેના કોડ સ્નિપેટ્સ એન્ટ્રી નામના સંગ્રહ અને એન્ટ્રી નામના તે સંગ્રહ પર અનુક્રમણિકા જાહેર કરે છે. મોડ્યુલ નેમસ્પેસ g = "http://www.zorba-xquery.com/guestbook"; ઇમ્પોર્ટ મોડ્યુલ નેમસ્પેસ db = "http://www.zorba-xquery.com/modules/store/static/collections/dml"; નેમસ્પેસ an = "http://www.zorba-xquery.com/annotations" જાહેર કરે છે; (: એન્ટ્રીઓ નામના સંગ્રહને જાહેર કરે છેઃ) સંગ્રહ g: એન્ટ્રીઓને તત્વ (એન્ટ્રી) તરીકે જાહેર કરે છે; (: ચલ કે જે g તરફ નિર્દેશ કરે છે તેને જાહેર કરે છેઃ એન્ટ્રીઓ સંગ્રહઃ) ચલ $g જાહેર કરે છેઃ એન્ટ્રીઓઃ = xs: QName ('g: એન્ટ્રીઓ'); (: એન્ટ્રીઓ સંગ્રહની ટોચ પર એન્ટ્રી નામના અનુક્રમણિકાને જાહેર કરે છેઃ)% an જાહેર કરે છેઃ સ્વચાલિત% મૂલ્ય-સમાનતા સૂચકાંક g: નોડ્સ પર એન્ટ્રી db: સંગ્રહ (xs: QName ('g: એન્ટ્રીઓ')) xs દ્વારાઃ સ્ટ્રિંગ ( મૂળભૂત રીતે, ઝોર્બા મુખ્ય મેમરી સ્ટોર સાથે બનાવવામાં આવે છે. 28 એમ. એસ. સી. મોંગોડીબીની ટોચ પર એક સ્ટોર લાગુ કરે છે. બ્રાઉઝર પ્રોજેક્ટમાં XQuery એ ઝોર્બા માટે બ્રાઉઝર પ્લગઇન બનાવ્યું છે અને તેના સ્ટોર તરીકે ડીઓએમનો લાભ લે છે. API ઝોર્બાનો ઉપયોગ વિવિધ યજમાન ભાષાઓ દ્વારા કરી શકાય છેઃ C + +, C, XQJ/જાવા, PHP, પાયથોન, C #, રૂબી અને XQuery/JSONiq. ઝોર્બા કમાન્ડ-લાઇન ટૂલ તરીકે પણ ઉપલબ્ધ છે. XQDT એ ઇક્લિપ્સ (IDE) માટે XQuery પ્લગઇન છે. તે સંપૂર્ણપણે ઝોર્બા API અને વાક્યરચનાને ટેકો આપે છે. મોડ્યુલો ઝોર્બા કાર્યક્રમો બનાવવા માટે 70 થી વધુ XQuery મોડ્યુલો પ્રદાન કરે છે. આમાંના કેટલાક મોડ્યુલો છેઃ ફાઇલ સિસ્ટમ, ઇમેઇલ, HTTP ક્લાયન્ટ, OAuth ક્લાયન્ટ XQuery અને JSONiq ડેટા મોડલ પ્રોસેસિંગઃ ટાઇપિંગ, અણુ વસ્તુઓ અને નોડ્સ. પૂર્ણ-લખાણઃ ટોકનાઇઝર, સ્ટેમર, થિસોરસ લુકઅપ. ડેટા સફાઇઃ ધ્વન્યાત્મક સમાનતાઓ, સેટ સમાનતાઓ, રૂપાંતરણો. ડેટા રૂપાંતરણઃ બેઝ64, સી. એસ. વી., એચ. ટી. એમ. એલ., જે. એસ. ઓ. એન., એક્સ. એમ. એલ. ડેટા ફોર્મેટિંગઃ એક્સ. એસ. એલ.-એફ. ઓ. ઇન્ટ્રોસ્પેક્શન અને રિફ્લેક્શન ક્રિપ્ટોગ્રાફી ઇમેજ પ્રોસેસિંગ બાહ્ય લિંક્સ ઝોર્બા વેબસાઇટ ઝોર્બા લાઇવ ડેમો ઝોર્બા મોડ્યુલો એક્સક્વેરી પ્રોસેસર્સ એક્સ. એમ. એલ.