示例#1
0
        public static bool XmlValidate(XDocument xml, Enumeration.PurposeType purpose, string path, out string message)
        {
            var result = true;

            message = string.Empty;

            var schema = GetSchema(purpose, path);

            if (schema == null)
            {
                Console.WriteLine("wrong purpose");
                return(false);
            }

            try
            {
                xml.Validate(schema, ValidationEventHandler);
            }
            catch (Exception e)
            {
                //Console.WriteLine(e.Message);
                message = e.Message;
                result  = false;
            }
            return(result);
        }
示例#2
0
        /// <summary>
        /// Get XML schema by purpose
        /// </summary>
        /// <param name="purpose"></param>
        /// <param name="path"></param>
        /// <returns></returns>
        private static XmlSchemaSet GetSchema(Enumeration.PurposeType purpose, string path)
        {
            var schema = new XmlSchemaSet();

            switch (purpose)
            {
            case Enumeration.PurposeType.Creation:          //step 1
            case Enumeration.PurposeType.T1Amendment:       //step 3
                schema.Add("", path + "PurchaseOrderv1_0.xsd");
                break;

            case Enumeration.PurposeType.Confirmation:            //step 2
            case Enumeration.PurposeType.T1AmendmentConfirmation: //step 4
            case Enumeration.PurposeType.T2Amendment:             //step 5
                schema.Add("", path + "POResponseAndAmendmentv1_0.xsd");
                break;

            case Enumeration.PurposeType.T2AmendmentAcknowledgement:    //step 6
            case Enumeration.PurposeType.CancellationConfirmation:      //step 8
                schema.Add("", path + "Acknowledgementv1_0.xsd");
                break;

            case Enumeration.PurposeType.Cancellation:      //step 7
                schema.Add("", path + "POCancellationv1_0.xsd");
                break;

            default:
                schema = null;
                break;
            }
            return(schema);
        }