Start Coding

YAML Document Separators

YAML document separators are essential elements in YAML files that allow multiple documents to coexist within a single file. They provide a clear way to distinguish between separate YAML structures, enhancing organization and readability.

What are YAML Document Separators?

Document separators in YAML are represented by three consecutive hyphens (---) on a line by themselves. They serve as boundaries between distinct YAML documents, enabling you to store multiple independent data structures in one file.

Syntax and Usage

To use YAML document separators, simply place the --- sequence on a new line between your YAML documents. Here's a basic example:

---
document: 1
key: value
---
document: 2
another_key: another_value

In this example, we have two separate YAML documents within the same file, each containing its own set of key-value pairs.

Common Use Cases

YAML document separators are particularly useful in several scenarios:

  • Configuration files with multiple environments
  • Batch processing of multiple data sets
  • Storing related but independent data structures
  • Separating metadata from content in a single file

Advanced Example

Let's look at a more complex example using document separators in a configuration file:

---
# Development environment
environment: development
database:
  host: localhost
  port: 5432
---
# Production environment
environment: production
database:
  host: db.example.com
  port: 5432
logging:
  level: warn

This example demonstrates how document separators can be used to define configurations for different environments within a single YAML file.

Best Practices

  • Always start the first document with a separator for consistency
  • Use comments to describe each document's purpose
  • Ensure each document is complete and valid on its own
  • Consider using YAML Multiple Documents for complex configurations

Considerations

When working with YAML document separators, keep these points in mind:

  • Not all YAML parsers support multiple documents by default
  • The last document in a file doesn't require a trailing separator
  • Empty documents (just separators with no content) are valid and can be used intentionally

Related Concepts

To further enhance your understanding of YAML, explore these related topics:

By mastering YAML document separators, you'll be able to create more organized and flexible YAML files, improving your data structuring capabilities across various applications and use cases.