Schematron - Schematron

Schematron kurala dayalı doğrulama modellerin varlığı veya yokluğu hakkında iddialarda bulunmak için kullanılan dil XML ağaçlar. XML'de az sayıda öğe kullanılarak ifade edilen yapısal bir şema dilidir ve XPath.

Tipik bir uygulamada, Schematron şema XML'si normal olarak işlenir. XSLT XSLT'nin kullanılabileceği her yerde dağıtım için kod.

Schematron, kısıtlamaları diğer XML şema dillerinin beğeneceği şekillerde ifade edebilir. XML Şeması ve DTD olumsuz. Örneğin, bir öğenin içeriğinin kardeşlerinden biri tarafından kontrol edilmesini gerektirebilir. Veya hangi öğe olursa olsun, kök öğenin belirli niteliklere sahip olmasını isteyebilir veya gerektirebilir. Schematron, birden çok XML dosyası arasında gerekli ilişkileri de belirtebilir.

Kısıtlamalar ve içerik kuralları, sayısal Schematron hata kodlarının anlamlı kullanıcı hata mesajlarına çevrilmesine izin veren "düz-İngilizce" doğrulama hata mesajlarıyla ilişkilendirilebilir.

Akım ISO öneri Bilgi teknolojisi, Belge Şeması Tanımlama Dilleri (DSDL)Bölüm 3: Kural tabanlı doğrulama, Schematron (ISO / IEC 19757-3: 2020).

Kullanımlar

Kısıtlamalar, XSLT kodu olarak dağıtılabilen XPath tabanlı bir dil kullanılarak Schematron'da belirtilir, bu da onu aşağıdaki gibi uygulamalar için pratik hale getirir:

Yapısal Doğrulamaya Ek
Birlikte oluşma kısıtlamalarını, düzenli olmayan kısıtlamaları ve belgeler arası kısıtlamaları test ederek, Schematron aşağıdaki gibi dillerde ifade edilebilen doğrulamaları genişletebilir: DTD'ler, RELAX NG veya XML Şeması.[1]
Hafif İş Kuralları Motoru
Schematron kapsamlı değildir, Rete kurallar motoru, ancak karmaşık yapılar hakkındaki kuralları bir XML belgesiyle ifade etmek için kullanılabilir.
XML Düzenleyici Sözdizimi Vurgulama Kuralları
Bazı XML düzenleyicileri, hatalar için XML dosyalarını koşullu olarak vurgulamak için Schematron kurallarını kullanır. Tüm XML düzenleyicileri Schematron'u desteklemez.

Versiyonlar

Schematron tarafından icat edildi Rick Jelliffe -de Academia Sinica Bilgi İşlem Merkezi, Tayvan. Schematron'ı "bir toz alıcı diğer şema dillerinin ulaşamadığı kısımlara ulaşmak için ".

Schematron'un en yaygın sürümleri şunlardır:

  • Schematron 1.0 (1999)
  • Schematron 1.3 (2000): Bu sürüm ad alanını kullandı http://xml.ascc.net/schematron/. Bir eklenti mimarisine sahip bir XSLT uygulamasıyla desteklenmiştir.
  • Schematron 1.5 (2001): Bu sürüm yaygın olarak uygulandı ve hala bulunabilir.
  • Schematron 1.6 (2002): Bu sürüm ISO Schematron'un temelini oluşturuyordu ve onun tarafından kullanılmıyordu.
  • ISO Schematron (2006): Bu sürüm, çeşitli özellikleri düzenler ve bir XML çıktı formatı, Schematron Validation Report Language (SVRL) sağlar.[2] Yeni ad alanını kullanır http://purl.oclc.org/dsdl/schematron.
  • ISO Schematron (2010): Önerilen bu sürüm, XSLT2 ve keyfi özellikler için destek ekler.

ISO Standardı olarak Schematron

Schematron, ISO tarafından standartlaştırılmıştır. Bilgi teknolojisi, Belge Şeması Tanımlama Dilleri (DSDL)Bölüm 3: Kural tabanlı doğrulama, Schematron (ISO / IEC 19757-3: 2016).

Bu standart, ISO Kamuya Açık Özellikler liste. Kağıt versiyonları, ISO veya ulusal standartlar kuruluşlarından satın alınabilir.

ISO / IEC FDIS 19757-3 kullanan şemalar aşağıdaki ad alanını kullanmalıdır:

http://purl.oclc.org/dsdl/schematron

Örnek kural

Schematron kuralları standart bir XML düzenleyici kullanılarak oluşturulabilir veya XForms uygulama. Aşağıdaki örnek bir şemadır:

<şema xmlns ="http://purl.oclc.org/dsdl/schematron">   <pattern>      <title>Tarih kuralları</title>       bağlam ="Sözleşme">          test ="Sözleşme Tarihi & lt; cari-tarih ()">Sözleşme Tarihi geçmişte olmalıdır çünkü gelecekteki sözleşmelere izin verilmemektedir.</assert>      </rule>   </pattern></schema>

Bu kural, ContractDate XML öğesinin geçerli tarihten önce bir tarihe sahip olup olmadığını kontrol eder. Bu kural başarısız olursa, doğrulama başarısız olur ve kullanıcıya assert öğesinin gövdesi olan bir hata mesajı döndürülür.

Uygulama

Schematron şemaları kullanım için uygundur XML Ardışık Düzenleri, böylece iş akışı süreci tasarımcılarının XML işleme araçlarını kullanarak kurallar oluşturmasına ve sürdürmesine izin verir. W3C'ler XProc örneğin ardışık düzen dili, "schematron ile doğrulama" adımı aracılığıyla Schematron şema işlemesi için yerel desteğe sahiptir.[3]

Schematron şemaları dönüştürülebildiğinden XSLT stil sayfaları, bunlar XSLT dönüşümünü destekleyen XML Ardışık Düzenlerinde kullanılabilir. Bir Apache Ant görev Schematron kurallarını XSLT dosyalarına dönüştürmek için kullanılabilir.

Innovimax'ın Java uygulaması gibi yerel Schematron uygulaması da vardır.INRIA, QuiXSchematron o da yapar yayın Akışı.

Ayrıca bakınız

Referanslar

  1. ^ Fennell, Philip (Haziran 2014). "Schematron - Düşündüğünüzden daha kullanışlı". XML Londra 2014: 103–112. doi:10.14337 / XMLLondon14.Fennell01. ISBN  978-0-9926471-1-7.
  2. ^ Bölüm 3: Kural tabanlı doğrulama - Schematron (ISO / IEC 19757-3: 2006) (zip), Bilgi teknolojisi - Belge Şeması Tanımlama Dilleri (DSDL), ISO / IEC, 2006-06-01, alındı 2014-06-15
  3. ^ "XProc: Bir XML Boru Hattı Dili". World Wide Web Konsorsiyumu. 2010-05-11. Alındı 2012-11-12. | bölüm = yok sayıldı (Yardım)

Dış bağlantılar