Class: Lutaml::Xsd::Validation::Validator
- Inherits:
-
Object
- Object
- Lutaml::Xsd::Validation::Validator
- Defined in:
- lib/lutaml/xsd/validation/validator.rb
Overview
Validator provides the main facade for XML validation against XSD schemas
This class serves as the primary entry point for validating XML instances against XSD schemas loaded from packages or repositories. It handles schema resolution, configuration loading, and delegates the actual validation work to ValidationJob.
Instance Method Summary collapse
-
#initialize(schema_source, config: nil) ⇒ Validator
constructor
Initialize a new Validator.
-
#validate(xml_content) ⇒ ValidationResult
Validate an XML document against the loaded schema.
Constructor Details
#initialize(schema_source, config: nil) ⇒ Validator
Initialize a new Validator
43 44 45 46 47 |
# File 'lib/lutaml/xsd/validation/validator.rb', line 43 def initialize(schema_source, config: nil) @repository = resolve_repository(schema_source) @config = load_configuration(config) @rule_registry = build_rule_registry end |
Instance Method Details
#validate(xml_content) ⇒ ValidationResult
Validate an XML document against the loaded schema
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/lutaml/xsd/validation/validator.rb', line 57 def validate(xml_content) raise ArgumentError, "xml_content cannot be nil" if xml_content.nil? if xml_content.empty? raise ArgumentError, "xml_content cannot be empty" end job = Validation::ValidationJob.new( xml_content: xml_content, repository: @repository, rule_registry: @rule_registry, config: @config, ) job.execute end |