public static void ConvertOutputXmlFileToOutputFlatFile(TransformBase map, string outputXmlFilename, string outputFlatFileFilename, bool validateFlatFile) { if (map == null) { throw new ArgumentNullException(nameof(map)); } ITOMErrorInfo[] creationErrors = null; string targetSchemaClassName = map.TargetSchemas[0]; CMapperSchemaTree targetSchemaTree = BizTalkMapSchemaUtility.CreateSchemaTreeAndLoadSchema(map, targetSchemaClassName); if (!targetSchemaTree.CreateNativeInstanceFromXMLInstance(outputXmlFilename, outputFlatFileFilename, out creationErrors)) { string message = "No details provided."; if (creationErrors != null) { var messages = creationErrors.Select(e => $"Line:{e.LineNumber} Position:{e.LinePosition} {(e.IsWarning ? "Warning: " : "Error: ")} {e.ErrorInfo}"); message = string.Join(". " + Environment.NewLine, messages); } throw new InvalidDataException($"An error occurred while converting from XML to a flat file format: {Environment.NewLine}{message}"); } if (validateFlatFile) { BizTalkXmlMapTestValidator.ValidateFlatFile(outputFlatFileFilename, targetSchemaTree, targetSchemaClassName); } }
public static CMapperSchemaTree CreateSchemaTreeAndLoadSchema(TransformBase map, string schemaClassName) { string errorMessage = null; CMapperSchemaTree schemaTree = BizTalkMapSchemaUtility.CreateSchemaTree(map); if (!schemaTree.LoadFromDotNetPath(schemaClassName, null, out errorMessage)) { throw new TypeLoadException($"An error occurred while loading the schema type '{schemaClassName}': {errorMessage}"); } return(schemaTree); }
public static CMapperSchemaTree CreateSchemaTree(TransformBase map) { var schemaLoader = new BizTalkMapSchemaArtifactLoader(map); var schemaResolveHandler = new SchemaResolver(); schemaResolveHandler.CustomResolution(schemaLoader); var schemaTree = new CMapperSchemaTree(); schemaTree.SetSchemaResolveHandler(schemaResolveHandler); return(schemaTree); }
public static XNode ConvertInputFlatFileContentsToInputXml(TransformBase map, string inputFlatFileContents) { if (map == null) { throw new ArgumentNullException(nameof(map)); } string sourceSchemaClassName = map.SourceSchemas[0]; CMapperSchemaTree sourceSchemaTree = BizTalkMapSchemaUtility.CreateSchemaTreeAndLoadSchema(map, sourceSchemaClassName); string convertedXml = BizTalkXmlMapTestValidator.ValidateFlatFileContents(inputFlatFileContents, sourceSchemaTree, sourceSchemaClassName); return(XElement.Parse(convertedXml)); }