ಈ ಉಪಕರಣದ ಬಗ್ಗೆ
XML ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ನೆಸ್ಟೆಡ್ ಅಂಶಗಳನ್ನು ಇಂಡೆಂಟ್ ಮಾಡುತ್ತದೆ ಆದ್ದರಿಂದ ಡಾಕ್ಯುಮೆಂಟ್ ಶ್ರೇಣಿಯು ಗೋಚರಿಸುತ್ತದೆ. ಕಾಂಪ್ಯಾಕ್ಟ್ XML - ಎಲ್ಲವೂ ಒಂದೇ ಸಾಲಿನಲ್ಲಿ - ತಾಂತ್ರಿಕವಾಗಿ ಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ಪ್ರಸರಣಕ್ಕೆ ಉಪಯುಕ್ತವಾಗಿದೆ, ಆದರೆ ಮನುಷ್ಯರಿಗೆ ಓದಲಾಗುವುದಿಲ್ಲ. ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾದ XML ಅಂಶಗಳ ನಡುವೆ ಲೈನ್ ಬ್ರೇಕ್ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಮಕ್ಕಳನ್ನು ಅವರ ಪೋಷಕರೊಳಗೆ ಇಂಡೆಂಟ್ ಮಾಡುತ್ತದೆ, ಅದನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದಾದ, ಡಿಫಬಲ್ ಮತ್ತು ಕೈಯಿಂದ ಸಂಪಾದಿಸಬಹುದಾದಂತೆ ಮಾಡುತ್ತದೆ.
ಈ ಫಾರ್ಮ್ಯಾಟರ್ DOMParser ಅನ್ನು ಬಳಸಿಕೊಂಡು ಇನ್ಪುಟ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಉತ್ತಮವಾಗಿ-ರೂಪಿಸುವಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ, ನಂತರ ಇಂಡೆಂಟ್ ಮಾಡಿದ ಔಟ್ಪುಟ್ ಅನ್ನು ಹೊರಸೂಸಲು DOM ಅನ್ನು ನಡೆಸುತ್ತದೆ. ಕಾಮೆಂಟ್ಗಳು, ಪ್ರಕ್ರಿಯೆ ಸೂಚನೆಗಳು ಮತ್ತು CDATA ವಿಭಾಗಗಳನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ. ಸ್ವಯಂ-ಮುಚ್ಚುವ ಟ್ಯಾಗ್ಗಳನ್ನು (ಮಕ್ಕಳಿಲ್ಲದವರಿಗೆ) ಒಂದೇ ಸಾಲಿನಲ್ಲಿ ಕಾಂಪ್ಯಾಕ್ಟ್ ಇರಿಸಲಾಗುತ್ತದೆ; ಮಕ್ಕಳೊಂದಿಗೆ ಟ್ಯಾಗ್ಗಳು ಮಕ್ಕಳ ಇಂಡೆಂಟ್ನೊಂದಿಗೆ ಬಹು ಸಾಲುಗಳಲ್ಲಿ ಹರಡುತ್ತವೆ.
ಎರಡು-ಸ್ಪೇಸ್ ಇಂಡೆಂಟೇಶನ್ ಡೀಫಾಲ್ಟ್ ಆಗಿದ್ದು, ಸಾಮಾನ್ಯ XML ಕನ್ವೆನ್ಶನ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟರ್ ರಿಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಬಗ್ಗೆ ಸಂಪ್ರದಾಯವಾದಿಯಾಗಿದೆ: ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ರಚನೆಯನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ, ಅಂಶಗಳ ನಡುವಿನ ವೈಟ್ಸ್ಪೇಸ್ ಮಾತ್ರ ಬದಲಾಗುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವ ಮೊದಲು ಮತ್ತು ನಂತರ ಒಂದೇ ರೀತಿಯಲ್ಲಿ ಯಾವುದೇ XML ಪಾರ್ಸರ್ ಮೂಲಕ ಡೇಟಾ ರೌಂಡ್-ಟ್ರಿಪ್ಗಳು.
ಏಕೆ ಫಾರ್ಮ್ಯಾಟ್ XML
ಕಾಂಪ್ಯಾಕ್ಟ್ XML ಅನ್ನು ಓದಲಾಗುವುದಿಲ್ಲ. SOAP ಪ್ರತಿಕ್ರಿಯೆಗಳು, RSS ಫೀಡ್ಗಳು ಮತ್ತು ಅನೇಕ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು ಏಕ-ಸಾಲಿನ XML ಆಗಿ ಆಗಮಿಸುತ್ತವೆ, ಅದು ತಾಂತ್ರಿಕವಾಗಿ ಮಾನ್ಯವಾಗಿದೆ ಆದರೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ ಅಪಾರದರ್ಶಕವಾಗಿರುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಡಾಕ್ಯುಮೆಂಟ್ ರಚನೆಯನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ, ನಿರ್ದಿಷ್ಟ ಅಂಶಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣದಲ್ಲಿ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಅರ್ಥಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.
ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಸಹ ಮಾನ್ಯತೆಯ ಪರಿಶೀಲನೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಸಮಯದಲ್ಲಿ XML ಪಾರ್ಸ್ ಮಾಡಲು ವಿಫಲವಾದರೆ, ದೋಷ ಸಂದೇಶವು ಸಮಸ್ಯೆಯನ್ನು ಗುರುತಿಸುತ್ತದೆ - ಸಾಮಾನ್ಯವಾಗಿ ಮುಚ್ಚದ ಟ್ಯಾಗ್ಗಳು, ಹೊಂದಿಕೆಯಾಗದ ಅಂಶ ಹೆಸರುಗಳು ಅಥವಾ ಅಮಾನ್ಯ ಅಕ್ಷರಗಳು. ಕಟ್ಟುನಿಟ್ಟಾದ ಗ್ರಾಹಕರಿಗೆ ಕಳುಹಿಸುವ ಮೊದಲು XML ದೋಷಗಳನ್ನು ಹಿಡಿಯುವುದು ಡೀಬಗ್ ಮಾಡುವ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ.
ತಾಂತ್ರಿಕ ವಿವರಗಳು
DOMParser XML DOM ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟರ್ ಮರದ ಆಳ-ಮೊದಲಿಗೆ ನಡೆಯುತ್ತಾನೆ, ಆರಂಭಿಕ ಟ್ಯಾಗ್ಗಳು, ಇಂಡೆಂಟ್ ಮಾಡಿದ ಮಕ್ಕಳು ಮತ್ತು ಮುಚ್ಚುವ ಟ್ಯಾಗ್ಗಳನ್ನು ಹೊರಸೂಸುತ್ತದೆ. ಆರಂಭಿಕ ಟ್ಯಾಗ್ನಲ್ಲಿ ಎಲಿಮೆಂಟ್ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ; ಗುಣಲಕ್ಷಣದ ಕ್ರಮವು ಮೂಲಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ.
ಟೆಕ್ಸ್ಟ್ ನೋಡ್ಗಳ ಒಳಗೆ ಗಮನಾರ್ಹವಾದ ಜಾಗವನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ - ಫಾರ್ಮ್ಯಾಟರ್ ವಿಷಯವನ್ನು ವೈಟ್ಸ್ಪೇಸ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಅದು ಅರ್ಥಪೂರ್ಣವಾಗಿರಬಹುದು (XML ಸ್ಪೇಸ್ ಸಂರಕ್ಷಣೆ ನಿಯಮಗಳು ಸ್ಕೀಮಾಗಳಲ್ಲಿ ಭಿನ್ನವಾಗಿರುತ್ತವೆ). ಅಂಶಗಳ ನಡುವಿನ ಅಂತರ ಮಾತ್ರ ಬದಲಾಗುತ್ತದೆ.
ಸ್ವಯಂ-ಮುಚ್ಚುವ ಅಂಶಗಳು (ಮಕ್ಕಳಿಲ್ಲ) <tag attr="val"/> ಎಂದು ಹೊರಸೂಸುತ್ತವೆ. ಕೇವಲ ಪಠ್ಯ ವಿಷಯವನ್ನು ಹೊಂದಿರುವ ಅಂಶಗಳು <tag>text</tag> ಎಂದು ಹೊರಸೂಸುತ್ತವೆ. ಎಲಿಮೆಂಟ್ ಮಕ್ಕಳೊಂದಿಗೆ ಅಂಶಗಳು ಇಂಡೆಂಟ್ ಮಾಡಿದ ಮಕ್ಕಳೊಂದಿಗೆ ಬಹು ಸಾಲುಗಳಲ್ಲಿ ಹೊರಸೂಸುತ್ತವೆ. CDATA ವಿಭಾಗಗಳು, ಕಾಮೆಂಟ್ಗಳು ಮತ್ತು ಸಂಸ್ಕರಣಾ ಸೂಚನೆಗಳು ಅವುಗಳ ಮೂಲ ಡಿಲಿಮಿಟರ್ಗಳು ಮತ್ತು ವಿಷಯದೊಂದಿಗೆ ಹೊರಸೂಸುತ್ತವೆ.
ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು
- ಇದು ಯಾವ XML ದೋಷಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ?
- ಉಪಕರಣವು ಮುಚ್ಚದ ಟ್ಯಾಗ್ಗಳು, ಹೊಂದಿಕೆಯಾಗದ ತೆರೆಯುವಿಕೆ/ಮುಚ್ಚುವ ಟ್ಯಾಗ್ಗಳು, ಅಮಾನ್ಯವಾದ ಅಕ್ಷರ ಉಲ್ಲೇಖಗಳು, ಕಾಣೆಯಾದ ಮೂಲ ಅಂಶಗಳು, ದೋಷಪೂರಿತ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ಎನ್ಕೋಡಿಂಗ್ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ. ದೋಷ ಸಂದೇಶಗಳು ನಿಮಗೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಹಾಯ ಮಾಡಲು ಸಾಲು ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ.
- ಫಾರ್ಮ್ಯಾಟಿಂಗ್ XML ವಿಷಯವನ್ನು ಬದಲಾಯಿಸುತ್ತದೆಯೇ?
- ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಅಂಶಗಳ ನಡುವೆ ವೈಟ್ಸ್ಪೇಸ್ ಮತ್ತು ಇಂಡೆಂಟೇಶನ್ ಅನ್ನು ಮಾತ್ರ ಸರಿಹೊಂದಿಸುತ್ತದೆ. ಅಂಶದ ವಿಷಯ, ಗುಣಲಕ್ಷಣಗಳು, CDATA ವಿಭಾಗಗಳು ಮತ್ತು ಪ್ರಕ್ರಿಯೆ ಸೂಚನೆಗಳನ್ನು ನಮೂದಿಸಿದಂತೆ ನಿಖರವಾಗಿ ಸಂರಕ್ಷಿಸಲಾಗಿದೆ.
- ಇದು ದೊಡ್ಡ XML ಫೈಲ್ಗಳನ್ನು ನಿಭಾಯಿಸಬಹುದೇ?
- ಉಪಕರಣವು ಬ್ರೌಸರ್ನಲ್ಲಿ ಹಲವಾರು ಮೆಗಾಬೈಟ್ಗಳವರೆಗೆ ಫೈಲ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಅತಿ ದೊಡ್ಡ XML ಡಾಕ್ಯುಮೆಂಟ್ಗಳಿಗಾಗಿ (50MB+), ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ xmllint ನಂತಹ ಕಮಾಂಡ್-ಲೈನ್ ಪರಿಕರಗಳನ್ನು ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಿ.
- ಇದು XML ನೇಮ್ಸ್ಪೇಸ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆಯೇ?
- ಹೌದು. ಫಾರ್ಮ್ಯಾಟರ್ ನೇಮ್ಸ್ಪೇಸ್ ಘೋಷಣೆಗಳನ್ನು (xmlns), ಪೂರ್ವಪ್ರತ್ಯಯ ಮಾಡಿದ ಅಂಶಗಳು ಮತ್ತು ಡೀಫಾಲ್ಟ್ ನೇಮ್ಸ್ಪೇಸ್ಗಳನ್ನು ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸುತ್ತದೆ. ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿದ ಔಟ್ಪುಟ್ನಲ್ಲಿ ನೇಮ್ಸ್ಪೇಸ್ಗಳನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ.
- ನಾಮಸ್ಥಳಗಳನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆಯೇ?
- ಹೌದು. xmlns ಮತ್ತು xmlns: ಪೂರ್ವಪ್ರತ್ಯಯ ಗುಣಲಕ್ಷಣಗಳು ಮೂಲದಲ್ಲಿ ಕಂಡುಬರುವ ಅಂಶಗಳ ಮೇಲೆ ಸಂರಕ್ಷಿಸಲ್ಪಡುತ್ತವೆ.
- ನಾನು XML ಅನ್ನು ಒಂದೇ ಸಾಲಿಗೆ ಕಡಿಮೆ ಮಾಡಬಹುದೇ?
- ಕೆಲವು XML ಫಾರ್ಮ್ಯಾಟರ್ಗಳು ಮಿನಿಫಿಕೇಶನ್ ಅನ್ನು ನೀಡುತ್ತವೆ. ಈ ಉಪಕರಣವು ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ; ರಿಜೆಕ್ಸ್ ಅಥವಾ ಡೆಡಿಕೇಟೆಡ್ ಟೂಲ್ನೊಂದಿಗೆ ಅಂಶಗಳ ನಡುವಿನ ಜಾಗವನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ ಮಿನಿಫೈಡ್ XML ಅನ್ನು ಉತ್ಪಾದಿಸಬಹುದು.
- ನನ್ನ XML ಅನ್ನು ಸರ್ವರ್ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಲಾಗಿದೆಯೇ?
- ಇಲ್ಲ. ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ DOMParser ರನ್ ಆಗುತ್ತದೆ; ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ಫಾರ್ಮ್ಯಾಟರ್ ರನ್ ಆಗುತ್ತದೆ.
- ಪಠ್ಯ ನೋಡ್ಗಳ ಒಳಗಿನ ಜಾಗವು ಬದಲಾಗುತ್ತದೆಯೇ?
- ಇಲ್ಲ. ಪಠ್ಯ-ನೋಡ್ ವೈಟ್ಸ್ಪೇಸ್ ಅನ್ನು ಸಂರಕ್ಷಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ XML ಸ್ಪೇಸ್-ಸಂರಕ್ಷಣಾ ನಿಯಮಗಳು ಸ್ಕೀಮಾದಿಂದ ಬದಲಾಗುತ್ತವೆ. ಫಾರ್ಮ್ಯಾಟರ್ ಇಂಟರ್-ಎಲಿಮೆಂಟ್ ವೈಟ್ಸ್ಪೇಸ್ ಅನ್ನು ಮಾತ್ರ ಬದಲಾಯಿಸುತ್ತದೆ.