public void Validate(ValidationContext context, XDocument rulePackXDocument)
        {
            if (context.IsPayloadOobRuleCollection)
            {
                return;
            }
            string text = context.ValidatedRuleCollectionDocument ?? XmlProcessingUtils.XDocumentToStringWithDeclaration(rulePackXDocument);

            ClassificationRuleCollectionRuntimeValidator.ValidateRulePackageContentsAgainstMce(context.CurrentOrganizationId, rulePackXDocument, text);
            if (context.ValidatedRuleCollectionDocument == null)
            {
                context.ValidatedRuleCollectionDocument = text;
            }
        }
        internal static string ValidateRulePackageContents(ValidationContext context, XDocument rulePackXDocument)
        {
            IValidationPipelineBuilder validationPipelineBuilder = new DefaultValidationPipelineBuilder();

            validationPipelineBuilder.BuildCoreValidators();
            validationPipelineBuilder.BuildSupplementaryValidators();
            IEnumerable <IClassificationRuleCollectionValidator> result = validationPipelineBuilder.Result;

            foreach (IClassificationRuleCollectionValidator classificationRuleCollectionValidator in result)
            {
                classificationRuleCollectionValidator.Validate(context, rulePackXDocument);
            }
            string result2;

            if ((result2 = context.ValidatedRuleCollectionDocument) == null)
            {
                result2 = (context.ValidatedRuleCollectionDocument = XmlProcessingUtils.XDocumentToStringWithDeclaration(rulePackXDocument));
            }
            return(result2);
        }