StAX
XML (STAX) માટે સ્ટ્રીમિંગ API એ XML દસ્તાવેજો વાંચવા અને લખવા માટેનું એક એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ (API) છે, જે જાવા પ્રોગ્રામિંગ ભાષા સમુદાયમાંથી ઉદ્દભવે છે. પરંપરાગત રીતે, XML API ક્યાં તો છેઃ ડીઓએમ આધારિત-સમગ્ર દસ્તાવેજને કૉલ એપ્લિકેશન ઇવેન્ટ આધારિત દ્વારા રેન્ડમ એક્સેસ માટે ટ્રી સ્ટ્રક્ચર તરીકે મેમરીમાં વાંચવામાં આવે છે-એપ્લિકેશન ઇવેન્ટ્સ પ્રાપ્ત કરવા માટે નોંધણી કરે છે કારણ કે સ્રોત દસ્તાવેજમાં અસ્તિત્વનો સામનો કરવામાં આવે છે. બન્નેના ફાયદા છેઃ ઉદાહરણ તરીકે, ડી. ઓ. એમ. દસ્તાવેજની અવ્યવસ્થિત પહોંચ માટે પરવાનગી આપે છે, અને એસ. એ. એક્સ. જેવા ઇવેન્ટ સંચાલિત અલ્ગોરિધમમાં નાની મેમરી પદચિહ્ન હોય છે અને તે સામાન્ય રીતે ખૂબ ઝડપી હોય છે. આ બે પ્રવેશ રૂપકોને ધ્રુવીય વિરોધી તરીકે વિચારી શકાય છે. વૃક્ષ આધારિત API અમર્યાદિત, રેન્ડમ ઍક્સેસ અને હેરફેરને મંજૂરી આપે છે, જ્યારે ઇવેન્ટ આધારિત API એ સ્રોત દસ્તાવેજમાંથી પસાર થતો 'વન શોટ' છે. સ્ટેક્સની રચના આ બે વિરોધાભાસો વચ્ચે મધ્યસ્થ તરીકે કરવામાં આવી હતી. સ્ટેક્સ રૂપકમાં, પ્રોગ્રામેટિક એન્ટ્રી પોઇન્ટ એ એક કર્સર છે જે દસ્તાવેજની અંદરના બિંદુને રજૂ કરે છે. એપ્લિકેશન કર્સરને આગળ ખસેડે છે-પાર્સરમાંથી માહિતીને તેની જરૂરિયાત મુજબ 'ખેંચી' લે છે. આ ઘટના આધારિત APIથી અલગ છે-જેમ કે SAX-જે ડેટાને એપ્લિકેશન પર 'દબાણ' કરે છે-જેમાં એપ્લિકેશનને દસ્તાવેજની અંદર સ્થાનનો ટ્રેક રાખવા માટે જરૂરી ઘટનાઓ વચ્ચે સ્થિતિ જાળવવાની જરૂર પડે છે. ઓરિજિન્સ સ્ટેક્સના મૂળિયા એક્સ. એમ. એલ. માટે સંખ્યાબંધ અસંગત પુલ એપીઆઈમાં છે, જેમાં સૌથી વધુ નોંધપાત્ર રીતે એક્સ. એમ. એલ. પી. યુ. એલ. એલ. છે, જેના લેખકો (સ્ટીફન હોસ્ટેઇન અને એલેક્ઝાન્ડર સ્લોમિન્સ્કી) એ બી. ઈ. એ. સિસ્ટમ્સ, ઓરેકલ, સન અને જેમ્સ ક્લાર્ક સાથે સહયોગ કર્યો હતો. JSR-173 સ્પષ્ટીકરણમાંથી ઉદાહરણો અંતિમ, V1.0 (વાજબી ઉપયોગ હેઠળ વપરાય છે). અવતરણઃ નીચેનું જાવા API કર્સર અભિગમમાં XML વાંચવા માટેની મુખ્ય પદ્ધતિઓ દર્શાવે છે. સાર્વજનિક ઈન્ટરફેસ XMLStreamReader {پبلڪ ઇન્ટ નેક્સ્ટ () થ્રો XMLStreamExپشن; પબ્લિક બુલિયન પાસે નેક્સ્ટ () થ્રો XMLStreamExپشن; પબ્લિક સ્ટ્રિંગ ગેટટેક્સ્ટ (); પબ્લિક સ્ટ્રિંગ ગેટલોકલ નેમ (); પબ્લિક સ્ટ્રિંગ ગેટનેમ્સસ્પેસયુરી ();// અન્ય પદ્ધતિઓ બતાવવામાં આવી નથી} API ની લેખન બાજુ એવી પદ્ધતિઓ ધરાવે છે જે "સ્ટાર્ટઇલિમેન્ટ" અને "એન્ડઇલિમેન્ટ" ઇવેન્ટ પ્રકારો માટે વાંચન બાજુને અનુરૂપ હોય છે. સાર્વજનિક ઈન્ટરફેસ XMLStreamWriter {સાર્વજનિક રદબાતલ લેખન સ્ટાર્ટઇલિમેન્ટ (શબ્દમાળા સ્થાનિક નામ) XMLStreamExemption ફેંકે છે; સાર્વજનિક રદબાતલ લેખન એન્ડઇલિમેન્ટ () XMLStreamExemption ફેંકે છે; સાર્વજનિક રદબાતલ લેખન અક્ષરો (શબ્દમાળા લખાણ) XMLStreamExemption ફેંકે છે;// અન્ય પદ્ધતિઓ બતાવવામાં આવી નથી} 5.3.1 XMLStreamReader આ ઉદાહરણ દર્શાવે છે કે કેવી રીતે ઇનપુટ ફેક્ટરીને ત્વરિત બનાવવી, રીડર બનાવવું અને XML દસ્તાવેજના ઘટકો પર પુનરાવર્તન કરવું. XMLઇન્પુટફૅક્ટરી xMLઇન્પુટફૅક્ટરી = XMLInputFactory.newInstance (); XMLSt્રીમરીડર xMLSt્રીમરીડર = xmlInputFactory.createXMLStreamReader (.); જ્યારે (xmlStreamReader.hasNext ()) {xmlStreamReader.next ();} જાવામાં XML પર પ્રક્રિયા કરવાની સ્પર્ધાત્મક અને પૂરક રીતો પણ જુઓ (ક્રમ ઢીલું પરિચયની પ્રારંભિક તારીખ પર આધારિત છે): દસ્તાવેજ ઓબ્જેક્ટ મોડેલ (ડીઓએમ), પ્રથમ પ્રમાણિત, ભાષા/પ્લેટફોર્મ-સ્વતંત્ર વૃક્ષ-આધારિત XML પ્રક્રિયા મોડેલ; વૈકલ્પિક જાવા વૃક્ષ મોડેલોમાં XML (SAX) માટે જેડીઓએમ, ડોમ4જે અને XOM સિમ્પલ API નો સમાવેશ થાય છે, જે પ્રમાણભૂત XML દબાણ API જાવા XML બંધનકર્તા છે. જાવા માટે સ્ટ્રીમિંગ XML XQuery API બાહ્ય કડીઓ StAX XML.com, હેરોલ્ડ, ઇલિયટ રસ્ટી જાવા સ્ટ્રીમિંગ API માટે પરિચય XML (સ્ટેક્સ)-ટ્યુટોરિયલ XMLPul પેટર્ન લેખ XML પુલ (અને સ્ટેક્સ) ડિઝાઇન પેટર્ન પર એલેક્ઝાન્ડર સ્લોમિન્સ્કી દ્વારા. STAX પાર્સર-કર્સર અને ઇટરેટર APIs લેખ કર્સર અને ઇટરેટર APIs પર HowToDoInJava દ્વારા. જાવા પ્લેટફોર્મ એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ XML પાર્સર્સ ઉદાહરણ તરીકે જાવા કોડ સાથેના લેખો