static Optional<Model> fromXml(DeployState ds, Element parent, String name, Set<String> requiredTags) {
        return XmlHelper.getOptionalChild(parent, name).map(e -> fromXml(ds, e, requiredTags));
    }
@Test
    void invalid_url(){
        var xml = """
                <component id="bert-embedder" type="bert-embedder">
                  <transformer-model url="models/e5-base-v2.onnx" />
                  <tokenizer-vocab path="models/vocab.txt"/>
                </component>
                """;

        var state = new DeployState.Builder().build();
        var element = XML.getDocument(xml).getDocumentElement();
var exception = assertThrows(IllegalArgumentException.class,
                     () -> Model.fromXml(state, element, "transformer-model", Set.of()));
org.junit.jupiter.api.Assertions.assertEquals("Invalid url 'models/e5-base-v2.onnx': url has no 'scheme' component", exception.getMessage());                   
    }