Slides of the Schematron QuickFix (update) presentation at the German XML conference markupforum 2015 (http://www.markupforum.de).
Read more about SQF on the Schematron QuickFix homepage http://www.schematron-quickfix.com
N
Nico KutscherauerStudent(in) an der Hochschule der Medien Stuttgart at data2type GmbH
2. Nico KutscherauerSQF – Schematron QuickFix
Schematron - Review
• Was ist Schematron?
• Ergänzende Validierungssprache zur Bestimmung sehr spezifischer
Validierungsregeln
• Ergänzung zu DTD / XSD
• Geeignet für alle Konventionen, die beim Bearbeiten von XML-Daten eingehalten
werden sollen
• Beispiele:
• Eine ID muss der Hierarchie, der Position und/oder dem Inhalt entsprechend
gesetzt werden
• Meta-Daten (z.B. product="Produkt1") haben Auswirkungen auf die Struktur des
Dokumentes
• Typische Editoren-Fehler: Nummerierung einer Liste als Inhalt, verwendete
Abkürzungen
3. Nico KutscherauerSQF – Schematron QuickFix
Schematron QuickFix - Review
• „Quick fix“
• eine automatische Behebung eines spezifischen Fehlers.
• Korrekturvorschläge wie bei der Rechtschreibprüfung
• Schematron QuickFix
• Erweiterungssprache für Schematron
• Definiert QuickFixe für Schematron-Fehler
• Beispiel:
• Ersetze die fehlerhafte ID durch eine aus dem Kontext heraus kalkulierte ID
• Entferne fehlerhaften Inhalt
• Lösche fehlerhafte Strukturen
4. Nico KutscherauerSQF – Schematron QuickFix
Timeline 2015
• 5. Mai – oXygen 17.0
• Erste SQF-Unterstützung eines Editors
• Basis-Unterstützung
• 22. Mai – SQF-Spezifikation
• Veröffentlichung eines ersten Entwurfes
http://schematron-quickfix.github.io/sqf/publishing-
snapshots/April2015Draft/spec/SQFSpec.html
• Aktuelle Version immer unter:
https://github.com/schematron-quickfix/sqf
• 20. Oktober – oXygen 17.1
• Unterstützung von UserEntries
• QuickFixes in externen Dokumenten
• Bug-Fixing
6. Nico KutscherauerSQF – Schematron QuickFix
Geplante Features
• Generische QuickFixes
• Ein generischer QuickFix erzeugt abhängig vom Fehler-Kontext beliebig viele
QuickFixes
• Typen für UserEntries
• Dem UserEntry könnte ein Typ zugewiesen werden. Die Eingabehilfe kann
darauf reagieren (z.B. Datum mit Hilfe eines Kalenders auswählen, Boolean als
checkbox, etc.)