SlideShare a Scribd company logo
1 of 35
Download to read offline
Guided Authoring:
Enforcing Editing Rules
Octavian Nadolu
octavian_nadolu@oxygenxml.com
@OctavianNadolu
Enforcing Editing RulesEnforcing Editing Rules
Overview
● Guiding users to choose the correct markup in
certain situations
● Imposing a set of business rules
● Identifying potential problems in generated
output
● Solutions for fixing the signaled rule violations
Enforcing Editing RulesEnforcing Editing Rules
Enforcing Editing Rules
Enforcing Editing RulesEnforcing Editing Rules
Guiding the User
Enforcing Editing RulesEnforcing Editing Rules
Document Structure
Enforcing Editing RulesEnforcing Editing Rules
Document Structure Rules
● Impose a document structure using a schema
language:
– DTD
– XML Schema
– Relax NG
– NVDL
● Oxygen supports all schema languages
Enforcing Editing RulesEnforcing Editing Rules
Content Completion and
Annotations
Enforcing Editing RulesEnforcing Editing Rules
Content Completion and
Annotations
✔ Suggestions to insert valid markup
✔ Annotations to help you understand what the
markup represents
✔ Links to the specification and style guide
Enforcing Editing RulesEnforcing Editing Rules
Limit the Number of Proposals
~15 proposals
~90 proposals
Enforcing Editing RulesEnforcing Editing Rules
Limit the Number of Proposals
✔ Help the user to choose the right elements and
attributes in particular contexts
✔ Configure the proposals for elements and
attributes
✔ Lightweight DITA
✔ Controlled Values & Markup Options presented
at oXygen Users Meetup
Enforcing Editing RulesEnforcing Editing Rules
Show Hints
Enforcing Editing RulesEnforcing Editing Rules
Show Hints
✔ Signal document structure problems
✔ Suggestions to correct the problems
✔ Preferences to change the schema-aware
options
Enforcing Editing RulesEnforcing Editing Rules
Signal Problems and Offer
Solutions
Enforcing Editing RulesEnforcing Editing Rules
✔ Actions to guide the user to fix the problems
✔ Multiple solutions for a problem
✔ Better understanding of the problem
Signal Problems and Offer
Solutions
Enforcing Editing RulesEnforcing Editing Rules
Business Rules
Rules for your documents that cannot be
imposed by the schema
Examples:
● Titles should have content
● Consecutive lists are not allowed
● IDs must follow a certain pattern
● Consecutive notes of a same type
● Too many entries in a table row
● Sections must have IDs
● Titles are too long
● ...
Enforcing Editing RulesEnforcing Editing Rules
Team Collaboration
All team members must follow the same rules
Enforcing Editing RulesEnforcing Editing Rules
Rules for All Documents
Enforcing Editing RulesEnforcing Editing Rules
Business Rule Types
Various types of business rules:
● Simple style rules
● Editing consistency rules
● Structure rules
● Output related rules
Enforcing Editing RulesEnforcing Editing Rules
Simple Style Rules
Styling is not allowed in titles
Semicolon is not allowed at the end of a list item
Text in the link and the value of the @href are the same
Enforcing Editing RulesEnforcing Editing Rules
Simple Style Rules
Other simple style rules:
– No empty titles
– Titles should not exceed a certain number of characters
– Text is not allowed directly in the section
– The figure element should always be wrapped in a
paragraph
– The definition list element should be wrapped in a
paragraph to make the output look better
– Report possible cases where a codeblock contains XML
that was not marked appropriately
Enforcing Editing RulesEnforcing Editing Rules
Editing Consistency Rules
Topic ID must be equal to file name
All sections should have an @id
Consecutive lists are not allowed
Enforcing Editing RulesEnforcing Editing Rules
Editing Consistency Rules
Other editing consistency rules:
– IDs must follow a pattern
– The list should have an ID attribute
– Consecutive notes of a same type are not allowed
– For sections with examples in the title, use a specialized
element
– We should avoid using 'oXygen' inside index term
elements
– Remove "(Optional)" text from step elements and add the
attribute @importance=”optional” instead.
Enforcing Editing RulesEnforcing Editing Rules
Structure Rules
Missing cells in a table
Too many nested lists
List contains only one item
Enforcing Editing RulesEnforcing Editing Rules
Structure Rules
Other structure rules:
– Tables with more entries than number of columns
– No image referenced in the fig element
– XML Schema used instead of DTD
– The figure should have a title
– Menucascade element should have more than one
uicontrol element
Enforcing Editing RulesEnforcing Editing Rules
Output Related Rules
Impose rules to make sure your output will be
generated correctly
Enforcing Editing RulesEnforcing Editing Rules
Output Related Rules
Enforcing Editing RulesEnforcing Editing Rules
Output Related Rules
Other output required rules:
– Title contains quotes. This breaks the Java Help System.
– The indexterm element should be in a prolog
– The figure element should always be in a paragraph
– The definition list element should be wrapped in a
paragraph to make the output look better
– Text is not allowed directly in the section
Enforcing Editing RulesEnforcing Editing Rules
Business Rules
Create business rules for your documents
Enforcing Editing RulesEnforcing Editing Rules
Business Rules
● Create business rules for your documents
Impose rules for all of your documents
Enforcing Editing RulesEnforcing Editing Rules
Business Rules
● Create business rules for your documents
● Impose rules for all of your documents
Add new rules when you encounter problems
Enforcing Editing RulesEnforcing Editing Rules
Business Rules
● Create business rules for your documents
● Impose rules for all of your documents
● Add new rules when you encounter problems
Make sure that all of your team members follow
the same rules
Enforcing Editing RulesEnforcing Editing Rules
Dynamic Information Model (DIM)
● An implementation of an intelligent style guide
● Describes and enforces rules
● Schematron for Information Architects
presented by George Bina at XML Prague
● Open source project available on GitHub
https://github.com/oxygenxml/dim
Enforcing Editing RulesEnforcing Editing Rules
What's Next?
●
Extend multilingual support for proposed
fixes
●
Allow business rules to report information
(as opposed to errors or warnings)
●
Determine fix proposals in more situations
when an automatic fix can be offered
Enforcing Editing RulesEnforcing Editing Rules
Business Rules Fix Proposals
Discover the technology behind the fix
proposals for business rules by attending
our next webinar:
Jul 14
Understanding and Developing Schematron Quick Fixes
Enforcing Editing RulesEnforcing Editing Rules
Thank you!
Questions?
<oXygen/> XML Editor
http://www.oxygenxml.com
octavian_nadolu@oxygenxml.com
@OctavianNadolu

More Related Content

Similar to Guided Authoring: Enforcing Editing Rules

c-coding-standards-and-best-programming-practices.ppt
c-coding-standards-and-best-programming-practices.pptc-coding-standards-and-best-programming-practices.ppt
c-coding-standards-and-best-programming-practices.pptVinayakHospet1
 
Coding standards
Coding standardsCoding standards
Coding standardsMimoh Ojha
 
Advantages of DITA for the Life Sciences
Advantages of DITA for the Life SciencesAdvantages of DITA for the Life Sciences
Advantages of DITA for the Life Sciencesdclsocialmedia
 
Enforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic FixesEnforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic FixesOctavian Nadolu
 
High Quality C# - Codequality in Practice
High Quality C# - Codequality in PracticeHigh Quality C# - Codequality in Practice
High Quality C# - Codequality in PracticeRainer Stropek
 
Adobe analytics processing rule help doc.
Adobe analytics processing rule help doc.Adobe analytics processing rule help doc.
Adobe analytics processing rule help doc.suhailparkar
 
4. Web Technology CSS Basics-1
4. Web Technology CSS Basics-14. Web Technology CSS Basics-1
4. Web Technology CSS Basics-1Jyoti Yadav
 
Code Smells and Refactoring - Satyajit Dey & Ashif Iqbal
Code Smells and Refactoring - Satyajit Dey & Ashif IqbalCode Smells and Refactoring - Satyajit Dey & Ashif Iqbal
Code Smells and Refactoring - Satyajit Dey & Ashif IqbalCefalo
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems
 
Automating C# Coding Standards using StyleCop and FxCop
Automating C# Coding Standards using StyleCop and FxCopAutomating C# Coding Standards using StyleCop and FxCop
Automating C# Coding Standards using StyleCop and FxCopBlackRabbitCoder
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataCory Foy
 
Converting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000DConverting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000Ddclsocialmedia
 
ch04-css-basics_final.ppt
ch04-css-basics_final.pptch04-css-basics_final.ppt
ch04-css-basics_final.pptGmachImen
 
C STANDARDS (C17).pptx
C STANDARDS (C17).pptxC STANDARDS (C17).pptx
C STANDARDS (C17).pptxSKUP1
 
C STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptxC STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptxSKUP ACADEMY
 
C STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptxC STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptxSKUP ACADEMY
 
C STANDARDS (C17).pptx
C STANDARDS (C17).pptxC STANDARDS (C17).pptx
C STANDARDS (C17).pptxLECO9
 
Logic Formulation 2
Logic Formulation 2Logic Formulation 2
Logic Formulation 2deathful
 

Similar to Guided Authoring: Enforcing Editing Rules (20)

Abcxyz
AbcxyzAbcxyz
Abcxyz
 
c-coding-standards-and-best-programming-practices.ppt
c-coding-standards-and-best-programming-practices.pptc-coding-standards-and-best-programming-practices.ppt
c-coding-standards-and-best-programming-practices.ppt
 
Coding standards
Coding standardsCoding standards
Coding standards
 
Advantages of DITA for the Life Sciences
Advantages of DITA for the Life SciencesAdvantages of DITA for the Life Sciences
Advantages of DITA for the Life Sciences
 
Enforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic FixesEnforcing Business Rules - Automatic Fixes
Enforcing Business Rules - Automatic Fixes
 
High Quality C# - Codequality in Practice
High Quality C# - Codequality in PracticeHigh Quality C# - Codequality in Practice
High Quality C# - Codequality in Practice
 
Adobe analytics processing rule help doc.
Adobe analytics processing rule help doc.Adobe analytics processing rule help doc.
Adobe analytics processing rule help doc.
 
4. Web Technology CSS Basics-1
4. Web Technology CSS Basics-14. Web Technology CSS Basics-1
4. Web Technology CSS Basics-1
 
Code Smells and Refactoring - Satyajit Dey & Ashif Iqbal
Code Smells and Refactoring - Satyajit Dey & Ashif IqbalCode Smells and Refactoring - Satyajit Dey & Ashif Iqbal
Code Smells and Refactoring - Satyajit Dey & Ashif Iqbal
 
OutSystems Tips and Tricks
OutSystems Tips and TricksOutSystems Tips and Tricks
OutSystems Tips and Tricks
 
Automating C# Coding Standards using StyleCop and FxCop
Automating C# Coding Standards using StyleCop and FxCopAutomating C# Coding Standards using StyleCop and FxCop
Automating C# Coding Standards using StyleCop and FxCop
 
Getting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and DataGetting Unstuck: Working with Legacy Code and Data
Getting Unstuck: Working with Legacy Code and Data
 
Converting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000DConverting Your Legacy Data to S1000D
Converting Your Legacy Data to S1000D
 
ch04-css-basics_final.ppt
ch04-css-basics_final.pptch04-css-basics_final.ppt
ch04-css-basics_final.ppt
 
Webcast: DITA Best Practices
Webcast: DITA Best PracticesWebcast: DITA Best Practices
Webcast: DITA Best Practices
 
C STANDARDS (C17).pptx
C STANDARDS (C17).pptxC STANDARDS (C17).pptx
C STANDARDS (C17).pptx
 
C STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptxC STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptx
 
C STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptxC STANDARDS (C17) (1).pptx
C STANDARDS (C17) (1).pptx
 
C STANDARDS (C17).pptx
C STANDARDS (C17).pptxC STANDARDS (C17).pptx
C STANDARDS (C17).pptx
 
Logic Formulation 2
Logic Formulation 2Logic Formulation 2
Logic Formulation 2
 

More from Octavian Nadolu

YAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenYAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenOctavian Nadolu
 
Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...Octavian Nadolu
 
OpenAPI/AsyncAPI Support in Oxygen
OpenAPI/AsyncAPI Support in OxygenOpenAPI/AsyncAPI Support in Oxygen
OpenAPI/AsyncAPI Support in OxygenOctavian Nadolu
 
Validating XML and JSON Documents Using Oxygen Scripting
 Validating XML and JSON Documents Using Oxygen Scripting Validating XML and JSON Documents Using Oxygen Scripting
Validating XML and JSON Documents Using Oxygen ScriptingOctavian Nadolu
 
OpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOctavian Nadolu
 
JSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIJSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIOctavian Nadolu
 
Create an Design JSON Schema
Create an Design JSON SchemaCreate an Design JSON Schema
Create an Design JSON SchemaOctavian Nadolu
 
Compare And Merge Scripts
Compare And Merge ScriptsCompare And Merge Scripts
Compare And Merge ScriptsOctavian Nadolu
 
Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML LanguagesOctavian Nadolu
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenOctavian Nadolu
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing ValidationOctavian Nadolu
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronOctavian Nadolu
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to SchematronOctavian Nadolu
 
JSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertJSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertOctavian Nadolu
 
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
 
Collaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessCollaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessOctavian Nadolu
 

More from Octavian Nadolu (20)

YAML Editing and Validation In Oxygen
YAML Editing and Validation In OxygenYAML Editing and Validation In Oxygen
YAML Editing and Validation In Oxygen
 
Oxygen JSON Editor
Oxygen JSON EditorOxygen JSON Editor
Oxygen JSON Editor
 
Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...Leveraging the Power of AI and Schematron for Content Verification and Correc...
Leveraging the Power of AI and Schematron for Content Verification and Correc...
 
OpenAPI/AsyncAPI Support in Oxygen
OpenAPI/AsyncAPI Support in OxygenOpenAPI/AsyncAPI Support in Oxygen
OpenAPI/AsyncAPI Support in Oxygen
 
Validating XML and JSON Documents Using Oxygen Scripting
 Validating XML and JSON Documents Using Oxygen Scripting Validating XML and JSON Documents Using Oxygen Scripting
Validating XML and JSON Documents Using Oxygen Scripting
 
OpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and DocumentingOpenAPI Editing, Testing, and Documenting
OpenAPI Editing, Testing, and Documenting
 
JSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPIJSON, JSON Schema, and OpenAPI
JSON, JSON Schema, and OpenAPI
 
Create an Design JSON Schema
Create an Design JSON SchemaCreate an Design JSON Schema
Create an Design JSON Schema
 
Compare And Merge Scripts
Compare And Merge ScriptsCompare And Merge Scripts
Compare And Merge Scripts
 
JSON Schema Design
JSON Schema DesignJSON Schema Design
JSON Schema Design
 
Schematron For Non-XML Languages
Schematron For Non-XML LanguagesSchematron For Non-XML Languages
Schematron For Non-XML Languages
 
JSON and JSON Schema in Oxygen
JSON and JSON Schema in OxygenJSON and JSON Schema in Oxygen
JSON and JSON Schema in Oxygen
 
HTML5 Editing Validation
HTML5 Editing ValidationHTML5 Editing Validation
HTML5 Editing Validation
 
Documentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO SchematronDocumentation Quality Assurance with ISO Schematron
Documentation Quality Assurance with ISO Schematron
 
Introduction to Schematron
Introduction to SchematronIntroduction to Schematron
Introduction to Schematron
 
Hands on JSON
Hands on JSONHands on JSON
Hands on JSON
 
JSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and ConvertJSON Edit, Validate, Query, Transform, and Convert
JSON Edit, Validate, Query, Transform, and Convert
 
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
 
Collaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation ProcessCollaboration Tools to Help Improve Documentation Process
Collaboration Tools to Help Improve Documentation Process
 
Schematron step-by-step
Schematron step-by-stepSchematron step-by-step
Schematron step-by-step
 

Recently uploaded

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Recently uploaded (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Guided Authoring: Enforcing Editing Rules

  • 1. Guided Authoring: Enforcing Editing Rules Octavian Nadolu octavian_nadolu@oxygenxml.com @OctavianNadolu
  • 2. Enforcing Editing RulesEnforcing Editing Rules Overview ● Guiding users to choose the correct markup in certain situations ● Imposing a set of business rules ● Identifying potential problems in generated output ● Solutions for fixing the signaled rule violations
  • 3. Enforcing Editing RulesEnforcing Editing Rules Enforcing Editing Rules
  • 4. Enforcing Editing RulesEnforcing Editing Rules Guiding the User
  • 5. Enforcing Editing RulesEnforcing Editing Rules Document Structure
  • 6. Enforcing Editing RulesEnforcing Editing Rules Document Structure Rules ● Impose a document structure using a schema language: – DTD – XML Schema – Relax NG – NVDL ● Oxygen supports all schema languages
  • 7. Enforcing Editing RulesEnforcing Editing Rules Content Completion and Annotations
  • 8. Enforcing Editing RulesEnforcing Editing Rules Content Completion and Annotations ✔ Suggestions to insert valid markup ✔ Annotations to help you understand what the markup represents ✔ Links to the specification and style guide
  • 9. Enforcing Editing RulesEnforcing Editing Rules Limit the Number of Proposals ~15 proposals ~90 proposals
  • 10. Enforcing Editing RulesEnforcing Editing Rules Limit the Number of Proposals ✔ Help the user to choose the right elements and attributes in particular contexts ✔ Configure the proposals for elements and attributes ✔ Lightweight DITA ✔ Controlled Values & Markup Options presented at oXygen Users Meetup
  • 11. Enforcing Editing RulesEnforcing Editing Rules Show Hints
  • 12. Enforcing Editing RulesEnforcing Editing Rules Show Hints ✔ Signal document structure problems ✔ Suggestions to correct the problems ✔ Preferences to change the schema-aware options
  • 13. Enforcing Editing RulesEnforcing Editing Rules Signal Problems and Offer Solutions
  • 14. Enforcing Editing RulesEnforcing Editing Rules ✔ Actions to guide the user to fix the problems ✔ Multiple solutions for a problem ✔ Better understanding of the problem Signal Problems and Offer Solutions
  • 15. Enforcing Editing RulesEnforcing Editing Rules Business Rules Rules for your documents that cannot be imposed by the schema Examples: ● Titles should have content ● Consecutive lists are not allowed ● IDs must follow a certain pattern ● Consecutive notes of a same type ● Too many entries in a table row ● Sections must have IDs ● Titles are too long ● ...
  • 16. Enforcing Editing RulesEnforcing Editing Rules Team Collaboration All team members must follow the same rules
  • 17. Enforcing Editing RulesEnforcing Editing Rules Rules for All Documents
  • 18. Enforcing Editing RulesEnforcing Editing Rules Business Rule Types Various types of business rules: ● Simple style rules ● Editing consistency rules ● Structure rules ● Output related rules
  • 19. Enforcing Editing RulesEnforcing Editing Rules Simple Style Rules Styling is not allowed in titles Semicolon is not allowed at the end of a list item Text in the link and the value of the @href are the same
  • 20. Enforcing Editing RulesEnforcing Editing Rules Simple Style Rules Other simple style rules: – No empty titles – Titles should not exceed a certain number of characters – Text is not allowed directly in the section – The figure element should always be wrapped in a paragraph – The definition list element should be wrapped in a paragraph to make the output look better – Report possible cases where a codeblock contains XML that was not marked appropriately
  • 21. Enforcing Editing RulesEnforcing Editing Rules Editing Consistency Rules Topic ID must be equal to file name All sections should have an @id Consecutive lists are not allowed
  • 22. Enforcing Editing RulesEnforcing Editing Rules Editing Consistency Rules Other editing consistency rules: – IDs must follow a pattern – The list should have an ID attribute – Consecutive notes of a same type are not allowed – For sections with examples in the title, use a specialized element – We should avoid using 'oXygen' inside index term elements – Remove "(Optional)" text from step elements and add the attribute @importance=”optional” instead.
  • 23. Enforcing Editing RulesEnforcing Editing Rules Structure Rules Missing cells in a table Too many nested lists List contains only one item
  • 24. Enforcing Editing RulesEnforcing Editing Rules Structure Rules Other structure rules: – Tables with more entries than number of columns – No image referenced in the fig element – XML Schema used instead of DTD – The figure should have a title – Menucascade element should have more than one uicontrol element
  • 25. Enforcing Editing RulesEnforcing Editing Rules Output Related Rules Impose rules to make sure your output will be generated correctly
  • 26. Enforcing Editing RulesEnforcing Editing Rules Output Related Rules
  • 27. Enforcing Editing RulesEnforcing Editing Rules Output Related Rules Other output required rules: – Title contains quotes. This breaks the Java Help System. – The indexterm element should be in a prolog – The figure element should always be in a paragraph – The definition list element should be wrapped in a paragraph to make the output look better – Text is not allowed directly in the section
  • 28. Enforcing Editing RulesEnforcing Editing Rules Business Rules Create business rules for your documents
  • 29. Enforcing Editing RulesEnforcing Editing Rules Business Rules ● Create business rules for your documents Impose rules for all of your documents
  • 30. Enforcing Editing RulesEnforcing Editing Rules Business Rules ● Create business rules for your documents ● Impose rules for all of your documents Add new rules when you encounter problems
  • 31. Enforcing Editing RulesEnforcing Editing Rules Business Rules ● Create business rules for your documents ● Impose rules for all of your documents ● Add new rules when you encounter problems Make sure that all of your team members follow the same rules
  • 32. Enforcing Editing RulesEnforcing Editing Rules Dynamic Information Model (DIM) ● An implementation of an intelligent style guide ● Describes and enforces rules ● Schematron for Information Architects presented by George Bina at XML Prague ● Open source project available on GitHub https://github.com/oxygenxml/dim
  • 33. Enforcing Editing RulesEnforcing Editing Rules What's Next? ● Extend multilingual support for proposed fixes ● Allow business rules to report information (as opposed to errors or warnings) ● Determine fix proposals in more situations when an automatic fix can be offered
  • 34. Enforcing Editing RulesEnforcing Editing Rules Business Rules Fix Proposals Discover the technology behind the fix proposals for business rules by attending our next webinar: Jul 14 Understanding and Developing Schematron Quick Fixes
  • 35. Enforcing Editing RulesEnforcing Editing Rules Thank you! Questions? <oXygen/> XML Editor http://www.oxygenxml.com octavian_nadolu@oxygenxml.com @OctavianNadolu