Class: Uniword::Validation::Validators::DocumentSemanticsValidator
- Inherits:
-
LayerValidator
- Object
- LayerValidator
- Uniword::Validation::Validators::DocumentSemanticsValidator
- Defined in:
- lib/uniword/validation/validators/document_semantics_validator.rb
Overview
Validates document semantic structure using extensible rules.
Uses the Rules::Registry to discover and apply validation rules. Users can register custom rules via Rules::Registry.register(MyRule).
This is Layer 7 validation — validates cross-part references, content integrity, and structural consistency.
Constant Summary collapse
- WORDML_NAMESPACE =
"http://schemas.openxmlformats.org/wordprocessingml/2006/main"
Instance Attribute Summary
Attributes inherited from LayerValidator
Instance Method Summary collapse
Methods inherited from LayerValidator
Constructor Details
This class inherits a constructor from Uniword::Validation::LayerValidator
Instance Method Details
#layer_name ⇒ Object
24 25 26 |
# File 'lib/uniword/validation/validators/document_semantics_validator.rb', line 24 def layer_name "Document Semantics" end |
#validate(path) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/uniword/validation/validators/document_semantics_validator.rb', line 28 def validate(path) issues = [] context = Rules::DocumentContext.new(path) begin issues = Engine.run(context) ensure context.close end build_result(issues) rescue StandardError => e issues << Report::ValidationIssue.new( severity: "error", code: "DOC-000", message: "Semantic validation failed: #{e.}", ) build_result(issues) end |