Bu alət haqqında
XML formatlaşdırması daxili elementləri abzas edir ki, sənəd iyerarxiyası görünən olsun. Yığcam XML — hər şey bir sətirdə — texniki cəhətdən etibarlıdır və ötürmə üçün faydalıdır, lakin insanlar üçün oxunmur. Formatlaşdırılmış XML elementlər arasında xətt fasilələri əlavə edir və uşaqları valideynlərinin içərisinə daxil edərək onu əl ilə skan edilə, fərqləndirilə və redaktə edilə bilən edir.
Bu formatlayıcı yaxşı formalaşmışlığı təsdiqləmək üçün DOMParser istifadə edərək girişi təhlil edir, sonra girintili çıxışı yaymaq üçün yaranan DOM-u gəzir. Şərhlər, emal təlimatları və CDATA bölmələri qorunur. Öz-özünə bağlanan etiketlər (uşaqları olmayanlar) bir xətt üzərində yığcam şəkildə saxlanılır; uşaqları olan etiketlər, uşaqlar girintili olmaqla bir neçə sətirə yayılmışdır.
Ən çox yayılmış XML konvensiyasına uyğun gələn iki boşluq girinti standartdır. Formatlaşdırıcı yenidən formatlaşdırmada mühafizəkardır: mövcud struktur qorunur, yalnız elementlər arasında boşluq dəyişir. Məlumat formatlaşdırmadan əvvəl və sonra eyni şəkildə istənilən XML analizatoru ilə gəzir.
Niyə XML formatı
Kompakt XML oxunmur. SOAP cavabları, RSS lentləri və bir çox konfiqurasiya faylları texniki cəhətdən etibarlı, lakin praktiki olaraq qeyri-şəffaf olan tək sətirli XML kimi gəlir. Formatlaşdırma sənəd strukturunu aşkar edir, sizə xüsusi elementləri tapmağa imkan verir və versiyaya nəzarətdə fərqləri mənalı edir.
Formatlaşdırma həm də etibarlılıq yoxlaması kimi xidmət edir. XML formatlama zamanı təhlil edə bilmirsə, səhv mesajı problemi müəyyən edir - adətən bağlanmayan etiketlər, uyğun olmayan element adları və ya etibarsız simvollar. Ciddi bir istehlakçıya göndərməzdən əvvəl XML səhvlərini tutmaq sazlama vaxtına qənaət edir.
Texniki Detallar
DOMparser XML DOM istehsal edir. Formatlaşdırıcı açılış teqlərini, girintili uşaqları və bağlanma teqlərini yayaraq, ağacın dərinliyini birinci yeri tutur. Element atributları açılış teqində saxlanılır; atribut sırası mənbəyə uyğun gəlir.
Mətn qovşaqlarının daxilində əhəmiyyətli boşluq qorunur — formatlayıcı məzmun boşluğunu təhlükəsiz şəkildə dəyişə bilməz, çünki bu mənalı ola bilər (XML məkanının qorunması qaydaları sxemlər üzrə fərqlənir). Yalnız elementlər arasındakı boşluq dəyişir.
Öz-özünə bağlanan elementlər (uşaqlar yoxdur) <tag attr="val"/> kimi yayılır. Yalnız mətn məzmunlu elementlər <tag>mətn</tag> kimi yayılır. Element uşaqları olan elementlər girintili uşaqları olan bir neçə sətirdə buraxır. CDATA bölmələri, şərhləri və emal təlimatları orijinal ayırıcıları və məzmunu ilə yayılır.
Tez-tez verilən suallar
- Bu hansı XML səhvlərini aşkar edir?
- Alət qapalı olmayan teqləri, uyğun olmayan açılış/bağlama teqlərini, etibarsız simvol istinadlarını, çatışmayan kök elementləri, səhv formalaşdırılmış atributları və kodlaşdırma problemlərini aşkarlayır. Səhv mesajlarına problemləri tapmaqda kömək etmək üçün sətir nömrələri daxildir.
- Formatlaşdırma XML məzmununu dəyişirmi?
- Formatlaşdırma yalnız elementlər arasında boşluq və boşluqları tənzimləyir. Element məzmunu, atributları, CDATA bölmələri və emal təlimatları tam olaraq daxil edildiyi kimi saxlanılır.
- Böyük XML fayllarını idarə edə bilərmi?
- Alət brauzerdə bir neçə meqabayta qədər faylları idarə edir. Çox böyük XML sənədləri (50MB+) üçün daha yaxşı performans üçün xmllint kimi komanda xətti alətlərindən istifadə etməyi düşünün.
- XML ad boşluqlarını dəstəkləyirmi?
- Bəli. Formatlaşdırıcı ad məkanı bəyannamələrini (xmlns), prefiksli elementləri və standart ad fəzalarını düzgün idarə edir. Ad boşluqları formatlanmış çıxışda saxlanılır.
- Ad boşluqları qorunur?
- Bəli. xmlns və xmlns:prefiks atributları mənbədə göründükləri elementlərdə qorunur.
- XML-i bir sətirə kiçildə bilərəmmi?
- Bəzi XML formatlayıcıları kiçilmə təklif edir. Bu alət formatlaşdırmaya diqqət yetirir; kiçikləşdirilmiş XML elementlər arasında boşluqları regex və ya xüsusi alətlə silməklə istehsal edilə bilər.
- XML-im serverə yüklənib?
- Xeyr. DOMParser brauzerinizdə işləyir; formatlayıcı brauzerinizdə işləyir.
- Mətn qovşaqlarının içərisində boşluq dəyişəcəkmi?
- Xeyr. Mətn qovşağında boşluq qorunur, çünki XML məkanının qorunması qaydaları sxemə görə dəyişir. Formatlaşdırıcı yalnız elementlərarası boşluğu dəyişir.