StAX
ಎಕ್ಸ್ಎಂಎಲ್ (ಸ್ಟ್ಯಾಕ್ಸ್) ಗಾಗಿ ಸ್ಟ್ರೀಮಿಂಗ್ ಎಪಿಐ ಎಂಬುದು ಜಾವಾ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷಾ ಸಮುದಾಯದಿಂದ ಹುಟ್ಟಿಕೊಂಡ ಎಕ್ಸ್ಎಂಎಲ್ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಓದಲು ಮತ್ತು ಬರೆಯಲು ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ (ಎಪಿಐ) ಆಗಿದೆ. ಸಾಂಪ್ರದಾಯಿಕವಾಗಿ, ಎಕ್ಸ್ಎಂಎಲ್ ಎಪಿಐಗಳು ಎರಡೂ ಆಗಿರುತ್ತವೆಃ ಡಿಒಎಂ ಆಧಾರಿತ-ಇಡೀ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಕರೆ ಮಾಡುವ ಅಪ್ಲಿಕೇಶನ್ ಈವೆಂಟ್ ಆಧಾರಿತ ಯಾದೃಚ್ಛಿಕ ಪ್ರವೇಶಕ್ಕಾಗಿ ಮರದ ರಚನೆಯಾಗಿ ಮೆಮೊರಿಯಲ್ಲಿ ಓದಲಾಗುತ್ತದೆ-ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ನಲ್ಲಿ ಘಟಕಗಳು ಎದುರಾದಂತೆ ಈವೆಂಟ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಅಪ್ಲಿಕೇಶನ್ ನೋಂದಾಯಿಸುತ್ತದೆ. ಇವೆರಡೂ ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿವೆಃ ಉದಾಹರಣೆಗೆ, ಡಿಓಎಂ, ಡಾಕ್ಯುಮೆಂಟ್ಗೆ ಯಾದೃಚ್ಛಿಕ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಮತ್ತು ಎಸ್ಎಎಕ್ಸ್ನಂತಹ ಈವೆಂಟ್ ಚಾಲಿತ ಅಲ್ಗಾರಿದಮ್ ಸಣ್ಣ ಮೆಮೊರಿ ಹೆಜ್ಜೆಗುರುತನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚು ವೇಗವಾಗಿರುತ್ತದೆ. ಈ ಎರಡು ಪ್ರವೇಶ ರೂಪಕಗಳನ್ನು ಧ್ರುವೀಯ ವಿರೋಧಿಗಳೆಂದು ಪರಿಗಣಿಸಬಹುದು. ಟ್ರೀ ಆಧಾರಿತ ಎಪಿಐ ಅನಿಯಮಿತ, ಯಾದೃಚ್ಛಿಕ ಪ್ರವೇಶ ಮತ್ತು ಕುಶಲತೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಈವೆಂಟ್ ಆಧಾರಿತ ಎಪಿಐ ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ ಮೂಲಕ ಹಾದುಹೋಗುವ 'ಒನ್ ಶಾಟ್' ಆಗಿದೆ. ಸ್ಟ್ಯಾಕ್ಸ್ಅನ್ನು ಈ ಎರಡು ವಿರುದ್ಧಗಳ ನಡುವಿನ ಮಧ್ಯವರ್ತಿಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಸ್ಟ್ಯಾಕ್ಸ್ ರೂಪಕದಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್ ಪ್ರವೇಶ ಬಿಂದುವು ಡಾಕ್ಯುಮೆಂಟ್ನೊಳಗಿನ ಬಿಂದುವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಕರ್ಸರ್ ಆಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್ ಕರ್ಸರ್ ಅನ್ನು ಮುಂದಕ್ಕೆ ಚಲಿಸುತ್ತದೆ-ಪಾರ್ಸರ್ನಿಂದ ಅಗತ್ಯವಿರುವಂತೆ ಮಾಹಿತಿಯನ್ನು 'ಎಳೆಯುತ್ತದೆ'. ಇದು ಈವೆಂಟ್ ಆಧಾರಿತ ಎಪಿಐಗಿಂತ ಭಿನ್ನವಾಗಿದೆ-ಉದಾಹರಣೆಗೆ ಎಸ್ಎಎಕ್ಸ್-ಇದು ಡೇಟಾವನ್ನು ಅಪ್ಲಿಕೇಶನ್ಗೆ 'ತಳ್ಳುತ್ತದೆ'-ಡಾಕ್ಯುಮೆಂಟ್ನೊಳಗಿನ ಸ್ಥಳವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಅಗತ್ಯವಾದ ಘಟನೆಗಳ ನಡುವೆ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಅಪ್ಲಿಕೇಶನ್ ಅಗತ್ಯವಿರುತ್ತದೆ. ಒರಿಜಿನ್ಸ್ ಸ್ಟ್ಯಾಕ್ಸ್ ಎಕ್ಸ್ಎಂಎಲ್ಗಾಗಿ ಹಲವಾರು ಹೊಂದಾಣಿಕೆಯಾಗದ ಪುಲ್ ಎಪಿಐಗಳಲ್ಲಿ ತನ್ನ ಬೇರುಗಳನ್ನು ಹೊಂದಿದೆ, ಮುಖ್ಯವಾಗಿ ಎಕ್ಸ್ಎಂಎಲ್ಪಿಯುಎಲ್ಎಲ್, ಅದರ ಲೇಖಕರು (ಸ್ಟೀಫನ್ ಹೌಸ್ಟೀನ್ ಮತ್ತು ಅಲೆಕ್ಸಾಂಡರ್ ಸ್ಲೋಮಿನ್ಸ್ಕಿ) ಇತರರಲ್ಲಿ, ಬಿಇಎ ಸಿಸ್ಟಮ್ಸ್, ಒರಾಕಲ್, ಸನ್ ಮತ್ತು ಜೇಮ್ಸ್ ಕ್ಲಾರ್ಕ್ ಅವರೊಂದಿಗೆ ಸಹಕರಿಸಿದ್ದಾರೆ. ಜೆಎಸ್ಆರ್-173 ನಿರ್ದಿಷ್ಟತೆಯಿಂದ ಉದಾಹರಣೆಗಳು ಅಂತಿಮ, ವಿ1 (ನ್ಯಾಯೋಚಿತ ಬಳಕೆಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ). ಈ ಕೆಳಗಿನ ಜಾವಾ ಎಪಿಐ ಕರ್ಸರ್ ವಿಧಾನದಲ್ಲಿ ಎಕ್ಸ್ಎಂಎಲ್ ಅನ್ನು ಓದುವ ಮುಖ್ಯ ವಿಧಾನಗಳನ್ನು ತೋರಿಸುತ್ತದೆ. ಸಾರ್ವಜನಿಕ ಇಂಟರ್ಫೇಸ್ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ ರೀಡರ್ (ಪಬ್ಲಿಕ್ ಇಂಟ್ ನೆಕ್ಸ್ಟ್ () ಥ್ರೋಸ್ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ಎಕ್ಸೆಪ್ಶನ್; ಸಾರ್ವಜನಿಕ ಬೂಲಿಯನ್ಗೆ ನೆಕ್ಸ್ಟ್ () ಥ್ರೋಸ್ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ಎಕ್ಸೆಪ್ಶನ್; ಸಾರ್ವಜನಿಕ ಸ್ಟ್ರಿಂಗ್ ಗೆಟ್ಟೆಕ್ಸ್ಟ್ (); ಸಾರ್ವಜನಿಕ ಸ್ಟ್ರಿಂಗ್ ಗೆಟ್ಲೋಕಲ್ ನೇಮ್ (); ಸಾರ್ವಜನಿಕ ಸ್ಟ್ರಿಂಗ್ ಗೆಟ್ನೇಮ್ಸ್ಪೇಸ್ಯುರಿ ();// ತೋರಿಸದ ಇತರ ವಿಧಾನಗಳು) ಎಪಿಐನ ಬರವಣಿಗೆಯ ಭಾಗವು "ಸ್ಟಾರ್ಟ್ಎಲೆಮೆಂಟ್" ಮತ್ತು "ಎಂಡ್ಎಲೆಮೆಂಟ್" ಈವೆಂಟ್ ಪ್ರಕಾರಗಳಿಗೆ ಓದುವ ಭಾಗಕ್ಕೆ ಅನುಗುಣವಾದ ವಿಧಾನಗಳನ್ನು ಹೊಂದಿದೆ. ಸಾರ್ವಜನಿಕ ಇಂಟರ್ಫೇಸ್ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ ರೈಟರ್ {ಸಾರ್ವಜನಿಕ ಶೂನ್ಯ ಬರಹ ಸ್ಟಾರ್ಟ್ಎಲೆಮೆಂಟ್ (ಸ್ಟ್ರಿಂಗ್ ಲೋಕಲ್ ನೇಮ್) ಎಸೆಯುತ್ತದೆ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ಎಕ್ಸೆಪ್ಶನ್; ಸಾರ್ವಜನಿಕ ಶೂನ್ಯ ಬರಹ ಎಂಡ್ಎಲೆಮೆಂಟ್ () ಎಸೆಯುತ್ತದೆ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ಎಕ್ಸೆಪ್ಶನ್; ಸಾರ್ವಜನಿಕ ಶೂನ್ಯ ಬರಹ ಅಕ್ಷರಗಳು (ಸ್ಟ್ರಿಂಗ್ ಪಠ್ಯ) ಎಸೆಯುತ್ತವೆ ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ಎಕ್ಸೆಪ್ಶನ್;// ತೋರಿಸದ ಇತರ ವಿಧಾನಗಳು) 5.3.1 ಎಕ್ಸ್ಎಂಎಲ್ಸ್ಟ್ರೀಮ್ ರೀಡರ್ ಈ ಉದಾಹರಣೆಯು ಇನ್ಪುಟ್ ಫ್ಯಾಕ್ಟರಿಯನ್ನು ತ್ವರಿತಗೊಳಿಸುವುದು, ರೀಡರ್ ಅನ್ನು ರಚಿಸುವುದು ಮತ್ತು ಎಕ್ಸ್ಎಂಎಲ್ ಡಾಕ್ಯುಮೆಂಟ್ನ ಅಂಶಗಳ ಮೇಲೆ ಪುನರಾವರ್ತಿಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. XMLಇನ್ಪುಟ್ ಫ್ಯಾಕ್ಟರಿ xMLಇನ್ಪುಟ್ ಫ್ಯಾಕ್ಟರಿ = XMLInputFactory.newInstance (); XML ಸ್ಟ್ರೀಮ್ ರೀಡರ್ xML ಸ್ಟ್ರೀಮ್ ರೀಡರ್ = xmlInputFactory.createXMLStreamReader (.); ಆದರೆ (xmlStreamReader.hasNext ()) {xmlStreamReader.next ();} ಜಾವಾದಲ್ಲಿ XML ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸ್ಪರ್ಧಾತ್ಮಕ ಮತ್ತು ಪೂರಕ ಮಾರ್ಗಗಳನ್ನು ಸಹ ನೋಡಿ (ಕ್ರಮವು ಪರಿಚಯದ ಆರಂಭಿಕ ದಿನಾಂಕವನ್ನು ಸಡಿಲವಾಗಿ ಆಧರಿಸಿದೆ): ಡಾಕ್ಯುಮೆಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ (ಡಿಒಎಂ), ಮೊದಲ ಪ್ರಮಾಣೀಕೃತ, ಭಾಷೆ/ಪ್ಲಾಟ್ಫಾರ್ಮ್-ಸ್ವತಂತ್ರ ಮರ-ಆಧಾರಿತ ಎಕ್ಸ್ಎಂಎಲ್ ಸಂಸ್ಕರಣಾ ಮಾದರಿ; ಪರ್ಯಾಯ ಜಾವಾ ಮರ ಮಾದರಿಗಳಲ್ಲಿ ಜೆಡಿಒಎಂ, ಡೋಮ್ 4 ಜೆ, ಮತ್ತು ಎಕ್ಸ್ಎಂಎಲ್ (ಎಸ್ಎಎಕ್ಸ್) ಗಾಗಿ ಸರಳ ಎಪಿಐ, ಪ್ರಮಾಣಿತ ಎಕ್ಸ್ಎಂಎಲ್ ಪುಶ್ ಎಪಿಐ ಜಾವಾ ಎಕ್ಸ್ಎಂಎಲ್ ಬೈಂಡಿಂಗ್ ಸೇರಿವೆ. ಜಾವಾಗಾಗಿ ಸ್ಟ್ರೀಮಿಂಗ್ XML XQuery API ಬಾಹ್ಯ ಕೊಂಡಿಗಳು StAX XML.com, ಹೆರಾಲ್ಡ್, ಎಲಿಯಟ್ ರಸ್ಟಿ ಜಾವಾ ಸ್ಟ್ರೀಮಿಂಗ್ API ಫಾರ್ XML (ಸ್ಟ್ಯಾಕ್ಸ್)-ಅಲೆಕ್ಸಾಂಡರ್ ಸ್ಲೋಮಿನ್ಸ್ಕಿ ಅವರಿಂದ XML ಪುಲ್ (ಮತ್ತು ಸ್ಟ್ಯಾಕ್ಸ್) ವಿನ್ಯಾಸ ಮಾದರಿಗಳ ಕುರಿತು ಟ್ಯುಟೋರಿಯಲ್ XMLPul ಪ್ಯಾಟರ್ನ್ಸ್ ಲೇಖನ. ಸ್ಟ್ಯಾಕ್ಸ್ ಪಾರ್ಸರ್-ಕರ್ಸರ್ ಮತ್ತು ಇಟರೇಟರ್ ಎಪಿಐಗಳ ಲೇಖನವು ಹೌ ಟು ಡುಇನ್ಜಾವಾದಿಂದ ಕರ್ಸರ್ ಮತ್ತು ಇಟರೇಟರ್ ಎಪಿಐಗಳ ಕುರಿತಾಗಿದೆ. ಜಾವಾ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ಗಳು XML ಪಾರ್ಸರ್ಗಳು ಉದಾಹರಣೆಗೆ ಜಾವಾ ಕೋಡ್ನೊಂದಿಗೆ ಲೇಖನಗಳು