in log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/generator/SchemaGenerator.java [66:88]
public static void generateSchema(final SchemaGeneratorArgs args) throws XMLStreamException {
requireNonNull(args, "args");
try {
final List<PluginSet> extendedSets = Stream.concat(BaseTypes.PLUGIN_SETS.stream(), args.pluginSets.stream())
.collect(Collectors.toList());
final TypeLookup lookup = TypeLookup.of(extendedSets, args.classNameFilter);
final XMLOutputFactory factory = XMLOutputFactory.newFactory();
@Nullable final Path schemaFileParent = args.schemaFile.getParent();
if (schemaFileParent != null) {
Files.createDirectories(schemaFileParent);
}
try (final OutputStream schemaPathOutputStream = Files.newOutputStream(args.schemaFile)) {
final XMLStreamWriter writer = factory.createXMLStreamWriter(schemaPathOutputStream, CHARSET_NAME);
try {
writeSchema(args.schemaVersion, lookup, writer);
} finally {
writer.close();
}
}
} catch (final IOException error) {
throw new XMLStreamException(error);
}
}