SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
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/>

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9Jürgen Gutsch
 
20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기Chiwon Song
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxPrakarsh -
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 

Kürzlich hochgeladen (20)

Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Sustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire ThornewillSustainable Web Design - Claire Thornewill
Sustainable Web Design - Claire Thornewill
 
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9
 
20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Program with GUTs
Program with GUTsProgram with GUTs
Program with GUTs
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Kubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptxKubernetes go-live checklist for your microservices.pptx
Kubernetes go-live checklist for your microservices.pptx
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 

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/>