स्टैक्स: Difference between revisions

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


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


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


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


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


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


उद्धरण:
उद्धरण:
: निम्नलिखित जावा एपीआई कर्सर दृष्टिकोण में एक्सएमएल पढ़ने के लिए मुख्य तरीके दिखाता है।
: निम्नलिखित जावा एपीआई सूचक दृष्टिकोण में एक्सएमएल पढ़ने के लिए मुख्य विधियों को दिखाता है।
<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" ईवेंट प्रकारों के पढ़ने वाले पक्ष के अनुरूप हैं।
: एपीआई के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होती है।
<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 दस्तावेज़ के तत्वों पर पुनरावृति की जाए।
:यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और एक्सएमएल दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए।
<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 को संसाधित करने के लिए प्रतिस्पर्धी और पूरक तरीके (आदेश परिचय की प्रारंभिक तिथि पर आधारित है):
जावा में एक्सएमएल को संसाधित करने के लिए प्रतिस्पर्धी और पूरक तरीके (आदेश परिचय की प्रारंभिक तिथि पर आधारित है):
* डॉक्यूमेंट ऑब्जेक्ट मॉडल | डॉक्यूमेंट ऑब्जेक्ट मॉडल (DOM), पहला मानकीकृत, भाषा/प्लेटफ़ॉर्म-स्वतंत्र ट्री-आधारित XML प्रोसेसिंग मॉडल; वैकल्पिक जावा ट्री मॉडल में [[JDOM]], DOM4j और XOM (XML पार्सर) शामिल हैं
* डॉक्यूमेंट ऑब्जेक्ट मॉडल | डॉक्यूमेंट ऑब्जेक्ट मॉडल (डीओएम), पहला मानकीकृत, भाषा/प्लेटफ़ॉर्म-स्वतंत्र वृक्ष-आधारित एक्सएमएल प्रोसेसिंग मॉडल; वैकल्पिक जावा वृक्ष मॉडल में [[JDOM|Jडीओएम]], डीओएम4j और XOM (एक्सएमएल पार्सर) शामिल है
* एक्सएमएल के लिए सरल एपीआई | एक्सएमएल के लिए सरल एपीआई (एसएएक्स), मानक एक्सएमएल पुश एपीआई
* एक्सएमएल के लिए सरल एपीआई | एक्सएमएल के लिए सरल एपीआई (एसएएक्स), मानक एक्सएमएल पुश एपीआई
* [[जेएक्सबी]] | जावा एक्सएमएल बाइंडिंग एपीआई (जेएक्सबी), एक अन्य पार्सर (आमतौर पर स्ट्रीमिंग पार्सर) के शीर्ष पर काम करता है, जावा ऑब्जेक्ट्स से/से निहित डेटा को बांधता है।
* [[जेएक्सबी]] | जावा एक्सएमएल बाइंडिंग एपीआई (जेएक्सबी), एक अन्य पार्सर (आमतौर पर अभिस्रवण पार्सर) के शीर्ष पर काम करता है, जावा ऑब्जेक्ट्स से/से निहित डेटा को बांधता है।
* [[स्ट्रीमिंग एक्सएमएल]]
* [[स्ट्रीमिंग एक्सएमएल|अभिस्रवण एक्सएमएल]]
* [[जावा के लिए XQuery एपीआई]]
* [[जावा के लिए XQuery एपीआई]]


== बाहरी संबंध ==
== बाहरी संबंध ==
* [http://www.xml.com/pub/a/2003/09/17/stax.html Introduction to StAX] XML.com, Harold, Elliotte Rusty
* [http://www.xml.com/pub/a/2003/09/17/stax.html Introduction to स्टैक्स] एक्सएमएल.com, Harold, Elliotte Rusty
* [https://web.archive.org/web/20071212145813/http://www.vogella.de/articles/JavaXML/article.html Java Streaming API for XML (Stax) - Tutorial]
* [https://web.archive.org/web/20071212145813/http://www.vogella.de/articles/JavaXML/article.html Java Streaming एपीआई for एक्सएमएल (स्टैक्स) - Tutorial]
* [http://www.extreme.indiana.edu/~aslom/xmlpull/patterns.html XMLPull Patterns] Article on XML Pull (and StAX) design patterns by Aleksander Slominski.
* [http://www.extreme.indiana.edu/~aslom/xmlpull/patterns.html एक्सएमएलPull Patterns] Article on एक्सएमएल Pull (and स्टैक्स) design patterns by Aleksander Slominski.
* [https://howtodoinjava.com/xml/read-xml-stax-parser-cursor-iterator/ StAX Parser - Cursor & Iterator APIs] Article on Cursor & Iterator APIs by HowToDoInJava.
* [https://howtodoinjava.com/xml/read-xml-stax-parser-cursor-iterator/ स्टैक्स Parser - Cursor & Iterator एपीआईs] Article on Cursor & Iterator एपीआईs by HowToDoInJava.
 
 
{{Java EE 7}}[[Category: जावा मंच]] [[Category: एप्लिकेशन प्रोग्रामिंग इंटरफेस]] [[Category: एक्सएमएल पार्सर्स]] [[Category: जावा कोड उदाहरण के साथ लेख]]




{{Java EE 7}}


[[Category: Machine Translated Page]]
[[Category:Collapse templates]]
[[Category:Created On 14/06/2023]]
[[Category:Created On 14/06/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:एक्सएमएल पार्सर्स]]
[[Category:एप्लिकेशन प्रोग्रामिंग इंटरफेस]]
[[Category:जावा कोड उदाहरण के साथ लेख]]
[[Category:जावा मंच]]

Latest revision as of 17:31, 16 July 2023

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

परंपरागत रूप से, एक्सएमएल एपीआई है:

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

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

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

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

उत्पत्ति

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

उदाहरण

जेएसआर-173 विशिष्टता से • अंतिम, वी1.0 (उचित उपयोग के अनुसार प्रयुक्त)।

उद्धरण:

निम्नलिखित जावा एपीआई सूचक दृष्टिकोण में एक्सएमएल पढ़ने के लिए मुख्य विधियों को दिखाता है।
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 
}
एपीआई के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होती है।
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 एक्सएमएलस्ट्रीमरीडर
यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और एक्सएमएल दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए।
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); 
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(...); 
while (xmlStreamReader.hasNext()) { 
    xmlStreamReader.next(); 
}

यह भी देखें

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

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

बाहरी संबंध