स्टैक्स: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Application programming interface}} XML के लिए स्ट्रीमिंग API (StAX) जावा (प्रोग्रामिंग...")
 
No edit summary
Line 1: Line 1:
{{Short description|Application programming interface}}
[[XML]] के लिए स्वृक्षमिंग API ('''StAX''') XML दस्तावेज़ों को पढ़ने और लिखने के लिए एक एप्लिकेशन प्रोग्रामिंग अंतरफलक (API) होता है, जो जावा प्रोग्रामिंग भाषा समुदाय से उत्पन्न हुआ है।
[[XML]] के लिए स्ट्रीमिंग API (StAX) [[जावा (प्रोग्रामिंग भाषा)]] समुदाय से उत्पन्न XML दस्तावेज़ों को पढ़ने और लिखने के लिए एक एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (API) है।


परंपरागत रूप से, XML API या तो हैं:
परंपरागत रूप से, XML API है:
* DOM आधारित - कॉलिंग एप्लिकेशन द्वारा रैंडम एक्सेस के लिए संपूर्ण दस्तावेज़ को XML ट्री के रूप में मेमोरी में पढ़ा जाता है
* DOM आधारित - कॉलिंग एप्लिकेशन द्वारा रैंडम एक्सेस के लिए संपूर्ण दस्तावेज़ को XML वृक्ष संरचना के रूप में मेमोरी में पढ़ा जाता है।
* घटना आधारित - स्रोत दस्तावेज़ के भीतर संस्थाओं का सामना करने के लिए एप्लिकेशन घटनाओं को प्राप्त करने के लिए पंजीकृत करता है।
* अवसर आधारित - स्रोत दस्तावेज़ के भीतर संस्थाओं का सामना करने के लिए एप्लिकेशन अवसरों को प्राप्त करने के लिए पंजीकृत करता है।
दोनों के फायदे हैं: दस्तावेज़ ऑब्जेक्ट मॉडल, उदाहरण के लिए, दस्तावेज़ के लिए यादृच्छिक अभिगम की अनुमति देता है, और ईवेंट संचालित एल्गोरिथ्म जैसे XML के लिए सरल [[एपीआई]] में एक छोटी मेमोरी फ़ुटप्रिंट है और आमतौर पर बहुत तेज़ है।
दोनों के फायदे है: दस्तावेज़ वस्तु नमूना, उदाहरण के लिए, दस्तावेज़ के लिए यादृच्छिक अभिगम की अनुमति देता है, और अवसर संचालित कलन विधि जैसे XML के लिए सरल [[एपीआई|API]] में एक छोटी मेमोरी फ़ुटप्रिंट होता है जो सामान्यतः बहुत तेज होता है।ka


इन दो पहुँच रूपकों को ध्रुवीय विपरीत माना जा सकता है। एक ट्री आधारित एपीआई असीमित, रैंडम एक्सेस और हेरफेर की अनुमति देता है, जबकि एक इवेंट आधारित एपीआई स्रोत दस्तावेज़ के माध्यम से 'वन शॉट' पास है।
इन दो पहुँच रूपकों को ध्रुवीय विपरीत माना जा सकता है। एक वृक्ष संरचना आधारित API असीमित, रैंडम एक्सेस और हेरफेर की अनुमति देता है, जबकि एक अवसर आधारित API स्रोत दस्तावेज़ के माध्यम से 'एक शॉट' पास होता है।


StAX को इन दो विपरीतताओं के बीच एक माध्यिका के रूप में डिज़ाइन किया गया था। StAX रूपक में, प्रोग्रामेटिक एंट्री पॉइंट एक कर्सर है जो दस्तावेज़ के भीतर एक बिंदु का प्रतिनिधित्व करता है। एप्लिकेशन कर्सर को आगे बढ़ाता है - पार्सर से जानकारी को 'खींचने' की आवश्यकता होती है। यह एक घटना आधारित एपीआई से अलग है - जैसे कि SAX - जो एप्लिकेशन को 'पुश' डेटा देता है - दस्तावेज़ के भीतर स्थान का ट्रैक रखने के लिए आवश्यक घटनाओं के बीच राज्य को बनाए रखने के लिए एप्लिकेशन की आवश्यकता होती है।
StAX को इन दो विपरीतताओं के बीच एक माध्यिका के रूप में डिज़ाइन किया गया था। StAX रूपक में, प्रोग्रामेटिक प्रवेश बिंदु सूचक होता है जो दस्तावेज़ के भीतर एक बिंदु का प्रतिनिधित्व करता है। एप्लिकेशन सूचक को आगे बढ़ाता है, पार्सर से जानकारी को प्राप्त करता है। यह एक अवसर आधारित API से अलग होता है, जैसे कि SAX दस्तावेज़ के भीतर आवश्यक अवसरों के बीच स्थिति को बनाए रखने के लिए एप्लिकेशन की आवश्यकता होती है।


== उत्पत्ति ==
== उत्पत्ति ==
StAX की जड़ें XML के लिए कई असंगत पुल एपीआई में हैं, विशेष रूप से [http://www.xmlpull.org/ XMLPULL], जिसके लेखक (स्टीफन हौस्टीन और अलेक्जेंडर स्लोमिन्स्की) ने दूसरों के साथ, [[बीईए सिस्टम्स]] के साथ सहयोग किया है। [[ओरेकल कॉर्पोरेशन]], [[सन माइक्रोसिस्टम्स]] और [[जेम्स क्लार्क (प्रोग्रामर)]]
StAX का आधार XML का असंगत API होता है, विशेष रूप से [http://www.xmlpull.org/ XMLPULL], जिसके लेखकों (स्टीफन हौस्टीन और अलेक्जेंडर स्लोमिन्स्की) ने अन्य लोगों के अतिरिक्त, [[बीईए सिस्टम्स|BEA सिस्टम्स]], [[ओरेकल कॉर्पोरेशन|ओरेकल]], [[सन माइक्रोसिस्टम्स|सन]] और [[जेम्स क्लार्क (प्रोग्रामर)|जेम्स क्लार्क]] के साथ सहयोग किया है।


== उदाहरण ==
== उदाहरण ==
JSR-173 विशिष्टता से • अंतिम, V1.0 (उचित उपयोग के तहत प्रयुक्त)।
JSR-173 विशिष्टता से • अंतिम, V1.0 (उचित उपयोग के अनुसार प्रयुक्त)।


उद्धरण:
उद्धरण:
: निम्नलिखित जावा एपीआई कर्सर दृष्टिकोण में एक्सएमएल पढ़ने के लिए मुख्य तरीके दिखाता है।
: निम्नलिखित जावा API सूचक दृष्टिकोण में XML पढ़ने के लिए मुख्य विधियों को दिखाता है।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
public interface XMLStreamReader {  
public interface XMLStreamReader {  
     public int next() throws XMLStreamException;  
     public int next() throws XMLStreamException;  
Line 29: Line 28:
}  
}  
</syntaxhighlight>
</syntaxhighlight>
: एपीआई के लेखन पक्ष में ऐसे तरीके हैं जो "StartElement" और "EndElement" ईवेंट प्रकारों के पढ़ने वाले पक्ष के अनुरूप हैं।
: API के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होते है।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
public interface XMLStreamWriter {  
public interface XMLStreamWriter {  
     public void writeStartElement(String localName) throws XMLStreamException;
     public void writeStartElement(String localName) throws XMLStreamException;
Line 38: Line 37:
}  
}  
</syntaxhighlight>
</syntaxhighlight>
:5.3.1 XMLStreamReader
:5.3.1 XMLस्ट्रीमरीडर
: यह उदाहरण बताता है कि कैसे एक इनपुट फैक्ट्री को इंस्टैंट किया जाए, एक रीडर बनाया जाए और एक XML दस्तावेज़ के तत्वों पर पुनरावृति की जाए।
:यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और XML दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();  
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();  
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(...);  
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(...);  
Line 47: Line 46:
}
}
</syntaxhighlight>
</syntaxhighlight>
== यह भी देखें ==
== यह भी देखें ==
जावा में XML को संसाधित करने के लिए प्रतिस्पर्धी और पूरक तरीके (आदेश परिचय की प्रारंभिक तिथि पर आधारित है):
जावा में XML को संसाधित करने के लिए प्रतिस्पर्धी और पूरक तरीके (आदेश परिचय की प्रारंभिक तिथि पर आधारित है):
* डॉक्यूमेंट ऑब्जेक्ट मॉडल | डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM), पहला मानकीकृत, भाषा/प्लेटफ़ॉर्म-स्वतंत्र ट्री-आधारित XML प्रोसेसिंग मॉडल; वैकल्पिक जावा ट्री मॉडल में [[JDOM]], DOM4j और XOM (XML पार्सर) शामिल हैं
* डॉक्यूमेंट ऑब्जेक्ट मॉडल | डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM), पहला मानकीकृत, भाषा/प्लेटफ़ॉर्म-स्वतंत्र वृक्ष-आधारित XML प्रोसेसिंग मॉडल; वैकल्पिक जावा वृक्ष मॉडल में [[JDOM]], DOM4j और XOM (XML पार्सर) शामिल है
* एक्सएमएल के लिए सरल एपीआई | एक्सएमएल के लिए सरल एपीआई (एसएएक्स), मानक एक्सएमएल पुश एपीआई
* एक्सएमएल के लिए सरल एपीआई | एक्सएमएल के लिए सरल एपीआई (एसएएक्स), मानक एक्सएमएल पुश एपीआई
* [[जेएक्सबी]] | जावा एक्सएमएल बाइंडिंग एपीआई (जेएक्सबी), एक अन्य पार्सर (आमतौर पर स्ट्रीमिंग पार्सर) के शीर्ष पर काम करता है, जावा ऑब्जेक्ट्स से/से निहित डेटा को बांधता है।
* [[जेएक्सबी]] | जावा एक्सएमएल बाइंडिंग एपीआई (जेएक्सबी), एक अन्य पार्सर (आमतौर पर स्वृक्षमिंग पार्सर) के शीर्ष पर काम करता है, जावा ऑब्जेक्ट्स से/से निहित डेटा को बांधता है।
* [[स्ट्रीमिंग एक्सएमएल]]
* [[स्ट्रीमिंग एक्सएमएल|स्वृक्षमिंग एक्सएमएल]]
* [[जावा के लिए XQuery एपीआई]]
* [[जावा के लिए XQuery एपीआई]]



Revision as of 01:33, 28 June 2023

XML के लिए स्वृक्षमिंग API (StAX) XML दस्तावेज़ों को पढ़ने और लिखने के लिए एक एप्लिकेशन प्रोग्रामिंग अंतरफलक (API) होता है, जो जावा प्रोग्रामिंग भाषा समुदाय से उत्पन्न हुआ है।

परंपरागत रूप से, XML API है:

  • DOM आधारित - कॉलिंग एप्लिकेशन द्वारा रैंडम एक्सेस के लिए संपूर्ण दस्तावेज़ को XML वृक्ष संरचना के रूप में मेमोरी में पढ़ा जाता है।
  • अवसर आधारित - स्रोत दस्तावेज़ के भीतर संस्थाओं का सामना करने के लिए एप्लिकेशन अवसरों को प्राप्त करने के लिए पंजीकृत करता है।

दोनों के फायदे है: दस्तावेज़ वस्तु नमूना, उदाहरण के लिए, दस्तावेज़ के लिए यादृच्छिक अभिगम की अनुमति देता है, और अवसर संचालित कलन विधि जैसे XML के लिए सरल API में एक छोटी मेमोरी फ़ुटप्रिंट होता है जो सामान्यतः बहुत तेज होता है।ka

इन दो पहुँच रूपकों को ध्रुवीय विपरीत माना जा सकता है। एक वृक्ष संरचना आधारित API असीमित, रैंडम एक्सेस और हेरफेर की अनुमति देता है, जबकि एक अवसर आधारित API स्रोत दस्तावेज़ के माध्यम से 'एक शॉट' पास होता है।

StAX को इन दो विपरीतताओं के बीच एक माध्यिका के रूप में डिज़ाइन किया गया था। StAX रूपक में, प्रोग्रामेटिक प्रवेश बिंदु सूचक होता है जो दस्तावेज़ के भीतर एक बिंदु का प्रतिनिधित्व करता है। एप्लिकेशन सूचक को आगे बढ़ाता है, पार्सर से जानकारी को प्राप्त करता है। यह एक अवसर आधारित API से अलग होता है, जैसे कि SAX दस्तावेज़ के भीतर आवश्यक अवसरों के बीच स्थिति को बनाए रखने के लिए एप्लिकेशन की आवश्यकता होती है।

उत्पत्ति

StAX का आधार XML का असंगत API होता है, विशेष रूप से XMLPULL, जिसके लेखकों (स्टीफन हौस्टीन और अलेक्जेंडर स्लोमिन्स्की) ने अन्य लोगों के अतिरिक्त, BEA सिस्टम्स, ओरेकल, सन और जेम्स क्लार्क के साथ सहयोग किया है।

उदाहरण

JSR-173 विशिष्टता से • अंतिम, V1.0 (उचित उपयोग के अनुसार प्रयुक्त)।

उद्धरण:

निम्नलिखित जावा API सूचक दृष्टिकोण में XML पढ़ने के लिए मुख्य विधियों को दिखाता है।
public interface XMLStreamReader { 
    public int next() throws XMLStreamException; 
    public boolean hasNext() throws XMLStreamException; 
    public String getText(); 
    public String getLocalName(); 
    public String getNamespaceURI(); 
    // ...other methods not shown 
}
API के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होते है।
public interface XMLStreamWriter { 
    public void writeStartElement(String localName) throws XMLStreamException;
    public void writeEndElement() throws XMLStreamException; 
    public void writeCharacters(String text) throws XMLStreamException; 
    // ...other methods not shown 
}
5.3.1 XMLस्ट्रीमरीडर
यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और XML दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए।
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); 
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(...); 
while (xmlStreamReader.hasNext()) { 
    xmlStreamReader.next(); 
}

यह भी देखें

जावा में XML को संसाधित करने के लिए प्रतिस्पर्धी और पूरक तरीके (आदेश परिचय की प्रारंभिक तिथि पर आधारित है):

  • डॉक्यूमेंट ऑब्जेक्ट मॉडल | डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM), पहला मानकीकृत, भाषा/प्लेटफ़ॉर्म-स्वतंत्र वृक्ष-आधारित XML प्रोसेसिंग मॉडल; वैकल्पिक जावा वृक्ष मॉडल में JDOM, DOM4j और XOM (XML पार्सर) शामिल है
  • एक्सएमएल के लिए सरल एपीआई | एक्सएमएल के लिए सरल एपीआई (एसएएक्स), मानक एक्सएमएल पुश एपीआई
  • जेएक्सबी | जावा एक्सएमएल बाइंडिंग एपीआई (जेएक्सबी), एक अन्य पार्सर (आमतौर पर स्वृक्षमिंग पार्सर) के शीर्ष पर काम करता है, जावा ऑब्जेक्ट्स से/से निहित डेटा को बांधता है।
  • स्वृक्षमिंग एक्सएमएल
  • जावा के लिए XQuery एपीआई

बाहरी संबंध