SlideShare a Scribd company logo
1 of 37
Download to read offline
YAML Editor
All rights reserved
Octavian Nadolu, Syncro Soft
octavian_nadolu@oxygenxml.com
@OctavianNadolu
YAML Support
in Oxygen
YAML Editor
Agenda
● YAML language
● Editing YAML documents
● Validating YAML documents
● Tools for YAML
● OpenAPI/AsyncAPI Support
● Future Plans
YAML Editor
Oxygen YAML Support
● YAML support is available in:
– Oxygen XML Editor
– Oxygen XML Developer
– Oxygen JSON Editor
YAML Editor
YAML
(Yet Another Markup Language)
(YAML Ain't Markup Language)
● First proposed by Clark Evans in 2001
● Human-friendly data serialization language
● Used for API and Configs
● Easy to read and understand
https://yaml.org
YAML Editor
YAML Specification Versions
● YAML 1.0 - 29 January 2004
● YAML 1.1 - 18 January 2005
● YAML 1.2.0 - 21 July 2009
● YAML 1.2.1 - 1 October 2009
● YAML 1.2.2 - 1 October 2021
JSON files are valid YAML 1.2
The YAML specification is often seen as overly complicated for something which
appears to be so simple.
YAML Editor
YAML Syntax
● File extension .yaml or .yml
● Whitespace indentation for block collections
● Mappings use a colon and space “: “
● Sequences starts with a dash and space “- “
● Comments begin with an hash (#)
YAML Editor
YAML Data Types
● Scalars
– String: Hello, ‘Hello’, “Hello”
– Number (integer or floating): 23, 1.56
– Boolean: true, false
● Sequence – list of values:
fruits:
- apple
- banana
- orange
● Map – key-value pair: name: John
● Null – represents the absence of value: null
YAML Editor
YAML vs Other Languages
YAML
personnel:
person:
- id: one.worker
name:
family: Worker
given: One
email: one@oxygenxml.com
link:
manager: Big.Boss
JSON
{
"personnel": {
"person": [
{
"id": "one.worker",
"name": {
"family": "Worker.One",
"given": "One"
},
"email": "one@oxygenxmlcom",
"link": {"manager": "Big.Boss"}
}
]
}
}
XML
<personnel>
<person>
<array>
<id>one.worker</id>
<name>
<family>Worker.One</family>
<given>One</given>
</name>
<email>one@oxygenxmlcom</email>
<link>
<manager>Big.Boss</manager>
</link>
</array>
</person>
</personnel>
YAML Editor
Question: How do you use YAML?
 Create configuration files
 For storing data
 Documentation and markup
 Build and deployment scripts
 Other (use the Questions pane)
YAML Editor
Editing YAML
● YAML Editor
● YAML Outline View
● Validation and Well-Formedness check
● Content Completion Assistant based on
JSON Schema
YAML Editor
YAML Editor
● Syntax Highlights
● Structure Folding
● Format and Indent
● New Document Templates
YAML Editor
New Document Templates
● Create new YAML based on JSON
Schema
● Generate properties and values
● Create your own custom document
templates (save in [OXYGEN_INSTALL_DIR]/
templates)
YAML Editor
Structure Folding
● Collapse/expand data enclosed between brackets
● Actions:
– Collapse Other Folds
– Collapse Child Folds
– Expand Child Folds
– Expand All
YAML Editor
Search and Refactor
● Use the “Find/Replace” dialog to search in YAML files
● Use “Manage Highlighted Content” to modify (in-place) all the occurrences of
the selected content
YAML Editor
YAML Outline View
● Document Overview
● Synchronization with Editor
● Filtering
● Error Markers
YAML Editor
JSON Schema
JSON Schema is a vocabulary that allows you to
annotate and validate YAML documents
http://json-schema.org
YAML Editor
Associate JSON Schema
● Associating a Schema to YAML Documents
– Directly in YAML Documents
$schema: person-schema.json
persons: ...
– In application options, through a Validation Scenario
Absolute or relative URI
YAML Editor
Content Completion
● Context-Sensitive
● Valid Proposals
● Documentation from Schema
● Code Templates
YAML Editor
Validating YAML Documents
● Checking Well-Formedness in YAML documents
● Validating YAML documents against JSON Schema
● Batch validate YAML documents
YAML Editor
Checking Well-Formedness
Check if the YAML document respects the YAML specification
person:
- id : jane.doe
firstname: Jane
lastname: Doe
email: jane@oxygenxml.com
age: 37
YAML Specification
https://yaml.org/spec/
YAML Editor
Checking Well-Formedness
● Built-in YAML Well-Formedness Scanner
● Automatically Check for Problems
● Manually Check for Problems
YAML Editor
Validating Against JSON Schema
● Associating a JSON Schema
● Automatic Validation
● Manual Validation Actions
● Presenting Validation Errors in YAML Documents
YAML Editor
Batch Validation
● Check for well-formedness on a project
● Validate multiple YAML documents
● Use Oxygen Scripting for validation on a continuous integration server
https://www.oxygenxml.com/oxygen_scripting.html
YAML Editor
Question: Do you use JSON Schema, what versions?
 No
 Yes. Draft 4, 6 or 7
 Yes. Version 2019-09 or 2020-12
 Yes. Other (use the Questions pane to
provide more details)
YAML Editor
YAML Tools
● Convert between YAML and JSON
● Convert between YAML and XML
● Batch conversion
– YAML to JSON
– JSON to YAML
– YAML to XML
– XML to YAML
YAML Editor
YAML to JSON
YAML Editor
OpenAPI/AsyncAPI Editor
● Syntax highlights
● Validation conforms with the schema
● Content completion based on the
schema
● Outline view
● Search and replace
YAML Editor
OpenAPI Documentation
● Tool for generating detailed documentation for OpenAPI documents in
HTML/DITA format
YAML Editor
OpenAPI Tester Tool
● GUI interface testing tool for OpenAPI files
● Execute API requests and validate responses
on the fly
● OpenAPI files in YAML format
● Run a test scenario
YAML Editor
YAML Frameworks
● Define custom framework for your YAML documents
● Associate JSON Schema for validation and content completion
● Define custom templates
YAML Editor
Question: What features do you consider more important?
 YAML
 JSON Schema
 OpenAPI/AsyncAPI
 Other (use the questions panel)
YAML Editor
Conclusion
● Smart editing support for YAML
● Validation and content completion using
JSON Schema
● Conversion tools
● OpenAPI/AsyncAPI in YAML
YAML Editor
Future Plans
● Author page for YAML
● Query YAML documents using XPath
● Transform YAML documents using XSLT
● feedback is welcome
YAML Editor
Question: What future developments would you like to see?
 Author page for YAML
 Query YAML documents using XPath
 Transform YAML documents using XSLT
 Other (use the question panel)
YAML Editor
Resources
● https://yaml.org/spec
● oxygenxml.com/json_editor/yaml.html
● oxygenxml.com/doc/ug-json/topics/editing-yaml.html
● oxygenxml.com/json_editor/videos.html
YAML Editor
Video Demos
● oxygenxml.com/demo/yaml_editing_support_in_oxygen.html
● oxygenxml.com/demo/introducing_the_json_schema_design.html
● oxygenxml.com/demo/json_author.html
● oxygenxml.com/demo/json_tools.html
● oxygenxml.com/demo/json_validation.html
● oxygenxml.com/demo/json_editing.html
● oxygenxml.com/demo/json_query.html
Questions?
Octavian Nadolu
Product Manager at Syncro Soft
octavian.nadolu@oxygenxml.com
Twitter: @OctavianNadolu
LinkedIn: octaviannadolu

More Related Content

Similar to YAML Editing and Validation In Oxygen (20)

Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
Module 5 XML Notes.pdf
Module 5 XML Notes.pdfModule 5 XML Notes.pdf
Module 5 XML Notes.pdf
 
EU 2016 - JSON, XML, and GML Made Easy
EU 2016 - JSON, XML, and GML Made EasyEU 2016 - JSON, XML, and GML Made Easy
EU 2016 - JSON, XML, and GML Made Easy
 
JSON, XML, and GML Made Easy
JSON, XML, and GML Made EasyJSON, XML, and GML Made Easy
JSON, XML, and GML Made Easy
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open Xml
 
RailsVsDjango
RailsVsDjangoRailsVsDjango
RailsVsDjango
 
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java processJdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
 
Web servicesoverview
Web servicesoverviewWeb servicesoverview
Web servicesoverview
 
XML-athon with Don and Dean
XML-athon with Don and DeanXML-athon with Don and Dean
XML-athon with Don and Dean
 
Introduction to xml
Introduction to xmlIntroduction to xml
Introduction to xml
 
API Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rantAPI Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rant
 
XML-INTRODUCTION.pdf
XML-INTRODUCTION.pdfXML-INTRODUCTION.pdf
XML-INTRODUCTION.pdf
 
XML
XMLXML
XML
 
Xml
XmlXml
Xml
 
XML Quick Fixes
XML Quick FixesXML Quick Fixes
XML Quick Fixes
 
XML
XMLXML
XML
 
HTML AND XML ppt.pptx
HTML AND XML ppt.pptxHTML AND XML ppt.pptx
HTML AND XML ppt.pptx
 
Enhancement of Action Description Language for UML Activity Diagram Review
Enhancement of Action Description Language for UML Activity Diagram ReviewEnhancement of Action Description Language for UML Activity Diagram Review
Enhancement of Action Description Language for UML Activity Diagram Review
 

More from Octavian 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
 
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
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentOctavian Nadolu
 
Comparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual ModeComparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual ModeOctavian Nadolu
 
Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Octavian Nadolu
 

More from Octavian Nadolu (20)

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
 
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
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - Development
 
Comparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual ModeComparing and Merging XML Documents in Visual Mode
Comparing and Merging XML Documents in Visual Mode
 
Schematron 2016 and SQF Update
Schematron 2016 and SQF Update Schematron 2016 and SQF Update
Schematron 2016 and SQF Update
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
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
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
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
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
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...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
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
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
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...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

YAML Editing and Validation In Oxygen

  • 1. YAML Editor All rights reserved Octavian Nadolu, Syncro Soft octavian_nadolu@oxygenxml.com @OctavianNadolu YAML Support in Oxygen
  • 2. YAML Editor Agenda ● YAML language ● Editing YAML documents ● Validating YAML documents ● Tools for YAML ● OpenAPI/AsyncAPI Support ● Future Plans
  • 3. YAML Editor Oxygen YAML Support ● YAML support is available in: – Oxygen XML Editor – Oxygen XML Developer – Oxygen JSON Editor
  • 4. YAML Editor YAML (Yet Another Markup Language) (YAML Ain't Markup Language) ● First proposed by Clark Evans in 2001 ● Human-friendly data serialization language ● Used for API and Configs ● Easy to read and understand https://yaml.org
  • 5. YAML Editor YAML Specification Versions ● YAML 1.0 - 29 January 2004 ● YAML 1.1 - 18 January 2005 ● YAML 1.2.0 - 21 July 2009 ● YAML 1.2.1 - 1 October 2009 ● YAML 1.2.2 - 1 October 2021 JSON files are valid YAML 1.2 The YAML specification is often seen as overly complicated for something which appears to be so simple.
  • 6. YAML Editor YAML Syntax ● File extension .yaml or .yml ● Whitespace indentation for block collections ● Mappings use a colon and space “: “ ● Sequences starts with a dash and space “- “ ● Comments begin with an hash (#)
  • 7. YAML Editor YAML Data Types ● Scalars – String: Hello, ‘Hello’, “Hello” – Number (integer or floating): 23, 1.56 – Boolean: true, false ● Sequence – list of values: fruits: - apple - banana - orange ● Map – key-value pair: name: John ● Null – represents the absence of value: null
  • 8. YAML Editor YAML vs Other Languages YAML personnel: person: - id: one.worker name: family: Worker given: One email: one@oxygenxml.com link: manager: Big.Boss JSON { "personnel": { "person": [ { "id": "one.worker", "name": { "family": "Worker.One", "given": "One" }, "email": "one@oxygenxmlcom", "link": {"manager": "Big.Boss"} } ] } } XML <personnel> <person> <array> <id>one.worker</id> <name> <family>Worker.One</family> <given>One</given> </name> <email>one@oxygenxmlcom</email> <link> <manager>Big.Boss</manager> </link> </array> </person> </personnel>
  • 9. YAML Editor Question: How do you use YAML?  Create configuration files  For storing data  Documentation and markup  Build and deployment scripts  Other (use the Questions pane)
  • 10. YAML Editor Editing YAML ● YAML Editor ● YAML Outline View ● Validation and Well-Formedness check ● Content Completion Assistant based on JSON Schema
  • 11. YAML Editor YAML Editor ● Syntax Highlights ● Structure Folding ● Format and Indent ● New Document Templates
  • 12. YAML Editor New Document Templates ● Create new YAML based on JSON Schema ● Generate properties and values ● Create your own custom document templates (save in [OXYGEN_INSTALL_DIR]/ templates)
  • 13. YAML Editor Structure Folding ● Collapse/expand data enclosed between brackets ● Actions: – Collapse Other Folds – Collapse Child Folds – Expand Child Folds – Expand All
  • 14. YAML Editor Search and Refactor ● Use the “Find/Replace” dialog to search in YAML files ● Use “Manage Highlighted Content” to modify (in-place) all the occurrences of the selected content
  • 15. YAML Editor YAML Outline View ● Document Overview ● Synchronization with Editor ● Filtering ● Error Markers
  • 16. YAML Editor JSON Schema JSON Schema is a vocabulary that allows you to annotate and validate YAML documents http://json-schema.org
  • 17. YAML Editor Associate JSON Schema ● Associating a Schema to YAML Documents – Directly in YAML Documents $schema: person-schema.json persons: ... – In application options, through a Validation Scenario Absolute or relative URI
  • 18. YAML Editor Content Completion ● Context-Sensitive ● Valid Proposals ● Documentation from Schema ● Code Templates
  • 19. YAML Editor Validating YAML Documents ● Checking Well-Formedness in YAML documents ● Validating YAML documents against JSON Schema ● Batch validate YAML documents
  • 20. YAML Editor Checking Well-Formedness Check if the YAML document respects the YAML specification person: - id : jane.doe firstname: Jane lastname: Doe email: jane@oxygenxml.com age: 37 YAML Specification https://yaml.org/spec/
  • 21. YAML Editor Checking Well-Formedness ● Built-in YAML Well-Formedness Scanner ● Automatically Check for Problems ● Manually Check for Problems
  • 22. YAML Editor Validating Against JSON Schema ● Associating a JSON Schema ● Automatic Validation ● Manual Validation Actions ● Presenting Validation Errors in YAML Documents
  • 23. YAML Editor Batch Validation ● Check for well-formedness on a project ● Validate multiple YAML documents ● Use Oxygen Scripting for validation on a continuous integration server https://www.oxygenxml.com/oxygen_scripting.html
  • 24. YAML Editor Question: Do you use JSON Schema, what versions?  No  Yes. Draft 4, 6 or 7  Yes. Version 2019-09 or 2020-12  Yes. Other (use the Questions pane to provide more details)
  • 25. YAML Editor YAML Tools ● Convert between YAML and JSON ● Convert between YAML and XML ● Batch conversion – YAML to JSON – JSON to YAML – YAML to XML – XML to YAML
  • 27. YAML Editor OpenAPI/AsyncAPI Editor ● Syntax highlights ● Validation conforms with the schema ● Content completion based on the schema ● Outline view ● Search and replace
  • 28. YAML Editor OpenAPI Documentation ● Tool for generating detailed documentation for OpenAPI documents in HTML/DITA format
  • 29. YAML Editor OpenAPI Tester Tool ● GUI interface testing tool for OpenAPI files ● Execute API requests and validate responses on the fly ● OpenAPI files in YAML format ● Run a test scenario
  • 30. YAML Editor YAML Frameworks ● Define custom framework for your YAML documents ● Associate JSON Schema for validation and content completion ● Define custom templates
  • 31. YAML Editor Question: What features do you consider more important?  YAML  JSON Schema  OpenAPI/AsyncAPI  Other (use the questions panel)
  • 32. YAML Editor Conclusion ● Smart editing support for YAML ● Validation and content completion using JSON Schema ● Conversion tools ● OpenAPI/AsyncAPI in YAML
  • 33. YAML Editor Future Plans ● Author page for YAML ● Query YAML documents using XPath ● Transform YAML documents using XSLT ● feedback is welcome
  • 34. YAML Editor Question: What future developments would you like to see?  Author page for YAML  Query YAML documents using XPath  Transform YAML documents using XSLT  Other (use the question panel)
  • 35. YAML Editor Resources ● https://yaml.org/spec ● oxygenxml.com/json_editor/yaml.html ● oxygenxml.com/doc/ug-json/topics/editing-yaml.html ● oxygenxml.com/json_editor/videos.html
  • 36. YAML Editor Video Demos ● oxygenxml.com/demo/yaml_editing_support_in_oxygen.html ● oxygenxml.com/demo/introducing_the_json_schema_design.html ● oxygenxml.com/demo/json_author.html ● oxygenxml.com/demo/json_tools.html ● oxygenxml.com/demo/json_validation.html ● oxygenxml.com/demo/json_editing.html ● oxygenxml.com/demo/json_query.html
  • 37. Questions? Octavian Nadolu Product Manager at Syncro Soft octavian.nadolu@oxygenxml.com Twitter: @OctavianNadolu LinkedIn: octaviannadolu