public static void AddMaindocSchemas(this XmlSchemaSet @this, UblXsdSettings ublSettings)
        {
            XmlReaderSettings readerSettings = new XmlReaderSettings
            {
                ValidationType = ValidationType.Schema,
                DtdProcessing  = DtdProcessing.Parse, // will crash without this
                NameTable      = @this.NameTable,
            };

            // ubl2.1: Have to preload this file to avoid parsing error due to missing DtdProcessing.Parse setting for implicit includes/imports
            string preloadFilename = ublSettings.CommonDirectory.GetFiles("UBL-xmldsig-core-schema-*.xsd").FirstOrDefault()?.FullName;

            if (!string.IsNullOrEmpty(preloadFilename))
            {
                @this.AddSchemaFile(preloadFilename, readerSettings, ublSettings.XsdValidationEvent);
            }

            foreach (var xsdFile in ublSettings.MaindocDirectory.GetFiles("*.xsd"))
            {
                var schema = @this.AddSchemaFile(xsdFile.FullName, readerSettings, ublSettings.XsdValidationEvent);
            }
        }