001package org.hl7.fhir.validation.cli.utils; 002 003import org.hl7.fhir.r5.elementmodel.Manager; 004import org.hl7.fhir.utilities.validation.ValidationMessage; 005import org.xml.sax.SAXException; 006 007import java.io.FileNotFoundException; 008import java.io.IOException; 009import java.util.List; 010 011public class SchemaValidator { 012 013 public static void validateSchema(String location, Manager.FhirFormat cntType, List<ValidationMessage> messages) throws IOException, SAXException { 014 if (cntType == Manager.FhirFormat.JSON) 015 validateJsonSchema(location, messages); 016 if (cntType == Manager.FhirFormat.XML) 017 validateXmlSchema(location, messages); 018 if (cntType == Manager.FhirFormat.TURTLE) 019 validateSHEX(location, messages); 020 } 021 022 private static void validateSHEX(String location, List<ValidationMessage> messages) { 023 messages.add(new ValidationMessage(ValidationMessage.Source.InstanceValidator, ValidationMessage.IssueType.INFORMATIONAL, location, "SHEX Validation is not done yet", ValidationMessage.IssueSeverity.INFORMATION)); 024 } 025 026 private static void validateXmlSchema(String location, List<ValidationMessage> messages) throws FileNotFoundException, IOException, SAXException { 027 messages.add(new ValidationMessage(ValidationMessage.Source.InstanceValidator, ValidationMessage.IssueType.INFORMATIONAL, location, "XML Schema Validation is not done yet", ValidationMessage.IssueSeverity.INFORMATION)); 028 } 029 030 private static void validateJsonSchema(String location, List<ValidationMessage> messages) { 031 messages.add(new ValidationMessage(ValidationMessage.Source.InstanceValidator, ValidationMessage.IssueType.INFORMATIONAL, location, "JSON Schema Validation is not done yet", ValidationMessage.IssueSeverity.INFORMATION)); 032 } 033}