private void ser_XmlAttributeOverrideMappingEvent(object sender, XmlAttributeOverrideMappingArgs e)
 {
     // Add Array Items for Pages in DesignerPages
     //XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(DesignerPage), "DesignerPage",true);
     //e.XmlMemberOverrides.Add(typeof(DesignerPagesConfiguration), "Pages", e.XmlAttribute);
     XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(DesignerPage), "Name", "name");
     XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(DesignerPage), "Type", "type");
 }
コード例 #2
0
 public static void AddAttributeMemberMapping(XmlAttributeOverrideMappingArgs mappings, Type type, string member, string attributeName, string attributeNamespace)
 {
     XmlAttributes at = new XmlAttributes();
     XmlAttributeAttribute att = new XmlAttributeAttribute(attributeName);
     att.Namespace = attributeNamespace;
     at.XmlAttribute = att;
     mappings.XmlMemberOverrides.Add(type, member, at);
 }
コード例 #3
0
 public static void AddTypeMemberMapping(XmlAttributeOverrideMappingArgs mappings, Type type, string typeName, string namespaces)
 {
     XmlAttributes at = new XmlAttributes();
     XmlTypeAttribute att = new XmlTypeAttribute(typeName);
     att.Namespace = namespaces;
     at.XmlType = att;
     mappings.XmlMemberOverrides.Add(type, at);
 }
コード例 #4
0
 public static void AddMemberMapping(XmlAttributeOverrideMappingArgs mappings, string member)
 {
     mappings.XmlMemberOverrides.Add(mappings.Type, member, mappings.XmlAttribute);
 }
コード例 #5
0
 /// <summary>
 /// Contains the configuration section type mapping overrides.
 /// </summary>
 /// <param name="sender"> The sender object.</param>
 /// <param name="e"> The EventArgs arguments.</param>
 protected virtual void ConfigurationSectionOverrideTypeMapping(object sender, XmlAttributeOverrideMappingArgs e)
 {
 }
コード例 #6
0
        private void ser_XmlAttributeOverrideMappingEvent(object sender, XmlAttributeOverrideMappingArgs e)
        {
            // SessionApplication Namespace
            // http://schemas.ecyware.com/2005/01/Ecyware-GreenBlue-ScriptingApplication
            string namesp = "http://schemas.ecyware.com/2005/01/Ecyware-GreenBlue-ScriptingApplication";
            XmlTypeSerializerHelper.AddTypeMemberMapping(e, typeof(Ecyware.GreenBlue.Protocols.Http.Scripting.ScriptingApplication),"ScriptingApplication",namesp);

            e.XmlAttribute = e.NewXmlAttribute;

            // Add Array Items for Tags in Ecyware.GreenBlue.HtmlDom.HtmlTagListXml
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlALinkTag),"HtmlAnchorLink", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlAnchorTag),"HtmlAnchor", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlButtonTag),"HtmlButton", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlInputTag),"HtmlInput", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTextAreaTag),"HtmlTextArea", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlLinkTag),"HtmlLink", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlSelectTag),"HtmlSelect", true);

            e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagListXml), "Tags", e.XmlAttribute);
            e.XmlAttribute = e.NewXmlAttribute;

            // Add Element member mapping for WebRequest
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(GetWebRequest), "GetSessionRequest");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(PostWebRequest), "PostSessionRequest");
            e.XmlAttribute.XmlRoot =  new System.Xml.Serialization.XmlRootAttribute();
            e.XmlAttribute.XmlRoot.ElementName = "WebRequest";

            e.XmlMemberOverrides.Add(typeof(WebRequest), e.XmlAttribute);

            //			Attributes
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "FormIndex", "index");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Method", "method");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Action", "action");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Protocols.Http.Scripting.WebRequest), "ID", "id");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Protocols.Http.Scripting.Cookie), "Name", "name");

            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagListXml), "Field");
            e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Elements", e.XmlAttribute);

            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagListXml), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagBase), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagBase), "Type", "type");

            e.XmlAttribute = e.NewXmlAttribute;

            //			foreach ( TransformProvider transformProvider in transformConfig.Transforms )
            //			{
            //				string[] typeName = transformProvider.Type.Split(new char[] {','})[0].Split(new char[] {','});
            //				string className = typeName[typeName.Length - 1];
            //				XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, Type.GetType(transformProvider.Type), className, true);
            //			}
            // Add Array Items for InputTransforms and OutputTransforms in WebRequest
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(HeaderTransform), "HeaderTransform",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(RequestTransform), "RequestTransform",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(ResponseResultTransform), "ResponseResultTransform",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(FillFormTransform), "FillFormTransform",true);

            e.XmlMemberOverrides.Add(typeof(WebRequest), "InputTransforms", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(WebRequest), "OutputTransforms", e.XmlAttribute);

            e.XmlAttribute = e.NewXmlAttribute;

            // Add Array Items for TransformValue for each TransformAction except RemoveTransformAction
            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HeaderTransformValue), "HeaderTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(ClientSettingsTransformValue), "ClientSettingsTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(DefaultTransformValue), "DefaultTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HtmlTransformValue), "HtmlTransformValue");

            e.XmlMemberOverrides.Add(typeof(AddTransformAction),"Value", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(UpdateTransformAction),"Value", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(FormField),"TransformValue", e.XmlAttribute);

            // Add Array Items for Headers to HeaderTransformAction in HeaderTransform
            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(AddTransformAction), "AddTransformAction",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(UpdateTransformAction), "UpdateTransformAction",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(RemoveTransformAction), "RemoveTransformAction",true);

            e.XmlMemberOverrides.Add(typeof(HeaderTransform), "Headers", e.XmlAttribute);

            //e.XmlMemberOverrides.Add(typeof(HeaderTransform), "Headers", e.XmlAttribute);
        }
コード例 #7
0
        private void CreateSerializer(Type type)
        {
            XmlAttributeOverrides attrs = new XmlAttributeOverrides();

            if ( XmlAttributeOverrideMappingEvent != null )
            {
                XmlAttributeOverrideMappingArgs args = new XmlAttributeOverrideMappingArgs();
                args.Type = type;
                XmlAttributeOverrideMappingEvent(this, args);
                attrs = args.XmlMemberOverrides;

                ser = new XmlSerializer(type,attrs);
            }
            else
            {
                ser = new XmlSerializer(type);
            }
        }
        protected override void ConfigurationSectionOverrideTypeMapping(object sender, XmlAttributeOverrideMappingArgs e)
        {
            LoadTransformDefinition();

            // Add Array Items for Tags in Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlALinkTag),"HtmlAnchorLink", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlAnchorTag),"HtmlAnchor", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlButtonTag),"HtmlButton", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlInputTag),"HtmlInput", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTextAreaTag),"HtmlTextArea", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlLinkTag),"HtmlLink", true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlSelectTag),"HtmlSelect", true);

            e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml), "Tags", e.XmlAttribute);
            e.XmlAttribute = e.NewXmlAttribute;

            // Add Array Items for WebRequests in ScriptingData
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(GetWebRequest), "GetSessionRequest",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(PostWebRequest), "PostSessionRequest",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(PutWebRequest), "PutSessionRequest",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(DeleteWebRequest), "DeleteSessionRequest",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(SoapHttpWebRequest), "SoapHttpSessionRequest",true);

            e.XmlMemberOverrides.Add(typeof(ScriptingApplication), "WebRequests", e.XmlAttribute);

            //			Attributes
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "FormIndex", "index");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Method", "method");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Action", "action");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.Scripting.WebRequest), "ID", "id");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.Scripting.Cookie), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.Scripting.Header), "ApplicationID", "appid");

            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml), "Field");
            e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Elements", e.XmlAttribute);

            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagBase), "Name", "name");
            XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagBase), "Type", "type");
            e.XmlAttribute = e.NewXmlAttribute;

            // Add Array Items for InputTransforms and OutputTransforms in WebRequest
            for ( int i=0;i<inputTransforms.Count;i++ )
            {
                // TODO: Needs to be qualified
                XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, Type.GetType(inputTransforms.GetKey(i)),inputTransforms[i],true);
            }

            e.XmlMemberOverrides.Add(typeof(WebRequest), "InputTransforms", e.XmlAttribute);
            e.XmlAttribute = e.NewXmlAttribute;

            for ( int i=0;i<outputTransforms.Count;i++ )
            {
                // TODO: Needs to be qualified
                XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, Type.GetType(outputTransforms.GetKey(i)),outputTransforms[i],true);
            }
            e.XmlMemberOverrides.Add(typeof(WebRequest), "OutputTransforms", e.XmlAttribute);

            e.XmlAttribute = e.NewXmlAttribute;

            // Add Array Items for TransformValue for each TransformAction except RemoveTransformAction
            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HeaderTransformValue), "HeaderTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(ClientSettingsTransformValue), "ClientSettingsTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(DefaultTransformValue), "DefaultTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HtmlTransformValue), "HtmlTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(CookieTransformValue), "CookieTransformValue");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(XPathQueryCommand), "XPathQueryCommand");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(RegExQueryCommand), "RegExQueryCommand");

            e.XmlMemberOverrides.Add(typeof(AddTransformAction),"Value", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(UpdateTransformAction),"Value", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(FormField),"TransformValue", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(XmlElementField),"TransformValue", e.XmlAttribute);
            e.XmlMemberOverrides.Add(typeof(QueryCommandAction),"Value", e.XmlAttribute);

            // Add elements for Transport
            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(SmtpTransport), "SmtpTransport");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(GmailTransport), "GmailTransport");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(BloggerTransport), "BloggerTransport");
            XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(DatabaseTransport), "DatabaseTransport");
            //XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(SessionTransport), "SessionTransport");

            for ( int i=0;i<outputTransforms.Count;i++ )
            {
                e.XmlMemberOverrides.Add(Type.GetType(outputTransforms.GetKey(i)),"Transport", e.XmlAttribute);
            }

            // Add Array Items for Headers to HeaderTransformAction in HeaderTransform
            e.XmlAttribute = e.NewXmlAttribute;
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(AddTransformAction), "AddTransformAction",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(UpdateTransformAction), "UpdateTransformAction",true);
            XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(RemoveTransformAction), "RemoveTransformAction",true);

            e.XmlMemberOverrides.Add(typeof(HeaderTransform), "Headers", e.XmlAttribute);
        }