SlideShare a Scribd company logo
1 of 7
Download to read offline
Nico Kutscherauerwww.schematron-quickfix.com
Schematron QuickFix
on XML Prague
Friday, 06 February 2015
Nico Kutscherauerwww.schematron-quickfix.com
My way to SQF
• sch:diagnostic in the Schematron ISO standard:
A natural-language message giving more specific details
concerning a failed assertion, such as found versus expected
values and repair hints.
• Basic structure provided in Schematron to repair the XML
– Just in human-readable language
– No structure for alternatives
Nico Kutscherauerwww.schematron-quickfix.com
Idea of Schematron QuickFix
• Structure for repair instructions in Schematron (“QuickFix”)
– A human-readable and technical instruction
– More than one QuickFix for each Schematron error
– The user is able to choose:
• Which QuickFix is the right fix
• For each Schematron error
• Requirements
– Extension Language for Schematron
– Extension of the Schematron workflow
– A new Schematron implementation
– A GUI / an editor
Nico Kutscherauerwww.schematron-quickfix.com
The language SQF:
• Schematron was extended by an extension language
• Example:
<rule context="title">
<report test="comment()"
sqf:fix="deleteComment resolveComment"
>Comments are forbidden in &lt;title&gt; elements.</report>
<sqf:fix id="deleteComment">
<sqf:description>
<sqf:title>Delete the comment.</sqf:title>
</sqf:description>
<sqf:delete match="comment()"/>
</sqf:fix>
...
</rule>
Nico Kutscherauerwww.schematron-quickfix.com
The QuickFix
• The QuickFix contains
– ID, description (title and optional paragraphs)
– One or more activity elements
• 4 kinds of activity elements
– Delete one or more node  sqf:delete
– Replace a node by another  sqf:replace
– Add a node  sqf:add
– Replace substrings of text nodes  sqf:stringReplace
• Optional:
– use-when construction
– One or more User Entry  parameters for the QuickFix
• The value will be set by the user
• At the moment, he choose the QuickFix
Nico Kutscherauerwww.schematron-quickfix.com
How does it work?
1. Regular Schematron
validation
2. New compiler Escali
3. Transforms the sqf:fix
elements into xsl:templates
4. User chooses the QuickFix
5. Resolver extracts the
xsl:templates from the SVRL
to build the Manipulator
6. Manipulator repairs the XML
document
Nico Kutscherauerwww.schematron-quickfix.com
SQF project:
• Internet
• Home: www.schematron-quickfix.com
• W3C community group: http://www.w3.org/community/quickfix/
• On twitter: http://twitter.com/nkutsche
• Documentation
• Definition of the SQF grammar using XSD
• References of all extensions (including additional Schematron extensions)
• User guide
• Software
• Escali:
• Schematron implementation
• Support for SQF
• Additional Schematron extension
• An implementation based on XProc
• Comming soon: Escali plugin for <oXygen/>

More Related Content

Viewers also liked

Event Management by Redefine SEL_Offsite
Event Management by Redefine SEL_Offsite Event Management by Redefine SEL_Offsite
Event Management by Redefine SEL_Offsite Redefine
 
Download part two families on the front line report
Download part two families on the front line reportDownload part two families on the front line report
Download part two families on the front line reportFamily and Childcare Trust
 
Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...
Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...
Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...Brian Kuhn
 
Думаете о будущем?
Думаете о будущем? Думаете о будущем?
Думаете о будущем? april15alina
 
Escritorio ana 101
Escritorio ana 101Escritorio ana 101
Escritorio ana 101anita_guzman
 
Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...
Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...
Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...Michael Hewitt, GISP
 
Установка_межкомнатных_дверей_инструкция
Установка_межкомнатных_дверей_инструкцияУстановка_межкомнатных_дверей_инструкция
Установка_межкомнатных_дверей_инструкцияspecdveri
 
Defining Security Intelligence for the Enterprise - What CISOs Need to Know
Defining Security Intelligence for the Enterprise - What CISOs Need to KnowDefining Security Intelligence for the Enterprise - What CISOs Need to Know
Defining Security Intelligence for the Enterprise - What CISOs Need to KnowIBM Security
 

Viewers also liked (11)

Framework IAM
Framework IAMFramework IAM
Framework IAM
 
Event Management by Redefine SEL_Offsite
Event Management by Redefine SEL_Offsite Event Management by Redefine SEL_Offsite
Event Management by Redefine SEL_Offsite
 
Vocabulary instruction june 24th
Vocabulary instruction june 24thVocabulary instruction june 24th
Vocabulary instruction june 24th
 
Download part two families on the front line report
Download part two families on the front line reportDownload part two families on the front line report
Download part two families on the front line report
 
Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...
Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...
Philosophy and Strategy for Technology - 2013 Feb 8 VSB ICT Advisory Committe...
 
Думаете о будущем?
Думаете о будущем? Думаете о будущем?
Думаете о будущем?
 
June 18th
June 18thJune 18th
June 18th
 
Escritorio ana 101
Escritorio ana 101Escritorio ana 101
Escritorio ana 101
 
Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...
Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...
Variability of Coal Mine Drainage in Pennsylvania Resulting from Coal Mining ...
 
Установка_межкомнатных_дверей_инструкция
Установка_межкомнатных_дверей_инструкцияУстановка_межкомнатных_дверей_инструкция
Установка_межкомнатных_дверей_инструкция
 
Defining Security Intelligence for the Enterprise - What CISOs Need to Know
Defining Security Intelligence for the Enterprise - What CISOs Need to KnowDefining Security Intelligence for the Enterprise - What CISOs Need to Know
Defining Security Intelligence for the Enterprise - What CISOs Need to Know
 

Similar to Schematron QuickFix on XMLPrague

The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019Octavian Nadolu
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytesPhil Pursglove
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgePhil Pursglove
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010Phil Pursglove
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010IrishDev.com
 
Building OPNFV as a Platform
Building OPNFV as a PlatformBuilding OPNFV as a Platform
Building OPNFV as a PlatformOPNFV
 
Swimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case studySwimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case studyOPNFV
 
XML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorXML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorjimfuller2009
 
HPCC Systems 6.0.0 Highlights
HPCC Systems 6.0.0 HighlightsHPCC Systems 6.0.0 Highlights
HPCC Systems 6.0.0 HighlightsHPCC Systems
 
FuelPHP - a PHP HMVC Framework by silicongulf.com
FuelPHP - a PHP HMVC Framework by silicongulf.comFuelPHP - a PHP HMVC Framework by silicongulf.com
FuelPHP - a PHP HMVC Framework by silicongulf.comChristopher Cubos
 
Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Lalit Panwar
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesAnne Gentle
 
Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Octavian Nadolu
 
February'16 SDG - Spring'16 new features
February'16 SDG - Spring'16 new featuresFebruary'16 SDG - Spring'16 new features
February'16 SDG - Spring'16 new featuresJosep Vall-llovera
 
SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...
SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...
SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...SERENEWorkshop
 
Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)
Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)
Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)Robbie Averill
 
Explain and provide example when it is possible that will cover chap.docx
Explain and provide example when it is possible that will cover chap.docxExplain and provide example when it is possible that will cover chap.docx
Explain and provide example when it is possible that will cover chap.docxrhetttrevannion
 

Similar to Schematron QuickFix on XMLPrague (20)

The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019The Power Of Schematron Quick Fixes - XML Prague 2019
The Power Of Schematron Quick Fixes - XML Prague 2019
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
The Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen Cambridge
 
Velocity - Edge UG
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UG
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
 
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
Phil Pursglove: Velocity, the Need for Speed - epicenter 2010
 
Building OPNFV as a Platform
Building OPNFV as a PlatformBuilding OPNFV as a Platform
Building OPNFV as a Platform
 
Norman and McCraken, "OpenURL Implementation: Link Resolution That Users Will...
Norman and McCraken, "OpenURL Implementation: Link Resolution That Users Will...Norman and McCraken, "OpenURL Implementation: Link Resolution That Users Will...
Norman and McCraken, "OpenURL Implementation: Link Resolution That Users Will...
 
Swimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case studySwimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case study
 
XML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorXML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processor
 
HPCC Systems 6.0.0 Highlights
HPCC Systems 6.0.0 HighlightsHPCC Systems 6.0.0 Highlights
HPCC Systems 6.0.0 Highlights
 
FuelPHP - a PHP HMVC Framework by silicongulf.com
FuelPHP - a PHP HMVC Framework by silicongulf.comFuelPHP - a PHP HMVC Framework by silicongulf.com
FuelPHP - a PHP HMVC Framework by silicongulf.com
 
Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and Processes
 
Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Schematron 2016 and SQF Update
Schematron 2016 and SQF Update
 
February'16 SDG - Spring'16 new features
February'16 SDG - Spring'16 new featuresFebruary'16 SDG - Spring'16 new features
February'16 SDG - Spring'16 new features
 
SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...
SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...
SERENE 2014 Workshop: Paper "Automatic Generation of Description Files for Hi...
 
Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)
Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)
Wellington meetup SilverStripe 4 upgrading presentation (Feb 2017)
 
Short-Training asp.net vNext
Short-Training asp.net vNextShort-Training asp.net vNext
Short-Training asp.net vNext
 
Explain and provide example when it is possible that will cover chap.docx
Explain and provide example when it is possible that will cover chap.docxExplain and provide example when it is possible that will cover chap.docx
Explain and provide example when it is possible that will cover chap.docx
 

Recently uploaded

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxSasikiranMarri
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 

Recently uploaded (20)

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 

Schematron QuickFix on XMLPrague

  • 2. Nico Kutscherauerwww.schematron-quickfix.com My way to SQF • sch:diagnostic in the Schematron ISO standard: A natural-language message giving more specific details concerning a failed assertion, such as found versus expected values and repair hints. • Basic structure provided in Schematron to repair the XML – Just in human-readable language – No structure for alternatives
  • 3. Nico Kutscherauerwww.schematron-quickfix.com Idea of Schematron QuickFix • Structure for repair instructions in Schematron (“QuickFix”) – A human-readable and technical instruction – More than one QuickFix for each Schematron error – The user is able to choose: • Which QuickFix is the right fix • For each Schematron error • Requirements – Extension Language for Schematron – Extension of the Schematron workflow – A new Schematron implementation – A GUI / an editor
  • 4. Nico Kutscherauerwww.schematron-quickfix.com The language SQF: • Schematron was extended by an extension language • Example: <rule context="title"> <report test="comment()" sqf:fix="deleteComment resolveComment" >Comments are forbidden in &lt;title&gt; elements.</report> <sqf:fix id="deleteComment"> <sqf:description> <sqf:title>Delete the comment.</sqf:title> </sqf:description> <sqf:delete match="comment()"/> </sqf:fix> ... </rule>
  • 5. Nico Kutscherauerwww.schematron-quickfix.com The QuickFix • The QuickFix contains – ID, description (title and optional paragraphs) – One or more activity elements • 4 kinds of activity elements – Delete one or more node  sqf:delete – Replace a node by another  sqf:replace – Add a node  sqf:add – Replace substrings of text nodes  sqf:stringReplace • Optional: – use-when construction – One or more User Entry  parameters for the QuickFix • The value will be set by the user • At the moment, he choose the QuickFix
  • 6. Nico Kutscherauerwww.schematron-quickfix.com How does it work? 1. Regular Schematron validation 2. New compiler Escali 3. Transforms the sqf:fix elements into xsl:templates 4. User chooses the QuickFix 5. Resolver extracts the xsl:templates from the SVRL to build the Manipulator 6. Manipulator repairs the XML document
  • 7. Nico Kutscherauerwww.schematron-quickfix.com SQF project: • Internet • Home: www.schematron-quickfix.com • W3C community group: http://www.w3.org/community/quickfix/ • On twitter: http://twitter.com/nkutsche • Documentation • Definition of the SQF grammar using XSD • References of all extensions (including additional Schematron extensions) • User guide • Software • Escali: • Schematron implementation • Support for SQF • Additional Schematron extension • An implementation based on XProc • Comming soon: Escali plugin for <oXygen/>