XML at HTML Formatter

[ INAYOS ]
<article class="post"> <h1> Title </h1> <p> Some <em> markup </em> with a <br> break. </p> <pre> indented code stays</pre> <ul> <li> one </li> <li> two </li> </ul> <!-- a comment --> </article>
16 tags · 0 problems
Mga tag16
Problema0
Mga karakter276
This formats; it does not validate. Well-formedness against the full specification — entities, namespaces, doctypes — is a larger claim than indenting a document supports. The structural faults below are the ones it genuinely detects.
The contents of pre, textarea, script and style were left exactly as they were. Whitespace is part of the content there — re-indenting a pre block destroys a code sample, and a textarea gains leading spaces in its value.
Void elements such as br, img and input have no closing tag and are not indented into. Treating one as an opening tag pushes everything after it one level deeper for the rest of the document, which is the commonest way a hand-written formatter goes wrong.
[ ANO ITO ]

Nagpapaayos ito, hindi nagbe-validate, at nakasulat iyon sa pahina. Ang pagsasabing "valid" dahil lang nagawa nitong i-indent ang dokumento ay pagsasabi ng bagay na hindi nito alam.

May mga elementong bahagi ng nilalaman ang espasyo: ang pre, textarea, script at style. Ang pag-indent ulit sa loob ng pre ay sumisira sa code sample; ang textarea ay nagkakaroon ng espasyo sa unahan ng halaga nito. Hindi ginagalaw ang apat.

Ang void element ay walang pansarang tag. Kapag itinuring na pambukas ang <br>, lahat ng susunod ay lumalalim ng isang antas habambuhay — ito ang pinakakitang-kitang pagkabigo ng sulat-kamay na formatter.

At hindi ito nagpa-parse tungo sa puno. Ang round trip sa puno ay nagtatanggal ng komento, CDATA at kakaibang doctype. Token stream ito: lahat ng pumasok ay lumalabas.

[ MGA TANONG ]

Pinapatunayan ba nito ang XML o HTML ko?

Hindi, at sinasabi iyon sa pahina. Ang pagpapatunay ay pagsusuri laban sa buong espesipikasyon — entity, DTD, namespace, deklarasyon ng encoding — at ang tool na nag-uulat ng “wasto” dahil nagawa nitong i-indent ang dokumento ay nagsabi sa iyo ng bagay na hindi nito alam. Ang iniuulat nito ay ang iisang uri ng depektong talagang natutuklasan nito: ang tag na hindi nagsasara, at ang saradong tag na walang katugma.

Bakit hindi ginagalaw ang <pre> block ko?

Dahil nilalaman ang espasyo sa loob nito, hindi pormat. Ang pag-indent muli sa pre block ay sumisira sa halimbawang code na nasa loob nito, at ang textarea na ganoon din ang pagtrato ay nagkakaroon ng espasyo sa unahan ng halaga nito. Iniiwan ang script at style sa parehong dahilan. Ang apat na elementong iyon ay dumaraan nang eksakto sa pagkakadating nila.

Bakit may mga formatter na nag-iindent nang mas malalim sa lahat ng kasunod ng <br>?

Dahil itinuturing nila itong pambungad na tag. Ang void element — br, img, input, hr, meta, link at iba pa — ay walang saradong tag sa HTML, kaya walang nagbabalik sa indent palabas, at habang-buhay na gumagapang pakanan ang natitirang dokumento. Ito ang pinakanakikitang paraan ng pagpalya ng kinamay na formatter, at alam ng isang ito ang listahan.

Mawawala ba nito ang komento o doctype ko?

Hindi. Hindi ito nagpaparse patungo sa puno at naglalabas muli, at iyon ang nagbabagsak sa anumang hindi ginaya ng parser — komento, processing instruction, CDATA, hindi pangkaraniwang doctype. Sa daloy ng token ito gumagana: ang bawat token na pumapasok ay lumalabas, at ang espasyo sa pagitan nila lang ang nagbabago. Ang formatter na tahimik na nagbubura ng bahagi ng dokumento ay mas malala kaysa sa isang nag-iiwan ng kakaibang indent.

Bakit may lumalabas pa rin itong output para sa sirang dokumento?

Dahil walang silbi ang pagtanggi sa taong sinusubukang makita kung saan ito nasira. Nakalista ang mga problema at gumagawa pa rin ng inayos na output, kaya makikita mo ang istruktura at matatagpuan ang nawawalang tag. Sinasadya rin na hindi pinapayagang baguhin ng saradong tag na walang katugma ang antas ng indent — kung hindi ay hihilahin ng iisang pagkakamali ang bawat kasunod na linya pakaliwa at magmumukhang maling lahat ang dokumento.

Ipinapadala ba kahit saan ang markup ko?

Hindi. Sa browser mo nangyayari ang lahat at walang ipinapadala o itinatago.

[ ANG KOMPUTASYON ]
Ano ang hindi ginagalaw
pre, textareaespasyo ang nilalaman
script, styleibang wika sa loob
<!-- komento -->buong-buo
<!DOCTYPE>, CDATAbuong-buo
[ ANG VOID ELEMENT ]

Ang area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr ay walang pansarang tag. Walang magbabalik sa indent papalabas kapag pumasok ito, kaya lahat ng natitirang bahagi ng dokumento ay unti-unting lumilihis pakanan.

[ SUSUNOD ]
56Pang-alis ng HTML TagWhen you want the text without the markup
43JSON FormatterThe other format that needs tidying
48Paghahambing ng TekstoCheck formatting changed nothing else
64JSON DiffCompare data rather than text
[ MAHALAGA ]

Runs entirely in your browser. This formats rather than validates — well-formedness against the full specification is a larger claim than indenting supports. It reports the structural faults it genuinely detects and still produces output for a broken document. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.