स्टैक्स: Difference between revisions
(Created page with "{{Short description|Application programming interface}} XML के लिए स्ट्रीमिंग API (StAX) जावा (प्रोग्रामिंग...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[XML]] के लिए स्वृक्षमिंग API ('''StAX''') XML दस्तावेज़ों को पढ़ने और लिखने के लिए एक एप्लिकेशन प्रोग्रामिंग अंतरफलक (API) होता है, जो जावा प्रोग्रामिंग भाषा समुदाय से उत्पन्न हुआ है। | |||
[[XML]] के लिए | |||
परंपरागत रूप से, XML API | परंपरागत रूप से, XML API है: | ||
* DOM आधारित - कॉलिंग एप्लिकेशन द्वारा रैंडम एक्सेस के लिए संपूर्ण दस्तावेज़ को XML | * DOM आधारित - कॉलिंग एप्लिकेशन द्वारा रैंडम एक्सेस के लिए संपूर्ण दस्तावेज़ को XML वृक्ष संरचना के रूप में मेमोरी में पढ़ा जाता है। | ||
* | * अवसर आधारित - स्रोत दस्तावेज़ के भीतर संस्थाओं का सामना करने के लिए एप्लिकेशन अवसरों को प्राप्त करने के लिए पंजीकृत करता है। | ||
दोनों के फायदे | दोनों के फायदे है: दस्तावेज़ वस्तु नमूना, उदाहरण के लिए, दस्तावेज़ के लिए यादृच्छिक अभिगम की अनुमति देता है, और अवसर संचालित कलन विधि जैसे XML के लिए सरल [[एपीआई|API]] में एक छोटी मेमोरी फ़ुटप्रिंट होता है जो सामान्यतः बहुत तेज होता है।ka | ||
इन दो पहुँच रूपकों को ध्रुवीय विपरीत माना जा सकता है। एक | इन दो पहुँच रूपकों को ध्रुवीय विपरीत माना जा सकता है। एक वृक्ष संरचना आधारित API असीमित, रैंडम एक्सेस और हेरफेर की अनुमति देता है, जबकि एक अवसर आधारित API स्रोत दस्तावेज़ के माध्यम से 'एक शॉट' पास होता है। | ||
StAX को इन दो विपरीतताओं के बीच एक माध्यिका के रूप में डिज़ाइन किया गया था। StAX रूपक में, प्रोग्रामेटिक | StAX को इन दो विपरीतताओं के बीच एक माध्यिका के रूप में डिज़ाइन किया गया था। StAX रूपक में, प्रोग्रामेटिक प्रवेश बिंदु सूचक होता है जो दस्तावेज़ के भीतर एक बिंदु का प्रतिनिधित्व करता है। एप्लिकेशन सूचक को आगे बढ़ाता है, पार्सर से जानकारी को प्राप्त करता है। यह एक अवसर आधारित API से अलग होता है, जैसे कि SAX दस्तावेज़ के भीतर आवश्यक अवसरों के बीच स्थिति को बनाए रखने के लिए एप्लिकेशन की आवश्यकता होती है। | ||
== उत्पत्ति == | == उत्पत्ति == | ||
StAX | StAX का आधार XML का असंगत API होता है, विशेष रूप से [http://www.xmlpull.org/ XMLPULL], जिसके लेखकों (स्टीफन हौस्टीन और अलेक्जेंडर स्लोमिन्स्की) ने अन्य लोगों के अतिरिक्त, [[बीईए सिस्टम्स|BEA सिस्टम्स]], [[ओरेकल कॉर्पोरेशन|ओरेकल]], [[सन माइक्रोसिस्टम्स|सन]] और [[जेम्स क्लार्क (प्रोग्रामर)|जेम्स क्लार्क]] के साथ सहयोग किया है। | ||
== उदाहरण == | == उदाहरण == | ||
JSR-173 विशिष्टता से • अंतिम, V1.0 (उचित उपयोग के | JSR-173 विशिष्टता से • अंतिम, V1.0 (उचित उपयोग के अनुसार प्रयुक्त)। | ||
उद्धरण: | उद्धरण: | ||
: निम्नलिखित जावा | : निम्नलिखित जावा API सूचक दृष्टिकोण में XML पढ़ने के लिए मुख्य विधियों को दिखाता है। | ||
<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> | ||
: | : API के लेखन पक्ष में एसी विधियाँ होती है जो "प्रारंभिक तत्व" और "अंतिम तत्व" प्रकारों के पढ़ने वाले पक्ष के अनुरूप होते है। | ||
<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 | :5.3.1 XMLस्ट्रीमरीडर | ||
: यह उदाहरण | :यह उदाहरण दिखाता है कि इनपुट कैसे किया जाए, रीडर कैसे बनाया जाए और XML दस्तावेज़ के तत्वों पर पुनरावृति कैसे की जाए। | ||
<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), पहला मानकीकृत, भाषा/प्लेटफ़ॉर्म-स्वतंत्र | * डॉक्यूमेंट ऑब्जेक्ट मॉडल | डॉक्यूमेंट ऑब्जेक्ट मॉडल (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 एपीआई
बाहरी संबंध
- Introduction to StAX XML.com, Harold, Elliotte Rusty
- Java Streaming API for XML (Stax) - Tutorial
- XMLPull Patterns Article on XML Pull (and StAX) design patterns by Aleksander Slominski.
- StAX Parser - Cursor & Iterator APIs Article on Cursor & Iterator APIs by HowToDoInJava.