स्टैक्स: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[XML]] के लिए स्वृक्षमिंग API ('''StAX''') XML दस्तावेज़ों को पढ़ने और लिखने के लिए एक एप्लिकेशन प्रोग्रामिंग अंतरफलक (API) होता है, जो जावा प्रोग्रामिंग भाषा समुदाय से उत्पन्न हुआ है।
'''स्टैक्स''' एक्सएमएल दस्तावेज़ों को पढ़ने और लिखने के लिए एक एप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) होता है, जो जावा प्रोग्रामिंग भाषा समुदाय से उत्पन्न हुआ है।


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


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


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


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


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


उद्धरण:
उद्धरण:
: निम्नलिखित जावा API सूचक दृष्टिकोण में XML पढ़ने के लिए मुख्य विधियों को दिखाता है।
: निम्नलिखित जावा एपीआई सूचक दृष्टिकोण में एक्सएमएल पढ़ने के लिए मुख्य विधियों को दिखाता है।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
public interface XMLStreamReader {  
public interface XMLStreamReader {  
Line 28: Line 28:
}  
}  
</syntaxhighlight>
</syntaxhighlight>
: API के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होते है।
: एपीआई के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होती है।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
public interface XMLStreamWriter {  
public interface XMLStreamWriter {  
Line 37: Line 37:
}  
}  
</syntaxhighlight>
</syntaxhighlight>
:5.3.1 XMLस्ट्रीमरीडर
:5.3.1 एक्सएमएलस्ट्रीमरीडर
:यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और XML दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए।
:यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और एक्सएमएल दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए।
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();  
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();  
Line 47: Line 47:
</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:Collapse templates]]
 
[[Category: Machine Translated Page]]
[[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 एपीआई

बाहरी संबंध