XSD Doğrulayıcı
İyi biçimlendirilmiş bir XML belgesi yine de yanlış olabilir: gerekli bir öğeyi eksik bırakmak, bir öznitelik için yanlış veri türünü kullanmak ya da öğeleri yanlış sırada bulundurmak. XSD (XML Schema Definition), belgenin tam olarak nasıl görünmesi gerektiğini açıklar. Bu doğrulayıcı, XML’inizi XSD’siyle eşleştirir, W3C XML Schema doğrulayıcısını çalıştırır ve her ihlali satır, öğe ve ihlal edilen belirli kısıtlamayla listeler.
XML, XSD'ye karşı nasıl doğrulanır
-
1
Her iki dosyayı yapıştırın
Bir tarafta XML, diğerinde XSD şeması. Birden çok şema birlikte yapıştırılabilir.
-
2
Doğrulamayı çalıştırın
Ayrıştırıcı öğeleri, öznitelikleri ve türleri şema bildirimleriyle eşleştirir.
-
3
Hataları inceleyin
Her ihlal öğe yolunu, beklenen kısıtlamayı ve gerçek değeri gösterir.
-
4
Düzeltin ve yeniden doğrulayın
Yerinde düzenleyin ve yeniden yüklemeden tekrar çalıştırın.
XSD neyi kontrol eder
- Öğe adları ve kardinalite: gerekli, isteğe bağlı, min/maks oluşumlar.
- Öğe sırası: sequence, choice, all.
- Öznitelik varlığı ve türü: gerekli ile isteğe bağlı, varsayılan değerler, sabit değerler.
- Veri türleri:
xs:string,xs:integer,xs:decimal,xs:dateTime,xs:boolean,xs:anyURI, özel. - Kısıtlamalar: min/maks uzunluk, numaralandırmalar, regex desenleri, min/maks değerler.
- Bütünlük referansı: öğeler arası kısıtlamalar için
xs:key,xs:keyref,xs:unique.
Tipik hatalar
| Hata | XSD kısıtlaması |
|---|---|
Gerekli <email> öğesi eksik |
minOccurs="1" |
Çok fazla <phone> öğesi |
maxOccurs="2" aşıldı |
| “abc” değeri geçerli bir tam sayı değil | type="xs:integer" |
| “[email protected]” değeri desene uymuyor | xs:string üzerinde xs:pattern |
| Öğeler sırasız | xs:sequence |
Bilinmeyen <foo> öğesi |
Şemada bildirilmemiş |
| Yinelenen anahtar | xs:unique ihlali |
XSD ile alternatifler arasında seçim yapma
- XSD: W3C standardı, ayrıntılı, güçlü, geniş desteklenir. Kurumsal XML için ilk tercih.
- RELAX NG: daha basit sözdizimi, eşit derecede ifade gücü. Belgeleme biçimlerinde (DocBook, TEI) popüler.
- Schematron: kural tabanlı, belgeye karşı XPath savları çalıştırır. Yapının ötesindeki iş kuralları için iyi.
- DTD: daha eski, çok daha az ifade gücü. HTML tarihsel uyumluluğu için hâlâ kullanımda.
Birçok proje yapı için XSD, karmaşık alanlar arası kurallar için Schematron kullanır.
Yaygın tuzaklar
- Ad alanları eşleşmelidir. XSD
targetNamespace="http://example.com"bildiriyor ama XML o ad alanını kullanmıyorsa, doğrulama “bildirim bulunamadı” ile başarısız olur. - xs:anyType sihirli bir kaçış değildir. Her şeyle eşleşir ama size hiç doğrulama vermez.
- Varsayılan değerler yalnızca öznitelik yokken geçerlidir. Açık bir boş değer (
attr="") varsayılanı almaz. - Boşluk işleme türe göre değişir.
xs:stringonu korur,xs:tokenonu daraltır,xs:normalizedStringsekmeleri/satır sonlarını boşluklarla değiştirir.
Hata ayıklama iş akışı
- Önce şema olmadan doğrulayın (iyi biçimlendirme kontrolü). Tüm ayrıştırma hatalarını düzeltin.
- Ardından şemaya karşı doğrulayın.
- İlk hataya odaklanın. XSD doğrulayıcıları bazen hataları zincirler; ilki genellikle en uygulanabilir olanıdır.
- Büyük belgelerde sorunlu öğeyi bulmak için XPath kullanın.
Sık Sorulan Sorular
Hayır. Onları ayrı ayrı yapıştırın ya da XML’de xsi:schemaLocation aracılığıyla şemaya referans verin. Çoğu araç her iki yaklaşımı da destekler.
Evet. Farklı ad alanlarından öğeler göründüğünde, her birinin kendi şemasına ihtiyacı vardır. Hepsini yapıştırın; doğrulayıcı hepsini yükler.
XSD 1.0. Temel alınan libxml motoru XSD 1.1’i uygulamaz; bu nedenle savlar, koşullu türler ve açık içerik gibi yalnızca 1.1’e özgü özellikler uygulanmaz.
Hayır. XML’iniz ve şemanız yalnızca o tek istek için doğrulamayı çalıştırmak üzere sunucuya gönderilir; sonrasında saklanmaz veya günlüğe kaydedilmez.
İlgili Araçlar
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Luhn Algoritma Kontrolcüsü
Kredi kartı numarasını, IMEI'yi, SIN'i ve diğer Luhn korumalı numaraları doğrulayın. Başarılı veya başarısız sonuç verir ve her çaprazlama ile kontrol toplam adımı gösterir.
Kodu görsele dönüştür
Kodu yapıştırın; tema, renkler, yazı boyutu, boşluk, başlık ve satır numaralarını ayarlayın, canvas önizlemesini kontrol edin ve PNG indirin. Sözdizimi vurgusu olmayan düz metin çizimi.
CSS Fiyat Tablosu Oluşturucu
HTML + CSS ile tek bir fiyat kartı oluşturun: paket adı, fiyat ve marka vurgu rengi. Kodu açılış sayfanıza kopyalayın.
Araç diğer dillerde mevcuttur
- XSD-Validator [DE]
- Validador XSD [PT]
- Bộ xác thực XSD [VI]
- XSD-validerare [SV]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- Validador XSD [ES]
- XSDバリデーター [JA]
- مُحقق تنسيق XSD [AR]
- Validateur XSD [FR]
- XSD-validator [NL]
- Walidator XSD [PL]
- Validator XSD [IT]
- Валидатор XSD [RU]
- XSD 校验工具 [ZH]
- XSD Validator [EN]