www.wikidata.de-de.nina.az
Schematron ist eine Schemasprache zur Validierung von Inhalt und Struktur von XML Dokumenten Die Implementierung der Sprache ist uber XSL Transformationen realisiert bedarf also keiner speziellen Implementierung wie es bei den meisten anderen Dokumentstruktur Definitionssprachen der Fall ist Schematron wurde 1999 von Rick Jelliffe am Academia Sinica Computing Centre in Taipeh Taiwan entwickelt Seit Mai 2006 ist Schematron 1 6 als offizieller ISO IEC Standard unter der Nummer 19757 3 2006 registriert genannt ISO Schematron Anders als beispielsweise DTD oder XML Schema dient Schematron nicht zur Definition sondern zur Validierung von Inhalten in XML Dokumenten Es verwendet keine formale Grammatik sondern findet Muster in der Dokumentstruktur Dadurch ist es moglich Regeln zu definieren die mit herkommlichen Schemasprachen die auf Grammatiken basieren nicht moglich waren Dennoch sollte Schematron in erster Linie als Erganzung nicht als Konkurrenz zu anderen Schemasprachen verstanden werden Zu den moglichen Einsatzgebieten zahlen komplexe Regelwerke die Abhangigkeiten zwischen verschiedenen Teilen des Dokumentbaums ausdrucken oder dynamische Berechnungen erfordern Inhaltsverzeichnis 1 Konzept und Syntax 2 Funktionsweise 3 Siehe auch 4 WeblinksKonzept und Syntax BearbeitenEin Schematron Schema besteht im Wesentlichen aus einem XML Dokument mit verschiedenen Validierungsregeln in denen jeweils ein Kontextknoten bestimmt wird auf welchen Zusicherungen und Reports formuliert werden die spater gepruft werden sollen Das folgende Beispiel zeigt ein Schematron 1 5 Schema lt schema xmlns http www ascc net xml schematron gt lt title gt A Schematron Mini Schema for Schematron lt title gt lt ns prefix sch uri http www ascc net xml schematron gt lt pattern name Schematron Basic Structure gt lt rule context sch schema gt lt assert test sch pattern gt A schema contains patterns lt assert gt lt assert test sch pattern sch rule context gt A pattern is composed of rules These rules should have context attributes lt assert gt lt assert test sch pattern sch rule sch assert test or sch pattern sch rule sch report test gt A rule is composed of assert and report statements These rules should have a test attribute lt assert gt lt rule gt lt pattern gt lt schema gt Dieses Mini Schema welches eine rudimentare Prufung eines Schematron 1 5 Schemas ermoglicht besteht aus folgenden Elementen lt schema xmlns http www ascc net xml schematron gt als Wurzelelement des Dokuments einem optionalen Element lt title gt welches das Schema beschreibt beliebig vielen lt ns prefix uri gt Elementen in denen Namensraume uri und ihre Prafixe prefix zur Verwendung in XPath Ausdrucken deklariert werden lt pattern name gt als Container mit Beschreibung name fur mehrere lt rule context gt Elemente wobei context ein XPath Ausdruck ist der verwendet wird um die Umgebung festzulegen in der die folgenden beiden Elemente ausgefuhrt werden lt assert test gt um eine Zusicherung zu formulieren zusammen mit einem Fehlertext fur den Fall dass der in test mittels XPath formulierte Test fehlschlagt oder im Beispiel nicht verwendet lt report test gt um eine Zusicherung zu formulieren zusammen mit einem Meldungstext fur den Fall dass der Test erfolgreich ist Grundsatzlich legt man bei Schematron die Fehler oder Erfolgsmeldungen selbst fest die am Ende als Ergebnis der Validierung angezeigt werden Funktionsweise BearbeitenZur Ausfuhrung der im Schema formulierten Tests ist es notwendig eine Schematron Implementierung zu verwenden Eine mogliche Implementierung ist ein XSL Stylesheet welches aus dem gegebenen Schema wiederum ein XSL Stylesheet erzeugt mit welchem dann das zu prufende Dokument transformiert wird MeinSchema sch ist die Schematron Datei mit der das Dokument EinDokument xml gepruft werden soll MeinSchema sch wird mittels SchematronImplementation xsl in MeinSchemaValidator xsl umgewandelt ein XSL Stylesheet welches die notigen Transformationen enthalt um aus den Tests im Schema einen Bericht der Validierung zu erzeugen MeinSchemaValidator xsl wird verwendet um EinDokument xml zu validieren indem die zuvor erzeugten Transformationen die erfolgreichen lt report gt Tests und die fehlgeschlagenen lt assert gt Tests ausgeben Am Ende steht je nach Art der verwendeten Schematron Implementierung ein Text oder XML Dokument das die Ergebnisse des Tests Meldungen von erfolgreichen lt report gt Tests und fehlgeschlagenen lt assert gt Tests enthalt Dieses Ergebnis kann z B in einem Validator Programm dem Benutzer angezeigt werden Die Referenz Implementierung ist dabei gezielt modular entworfen so dass man z B eines der Standard Text Stylesheets verwenden kann um eine einfache Textausgabe zu erzeugen Der Schematron Kern ist nur darauf ausgelegt Fehler und Erfolgsmeldungen zu sammeln Ein eigenes erweitertes Stylesheet konnte dann beispielsweise ein selbst definiertes XML Format mit Fehlermeldungen erzeugen welches von einer Software zunachst verarbeitet wird um festzustellen ob Fehler bei der Validierung uberhaupt aufgetreten sind bevor sie automatisch aufgezeichnet und dem Benutzer angezeigt werden Siehe auch BearbeitenListe der XML Namensraume Dokumenttypdefinition XML Schema RELAX NG Document Structure DescriptionWeblinks BearbeitenSchematron com Academia Sinica Computing Centre s Schematron Homepage ursprungliche Schematron Website ISO IEC 19757 DSDL Document Schema Definition Language Part 3 Rule based validation Schematron ZIP Schematron Tutorial Schematron Einfuhrung Schematron Referenz Fachliteratur zum Thema Schematron Schematron EinfuhrungNormdaten Sachbegriff GND 7759942 1 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Schematron amp oldid 168550941