Skip to content

v0.9.2

Latest

Choose a tag to compare

@daveshanley daveshanley released this 08 Nov 13:41

Added a new XMLValidator interface and the ability validate (in a simple mechanism) XML is valid.

// XMLValidator is an interface that defines methods for validating XML against OpenAPI schemas.
// There are 2 methods for validating XML:
//
//	ValidateXMLString validates an XML string against a schema, applying OpenAPI xml object transformations.
//	ValidateXMLStringWithVersion - version-aware XML validation that allows OpenAPI 3.0 keywords when version is specified.
type XMLValidator interface {
	// ValidateXMLString validates an XML string against an OpenAPI schema, applying xml object transformations.
	// Uses OpenAPI 3.1+ validation by default (strict JSON Schema compliance).
	ValidateXMLString(schema *base.Schema, xmlString string) (bool, []*liberrors.ValidationError)

	// ValidateXMLStringWithVersion validates an XML string with version-specific rules.
	// When version is 3.0, OpenAPI 3.0-specific keywords like 'nullable' are allowed and processed.
	// When version is 3.1+, OpenAPI 3.0-specific keywords like 'nullable' will cause validation to fail.
	ValidateXMLStringWithVersion(schema *base.Schema, xmlString string, version float32) (bool, []*liberrors.ValidationError)
}