§

XML పేస్ట్ చేయండి

§

ఆప్షన్లు

మోడ్
ఇండెంట్
XML డిక్లరేషన్
స్వయం-మూసే శూన్య ట్యాగ్‌లు
§

ఫార్మాట్ చేసిన అవుట్‌పుట్

xml

నిర్మిత XML డాక్యుమెంట్‌లు మానవ కళ్ళను దాటే చోటల్లా XML ప్రెట్టీ-ప్రింటింగ్ ప్రయోజనకరంగా ఉంటుంది: RSS ఫీడ్‌లు పాడ్‌కాస్ట్ క్లయింట్లు వినియోగిస్తాయి; OOXML ప్రతి Microsoft Word, Excel, మరియు PowerPoint ఫైల్ లోపల XML హృదయంలో ఉంది; Google మరియు Bing రోజువారీ క్రాల్ చేసే sitemap.xml ఫైళ్ళు XML ఉపయోగిస్తాయి. తెలంగాణ మరియు ఆంధ్రప్రదేశ్ లోని ఎంటర్‌ప్రైజ్ సిస్టమ్‌లు SOAP-ఆధారిత వెబ్ సర్వీసులు ఇంకా ఉపయోగిస్తాయి. Maven POM ఫైళ్ళు, Gradle XML బిల్డ్ స్క్రిప్ట్‌లు, మరియు SVG వెక్టర్ ఆస్తులు అన్నీ pull request లో diff చేసినప్పుడు క్లీన్ ఇండెంటేషన్ నుండి ప్రయోజనం పొందుతాయి.

XML ఫార్మాటింగ్ అంటే ఏమిటి?

XML (Extensible Markup Language) అనేది structured డాక్యుమెంట్లు మరియు data interchange కోసం W3C-standardised టెక్స్ట్ ఫార్మాట్. ఫార్మాటింగ్ — pretty-printing లేదా beautifying అని కూడా అంటారు — well-formed XML సోర్స్ తీసుకుని ప్రతి ఎలిమెంట్, అట్రిబ్యూట్, కామెంట్, ప్రాసెసింగ్ ఇన్‌స్ట్రక్షన్, మరియు CDATA సెక్షన్ స్కాన్ చేయడానికి సులభంగా ఉండేలా రీ-ఇండెంట్ చేస్తుంది. పార్స్ చేసిన డాక్యుమెంట్ ట్రీ ఖచ్చితంగా భద్రపరచబడుతుంది; ఎలిమెంట్ల మధ్య వైట్‌స్పేస్ మాత్రమే మారుతుంది.

XML ఫార్మాటింగ్ ఎలా పనిచేస్తుంది?

మీ ఇన్‌పుట్ నేటివ్ DOMParser మరియు XMLSerializer APIs అలాగే కస్టమ్ recursive ఇండెంటర్ ఉపయోగించి పూర్తిగా మీ బ్రౌజర్‌లో ప్రాసెస్ చేయబడుతుంది. హై-లెవల్ దశలు:

  1. మీ ఇన్‌పుట్ textarea నుండి యథాతథంగా చదవబడుతుంది — మీరు పేస్ట్ చేసిన ప్రతి బైట్ స్థానికంగా మెమరీలో ఉంచబడుతుంది.
  2. బ్రౌజర్ దాన్ని new DOMParser().parseFromString(text, 'application/xml') తో పార్స్ చేస్తుంది. ఇన్‌పుట్ well-formed కాకపోతే, పార్సర్ లైన్ మరియు కాలమ్ హింట్లు కలిగిన ఇంజిన్ సందేశం తీసుకువెళ్ళే <parsererror> నోడ్ ఎంబెడ్ చేస్తుంది — అవి error strip లో యథాతథంగా చూపబడతాయి.
  3. విజయవంతమైన పార్స్‌పై, కస్టమ్ ఇండెంటర్ DOM ట్రీ depth-first నడుస్తుంది, ప్రతి ఎలిమెంట్, అట్రిబ్యూట్ సెట్, CDATA సెక్షన్, కామెంట్, మరియు ప్రాసెసింగ్ ఇన్‌స్ట్రక్షన్ ప్రస్తుత depth లో తన సొంత లైన్‌పై emit చేస్తుంది. ఆప్షన్ ఆన్ ఉన్నప్పుడు self-closing void tags గౌరవించబడతాయి.
  4. Minify మోడ్ పైప్‌లైన్ ఫ్లిప్ చేస్తుంది: XMLSerializer().serializeToString(doc) సింగిల్-లైన్ ఫారమ్ emit చేస్తుంది, ఆపై guarded regex CDATA బ్లాక్‌ల లేదా నాన్-వైట్‌స్పేస్ టెక్స్ట్ నోడ్‌ల లోపల టెక్స్ట్ తాకకుండా ఎలిమెంట్ల మధ్య వైట్‌స్పేస్ స్ట్రిప్ చేస్తుంది.
  5. అవుట్‌పుట్ readonly textarea కి రాయబడుతుంది, error strip క్లియర్ చేయబడుతుంది, మరియు డౌన్‌లోడ్ బటన్ ఫలితాన్ని మీరు షిప్ లేదా ticket కు attach చేయగలిగే .xml ఫైల్‌గా package చేస్తుంది.

ఈ టూల్‌తో XML ప్రెట్టీ-ప్రింట్ ఎందుకు చేయాలి?

  • గోప్యత: ప్రతి పార్స్, ఫార్మాట్, మరియు మినిఫై పాస్ మీ బ్రౌజర్‌లో జరుగుతుంది. XML ఎప్పుడూ మా సర్వర్‌లకు చేరదు — అప్‌లోడ్ లేదు, టెలిమెట్రీ లేదు, అకౌంట్ లేదు.
  • ఖచ్చితమైన లోపాలు: ఇన్‌పుట్ malformed అయినప్పుడు, పార్సర్ బ్రౌజర్ ఇంజిన్ నేరుగా రిపోర్ట్ చేసే సరైన లైన్ మరియు కాలమ్ చూపిస్తుంది, synthetic guess కాదు — DevTools లో మీరు చూసే అదే నంబర్లు.
  • Faithful రౌండ్-ట్రిప్: ఫార్మాట్ చేసి మినిఫై చేస్తే మీ అసలు డాక్యుమెంట్ byte-equivalent తిరిగి వస్తుంది (XML declaration ఆప్షన్ మినహా) — ఫార్మాటింగ్ ఎప్పుడూ namespaces రీ-కానానికలైజ్ లేదా అట్రిబ్యూట్ ఆర్డర్ రీరైట్ చేయదు.
  • వేగంగా: pure DOMParser అలాగే ~60-లైన్ ఇండెంటర్ వెండర్ లైబ్రరీ డౌన్‌లోడ్ లేకుండా multi-megabyte SOAP ఎన్వలప్‌లు మరియు OOXML చంక్‌లు తక్షణంగా హ్యాండిల్ చేస్తాయి.

XML ఫార్మాటింగ్ సాధారణ అప్లికేషన్లు ఏమిటి?

XML ప్రెట్టీ-ప్రింటింగ్ వెబ్ పబ్లిషింగ్, ఎంటర్‌ప్రైజ్ ఇంటిగ్రేషన్, మరియు data archival అంతటా కనిపిస్తుంది:

  • RSS / Atom ఫీడ్ తనిఖీ: పబ్లిష్ చేయడానికి ముందు channel metadata, item ordering, మరియు namespace prefixes నిర్ధారించడానికి పాడ్‌కాస్ట్ లేదా న్యూస్ ఫీడ్ బాడీ పేస్ట్ చేయండి.
  • SOAP డీబగ్గింగ్: Wireshark లేదా SOAP క్లయింట్ లాగ్ నుండి కాపీ చేసిన ఎన్వలప్ ఫార్మాట్ చేయండి, తద్వారా Header, Body, మరియు Fault సెక్షన్లు ఒక్క చూపులో కనిపిస్తాయి.
  • Sitemap ఆడిటింగ్: competitor లేదా మీ స్వంత staging సైట్ నుండి fetch చేసిన sitemap.xml రీ-ఇండెంట్ చేసి entries లెక్కించండి మరియు URL వారీగా hreflang alternates నిర్ధారించండి.

XML ఫార్మాటింగ్ ఉదాహరణ ఎలా ఉంటుంది?

3-ఎలిమెంట్ <feed><entry><title>Hello</title></entry></feed> పేస్ట్ చేసి 2-స్పేస్ ఇండెంట్ ఆప్షన్‌తో ఫార్మాట్ చేయండి నొక్కడం ప్రతి ఎలిమెంట్ తన సొంత లైన్‌పై depth ప్రకారం ఇండెంట్ చేయబడిన నాలుగు-లైన్ డాక్యుమెంట్ ఇస్తుంది. అదే ఇన్‌పుట్‌పై Minify కి మారడం దాన్ని అసలు byte-string కి తిరిగి collapse చేస్తుంది. రౌండ్-ట్రిప్పింగ్ ఏ well-formed డాక్యుమెంట్ కోసం అయినా loss-free.

ఇది ఆఫ్‌లైన్‌లో నడుస్తుందా?

అవును. ఫార్మాట్ మరియు మినిఫై పైప్‌లైన్ pure DOMParser + XMLSerializer అలాగే బ్రౌజర్ ట్యాబ్‌లో నడుస్తున్న చిన్న recursive ఇండెంటర్. ఏదీ అప్‌లోడ్ కాదు, సర్వీస్ వర్కర్ ఏదీ మీ ఇన్‌పుట్ ప్రాక్సీ చేయదు, మరియు పేజీ ఫార్మాట్ దశకే శూన్య నెట్‌వర్క్ రిక్వెస్ట్‌లు చేస్తుంది. మీ XML ఎప్పుడూ Ultim8Soft చేరదు.

ఫార్మాటింగ్ డాక్యుమెంట్ మారుస్తుందా?

సెమాంటిక్ మార్పు లేదు. ఫార్మాటింగ్ ఎలిమెంట్ల మధ్య వైట్‌స్పేస్ మాత్రమే రీరైట్ చేస్తుంది. ఎలిమెంట్ పేర్లు, అట్రిబ్యూట్ విలువలు, టెక్స్ట్ కంటెంట్, CDATA పేలోడ్‌లు, కామెంట్‌లు, మరియు ప్రాసెసింగ్ ఇన్‌స్ట్రక్షన్లు byte-for-byte భద్రపరచబడతాయి. Namespace declarations మరియు prefixes ఇన్‌పుట్ రాసినట్లే ఉంచబడతాయి — ఫార్మాటర్ అట్రిబ్యూట్‌లు రీ-కానానికలైజ్ లేదా రీఆర్డర్ చేయదు.

CDATA / కామెంట్‌లు / ప్రాసెసింగ్ ఇన్‌స్ట్రక్షన్లు ఎలా హ్యాండిల్ చేయబడతాయి?

ప్రతిదీ ప్రస్తుత ఇండెంట్ depth లో తన సొంత లైన్‌పై యథాతథంగా emit చేయబడుతుంది. CDATA పేలోడ్‌లు లోపల రీ-ఇండెంటేషన్ లేకుండా <![CDATA[…]]> లో wrap చేయబడతాయి — spec CDATA కంటెంట్ opaque అని చెప్తుంది, కాబట్టి ఫార్మాటర్ దాన్ని ఎప్పుడూ తాకదు. కామెంట్‌లు <!-- … --> ఉపయోగిస్తాయి; ప్రాసెసింగ్ ఇన్‌స్ట్రక్షన్లు <?target data?> ఉపయోగిస్తాయి.

XML ఫార్మాటింగ్ మరియు మినిఫైయింగ్ మధ్య తేడా ఏమిటి?

ఫార్మాటింగ్ మానవులు డాక్యుమెంట్ ట్రీ చదవగలిగేలా వైట్‌స్పేస్ expand చేస్తుంది; మినిఫైయింగ్ transport మరియు storage కోసం దాన్ని తిరిగి strip చేస్తుంది. రెండూ పార్స్ చేసిన DOM లో ఆపరేట్ చేస్తాయి, రా byte string లో కాదు. XML పేలోడ్ చదవాల్సి లేదా diff చేయాల్సిన అవసరమైనప్పుడు ఫార్మాట్ దిశ ఉపయోగించండి, మీటర్డ్ API gateway మీదుగా షిప్ చేయాలంటే మినిఫై దిశ ఉపయోగించండి.

ఈ XML ఫార్మాటర్ మీ బ్రౌజర్ AJAX XHR రెస్పాన్స్‌లు మరియు SVG డాక్యుమెంట్లకు ఉపయోగించే అదే పార్సర్ ఉపయోగిస్తుంది, కాబట్టి ఏ well-formed XML అయినా — RSS, Atom, SOAP, sitemap, OOXML, SVG — క్లీన్‌గా రౌండ్-ట్రిప్ అవుతుంది. పైన ఏ XML అయినా పేస్ట్ చేయండి, అవుట్‌పుట్ కాపీ చేయండి, లేదా .xml గా డౌన్‌లోడ్ చేయండి.