XML-ийн зөв бүтэц ба түүний ач холбогдол
XML (Extensible Markup Language) нь өгөгдөл солилцох болон тохиргооны файлуудыг зохион байгуулахад өргөн хэрэглэгддэг формат юм. XML баримт бичиг нь компьютерийн системүүдийн хооронд алдаагүй уншигдахын тулд хамгийн түрүүнд "зөв бүтэцтэй" (well-formed) байх шаардлагатай. Зөв бүтэцтэй XML гэдэг нь синтаксийн үндсэн дүрмүүдийг бүрэн хангасан баримт бичгийг хэлнэ. Үүнд дараах үндсэн шаардлагууд ордог:
- Нэг баримт бичгийн бүтэц: XML баримт бичиг нь зөвхөн ганц эх элемент (root element)-тэй байх бөгөөд бусад бүх элементүүд үүний дотор багтсан байна.
- Таарч буй тагууд: Нээсэн таг бүр харгалзах хаах тагтай байна. Жишээ нь,
<data>таг нээгдсэн бол заавал</data>тагаар хаагдах ёстой. Тагуудын үүрлэх дараалал зөв байх шаардлагатай. - Хашилтад орсон атрибутууд: Элементийн доторх бүх атрибутын утгууд заавал дан эсвэл давхар хашилтад орсон байна.
- Зөв тэмдэглэгээ: Тусгай тэмдэгтүүдийг зөв кодлох (escape хийх) зэрэг XML-ийн стандарт дүрмүүдийг баримталсан байна.
Хэрэв эдгээр дүрмийн аль нэг нь зөрчигдвөл XML анализатор өгөгдлийг уншиж чадахгүйд хүрч, системүүдийн хоорондын өгөгдөл солилцоо тасалддаг.
Форматлах болон Шахах (Minify) үйлдлийн ялгаа
XML өгөгдөлтэй ажиллах явцад хэрэглээний зорилгоос хамааран форматыг өөрчлөх шаардлага гардаг. Энэхүү хэрэгсэл нь XML-ийг форматлах болон шахах хоёр өөр үйлдлийг гүйцэтгэдэг.
| Үйлдэл | Зорилго | Гүйцэтгэх өөрчлөлт | Хэрэглээний тохиолдол |
|---|---|---|---|
| Форматлах | Уншихад хялбар болгох | Таг болон бүтцийг догол мөр, шинэ мөрөөр зааглан эрэмбэлнэ. | Хөгжүүлэлт, алдаа хайх, бүтцийг гараар хянах үед. |
| Шахах (Minify) | Файлын хэмжээг багасгах | Зангилаануудын хоорондох мөр шилжилт, шаардлагагүй хоосон зайг устгана. | Сүлжээгээр өгөгдөл дамжуулах, хадгалах зай хэмнэх үед. |
Форматлах үйлдэл нь XML-ийн бүтцийг хүний нүдэнд ойлгомжтой болгож, шаталсан бүтцийг тодорхой харуулдаг бол шахах үйлдэл нь өгөгдлийн агуулгыг алдагдуулахгүйгээр хэмжээг нь хамгийн бага хэмжээнд хүртэл бууруулдаг.
Хоосон зайн гүйцэтгэх үүрэг ба анхаарах зүйлс
XML-д хоосон зай (whitespace) нь зөвхөн харагдах байдлыг сайжруулахаас гадна зарим тохиолдолд өгөгдлийн чухал хэсэг болдог. Форматлах үйлдэл нь элементүүд болон атрибутуудыг хэвээр үлдээдэг боловч хоосон зайд мэдрэг текст эсвэл холимог контент (mixed content) агуулсан XML-ийн хувьд хоосон зайг өөрчилж болзошгүй.
Холимог контент гэдэг нь нэг элемент дотор текст болон дэд элементүүд зэрэгцэн оршихыг хэлнэ. Ийм тохиолдолд форматлагч нь шинэ мөр, догол мөр нэмэхдээ текстийн утгад нөлөөлөх магадлалтай тул эх хувилбарыг солихоосоо өмнө үр дүнг сайтар хянаж үзэх шаардлагатай.
Хөтөч дээр суурилсан шалгалтын хязгаарлалт
Энэхүү хэрэгсэл нь XML-ийн бүтцийг шалгахдаа зөвхөн тухайн баримт бичиг нь XML-ийн үндсэн синтаксийн дагуу зөв бүтэцтэй (well-formed) эсэхийг шалгадаг. Энэ нь дараах хязгаарлалттай гэдгийг анхаарах хэрэгтэй:
- XSD (XML Schema Definition) шалгалт хийхгүй: Баримт бичиг нь тодорхойлогдсон бүтцийн схем, өгөгдлийн төрлийн шаардлагыг хангаж байгаа эсэхийг шалгахгүй.
- DTD (Document Type Definition) шалгалт хийхгүй: Баримт бичгийн элементүүдийн дараалал, зөвшөөрөгдсөн бүтцийг тодорхойлсон дүрмүүдтэй харьцуулахгүй.
- Бизнесийн схем шалгахгүй: Тухайн салбарын эсвэл байгууллагын тусгайлан заасан бизнесийн дүрмийн дагуу шалгалт хийх боломжгүй.
Хэрэгслийн үндсэн үүрэг нь зөвхөн XML-ийн синтакс зөв эсэхийг тодорхойлоход чиглэгддэг.
Алдааг мөр, баганын мэдээллээр илрүүлж засах нь
XML баримт бичигт алдаа гарсан тохиолдолд түүнийг гараар хайж олох нь цаг хугацаа шаардсан ажил байдаг. Энэхүү хэрэгсэл нь XML-ийг шалгах явцад алдаа илэрвэл "Энэ XML зөв бүтэцтэй биш байна." гэсэн ерөнхий анхааруулгаас гадна алдаа гарсан байршлыг зааж өгдөг.
Алдаа гарсан тохиолдолд хэрэгсэл нь "Хүчингүй XML · мөр {line}, багана {col}" гэсэн хэлбэрээр алдааны байршлыг тодорхой мэдээлнэ. Жишээ нь, хэрэв 12-р мөрийн 5-р тэмдэгт дээр хаах таг дутуу эсвэл атрибутын хашилт буруу байвал хэрэгсэл нь тухайн мөр болон баганыг зааж өгөх бөгөөд "Анализаторын мэдээлэл" хэсэгт дэлгэрэнгүй тайлбарыг харуулна. Энэхүү мэдээллийг ашиглан хөгжүүлэгчид алдаатай хэсгийг шууд олж засварлах боломжтой болдог.
Өгөгдлийн нууцлал ба хөтөч дээрх боловсруулалт
Энэхүү хэрэгслийг ашиглах үед өгөгдлийн нууцлал бүрэн хангагдана. Таны оруулсан XML өгөгдлийг форматлах, шахах, шалгах бүх үйлдэл нь зөвхөн таны ашиглаж буй вэб хөтөч (browser) дотор хийгддэг.
Оруулсан өгөгдөл нь гадны сервер рүү, тухайлбал BroBroGo руу илгээгддэггүй. Боловсруулалт хэрэглэгчийн төхөөрөмж дээр шууд хийгддэг тул нууцлалтай тохиргооны файл, хувийн мэдээлэл агуулсан XML өгөгдлийг ямар нэгэн алдагдах эрсдэлгүйгээр шалгаж, форматлах боломжтой.
Хэрэгслийг ашиглах заавар
Хэрэгслийг ашиглахын тулд дараах алхмуудыг гүйцэтгэнэ:
- Оролт оруулах: "XML оролт" талбарт өөрийн XML өгөгдлийг хуулж тавих эсвэл шууд бичнэ. Оруулах өгөгдлийн дээд хэмжээ 500,000 тэмдэгт байна.
- Үйлдэл сонгох:
- Форматлах: XML-ийг догол мөртэй, уншихад хялбар болгохын тулд "Форматлах" товчийг дарна.
- Шахах (Minify): Зайг багасгаж, хэмжээг хумихын тулд "Шахах (Minify)" товчийг дарна.
- Шалгах: Бүтцийн алдааг илрүүлэхийн тулд "Шалгах" товчийг дарна.
- Үр дүнг харах: Үйлдэл амжилттай болбол "XML-ийг форматлав.", "XML-ийг шахлаа (minified)." эсвэл "Хүчинтэй XML бүтэц." гэсэн мэдээлэл гарна. Шахсан тохиолдолд "XML-ийг шахлаа —
{pct}% жижиг болов." гэж хэмнэгдсэн хувийг харуулна. - Статистик хянах: Гаралтын хэсэгт "Мөрүүд", "Тэмдэгт", "Хэмжээ" зэрэг үзүүлэлтүүд шинэчлэгдэн харагдана.
- Үр дүнг ашиглах: Бэлэн болсон үр дүнг "Татах" товчоор татаж авах эсвэл хуулж авна. Шинэ өгөгдөл оруулахын тулд "Цэвэрлэх" товчийг дарж талбарыг чөлөөлөхөд "Цэвэрлэв." гэсэн төлөв харагдана.
Хэрэв оруулсан XML хэтэрхий том бол "Энэ XML боловсруулахад хэтэрхий том байна. Арай бага хэмжээтэй баримт бичиг туршина уу." гэсэн анхааруулга гарах бөгөөд боловсруулах боломжгүй алдаа гарвал "Энэ XML-ийг боловсруулж чадсангүй." гэсэн мэдээлэл харагдана.
Түгээмэл асуултууд (FAQ)
Форматлах болон шахах (minify) хоёрын ялгаа юу вэ?
Форматлах (format) нь XML-ийг догол мөртэй болгож, таг болон бүтцийг уншихад хялбар болгодог. Шахах (minify) нь зангилаануудын хоорондох мөр шилжилт, хоосон зайг устгаж XML-ийг жижиг хэмжээтэй болгодог. Засварлах явцдаа форматлахыг, харин авсаархан гаралт хэрэгтэй үед шахахыг ашиглаарай.
Шалгалт (validation) нь юуг шалгадаг вэ?
Энэ нь XML-ийн зөв бүтэцтэй эсэхийг шалгадаг: нэг баримт бичгийн бүтэц, таарч буй тагууд, хашилтад орсон атрибутууд болон зөв тэмдэглэгээ. Энэ нь XSD, DTD эсвэл бизнесийн схемтэй харьцуулж шалгахгүй.
Форматлах нь чухал хоосон зайг өөрчилж болох уу?
Энэ нь элементүүд болон атрибутуудыг хэвээр үлдээдэг боловч зарим XML дотор хоосон зай чухал үүрэгтэй байж болно. Хэрэв таны файл холимог контент эсвэл хоосон зайд мэдрэг текст ашигладаг бол эх хувилбарыг солихоосоо өмнө үр дүнг хянаж үзээрэй.
Миний оруулсан XML өгөгдөл сервер рүү илгээгддэг үү?
Үгүй, таны XML-ийг таны хөтөч дээр форматлаж, шахаж, шалгадаг. BroBroGo руу юу ч илгээгддэггүй тул өгөгдлийн нууцлал хадгалагдана.