public static OperationOutcome ValidatePattern(this Validator v, ElementDefinition definition, IElementNavigator instance) { var outcome = new OperationOutcome(); if (definition.Pattern != null) { IElementNavigator patternValueNav = new PocoNavigator(definition.Pattern); if (!instance.Matches(patternValueNav)) { v.Trace(outcome, $"Value does not match pattern '{toReadable(definition.Pattern)}'", Issue.CONTENT_DOES_NOT_MATCH_PATTERN_VALUE, instance); } } return(outcome); }