# NAME Schema::Validator - Tools for validating and loading Schema.org vocabulary definitions # VERSION Version 0.01 # SYNOPSIS ## FROM THE COMMAND LINE bin/validate-schema --file index.html ## FROM PERL use Schema::Validator qw(is_valid_datetime load_dynamic_vocabulary); # Validate datetime strings if (is_valid_datetime('2024-11-14')) { print "Valid date\n"; } if (is_valid_datetime('2024-11-14T15:30:00')) { print "Valid datetime\n"; } # Load Schema.org vocabulary my %schema = load_dynamic_vocabulary(); # Access loaded schema definitions print 'Classes: ', scalar(keys %Schema::Validator::dynamic_schema), "\n"; print 'Properties: ', scalar(keys %Schema::Validator::dynamic_properties), "\n"; # DESCRIPTION Schema::Validator provides utilities for working with Schema.org structured data vocabularies. It includes functions for validating datetime formats and dynamically loading Schema.org class and property definitions from the official Schema.org JSON-LD vocabulary file. ## Command Line Schema.org Validator This repository contains a Schema.org validator that scans HTML files for embedded JSON-LD (\`application/ld+json\` blocks) and validates them against a local schema definition. It can optionally output diagnostics in SARIF format for GitHub Code Scanning integration. The Validator is a versatile tool designed to help you validate structured data embedded in your HTML files. At its core, the script parses HTML to extract