Ejemplo n.º 1
0
        /// <summary>
        /// Write an element as the root of XML.
        /// </summary>
        /// <param name="serializationContext">Serialization context.</param>
        /// <param name="rootElement">Root element instance that will be serialized.</param>
        /// <param name="writer">XmlWriter to write serialized data to.</param>
        public override void WriteRootElement(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement rootElement, global::System.Xml.XmlWriter writer)
        {
            #region Check Parameters
            global::System.Diagnostics.Debug.Assert(serializationContext != null);
            if (serializationContext == null)
            {
                throw new global::System.ArgumentNullException("serializationContext");
            }
            global::System.Diagnostics.Debug.Assert(rootElement != null);
            if (rootElement == null)
            {
                throw new global::System.ArgumentNullException("rootElement");
            }
            global::System.Diagnostics.Debug.Assert(writer != null);
            if (writer == null)
            {
                throw new global::System.ArgumentNullException("writer");
            }
            #endregion

            DslModeling::DomainXmlSerializerDirectory directory = this.GetDirectory(rootElement.Store);

            DslModeling::DomainClassXmlSerializer rootSerializer = null;

            if (rootElement is DslDiagrams::Diagram)
            {
                rootSerializer = directory.GetSerializer(PatternModelSchemaDiagram.DomainClassId);
            }
            else
            {
                rootSerializer = directory.GetSerializer(rootElement.GetDomainClass().Id);
            }

            global::System.Diagnostics.Debug.Assert(rootSerializer != null, "Cannot find serializer for " + rootElement.GetDomainClass().Name + "!");

            // Set up root element settings
            DslModeling::RootElementSettings rootElementSettings = new DslModeling::RootElementSettings();
            if (!(rootElement is DslDiagrams::Diagram))
            {
                // Only model has schema, diagram has no schema.
                rootElementSettings.SchemaTargetNamespace = "http://schemas.microsoft.com/visualstudio/patterning/runtime/patternmodel";
            }
            rootElementSettings.Version = new global::System.Version("1.3.0.0");

            // Carry out the normal serialization.
            rootSerializer.Write(serializationContext, rootElement, writer, rootElementSettings);
        }
	    /// <summary>
	    /// Write an element as the root of XML.
	    /// </summary>
	    /// <param name="serializationContext">Serialization context.</param>
	    /// <param name="rootElement">Root element instance that will be serialized.</param>
	    /// <param name="writer">XmlWriter to write serialized data to.</param>
	    public override void WriteRootElement(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement rootElement, global::System.Xml.XmlWriter writer)
	    {
	        #region Check Parameters
	        global::System.Diagnostics.Debug.Assert(serializationContext != null);
	        if (serializationContext == null)
	            throw new global::System.ArgumentNullException("serializationContext");
	        global::System.Diagnostics.Debug.Assert(rootElement != null);
	        if (rootElement == null)
	            throw new global::System.ArgumentNullException("rootElement");
	        global::System.Diagnostics.Debug.Assert(writer != null);
	        if (writer == null)
	            throw new global::System.ArgumentNullException("writer");
	        #endregion
	
	        DslModeling::DomainXmlSerializerDirectory directory = this.GetDirectory(rootElement.Store);
	
	        DslModeling::DomainClassXmlSerializer rootSerializer = null;
	
	        if (rootElement is DslDiagrams::Diagram)
	        {
	            rootSerializer = directory.GetSerializer(PatternModelSchemaDiagram.DomainClassId);
	        }
	        else
	        {
	            rootSerializer = directory.GetSerializer(rootElement.GetDomainClass().Id);
	        }
	
	        global::System.Diagnostics.Debug.Assert(rootSerializer != null, "Cannot find serializer for " + rootElement.GetDomainClass().Name + "!");
	
	        // Set up root element settings
	        DslModeling::RootElementSettings rootElementSettings = new DslModeling::RootElementSettings();
	        if (!(rootElement is DslDiagrams::Diagram))
	        {
	            // Only model has schema, diagram has no schema.
	            rootElementSettings.SchemaTargetNamespace = "http://schemas.microsoft.com/visualstudio/patterning/runtime/patternmodel";
	        }
	        rootElementSettings.Version = new global::System.Version("1.3.0.0");
	
	        // Carry out the normal serialization.
	        rootSerializer.Write(serializationContext, rootElement, writer, rootElementSettings);
	    }
        protected virtual void WriteRootElement(DslModeling::SerializationContext serializationContext, DslModeling::DomainClassXmlSerializer domainClassXmlSerializer, DslModeling::ModelElement rootElement, global::System.Xml.XmlWriter writer)
        {
            #region Check Parameters
            global::System.Diagnostics.Debug.Assert(serializationContext != null);
            if (serializationContext == null)
            {
                throw new global::System.ArgumentNullException("serializationContext");
            }
            global::System.Diagnostics.Debug.Assert(domainClassXmlSerializer != null);
            if (domainClassXmlSerializer == null)
            {
                throw new global::System.ArgumentNullException("domainClassXmlSerializer");
            }
            global::System.Diagnostics.Debug.Assert(rootElement != null);
            if (rootElement == null)
            {
                throw new global::System.ArgumentNullException("rootElement");
            }
            global::System.Diagnostics.Debug.Assert(writer != null);
            if (writer == null)
            {
                throw new global::System.ArgumentNullException("writer");
            }
            #endregion

            // Set up root element settings
            DslModeling::RootElementSettings rootElementSettings = new DslModeling::RootElementSettings();
            if (!(rootElement is DslDiagrams::Diagram))
            {
                // Only model has schema, diagram has no schema.
                rootElementSettings.SchemaTargetNamespace = "http://schemas.microsoft.com/dsltools/Language4";
            }
            rootElementSettings.Version = new global::System.Version("1.0.0.0");

            // Carry out the normal serialization.
            domainClassXmlSerializer.Write(serializationContext, rootElement, writer, rootElementSettings);
        }
		/// <summary>
		/// Public WriteRootElement() method that serializes a root-level AsyncDslDiagram instance to XML.
		/// </summary>
		/// <param name="serializationContext">Serialization context.</param>
		/// <param name="element">AsyncDslDiagram instance that will be serialized.</param>
		/// <param name="writer">XmlWriter to write serialized data to.</param>
		public override void WriteRootElement(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement element, global::System.Xml.XmlWriter writer)
		{
			#region Check Parameters
			global::System.Diagnostics.Debug.Assert(serializationContext != null);
			if (serializationContext == null)
				throw new global::System.ArgumentNullException("serializationContext");
			global::System.Diagnostics.Debug.Assert(element != null);
			if (element == null)
				throw new global::System.ArgumentNullException("element");
			global::System.Diagnostics.Debug.Assert(writer != null);
			if (writer == null)
				throw new global::System.ArgumentNullException("writer");
			#endregion
	
			// Set up root element settings
			DslModeling::RootElementSettings rootElementSettings = new DslModeling::RootElementSettings();
			rootElementSettings.Version = new global::System.Version("1.0.0.0");
	
			// Carry out the normal serialization.
			this.Write(serializationContext, element, writer, rootElementSettings);
		}
 private void CustomWrite(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement element, global::System.Xml.XmlWriter writer, DslModeling::RootElementSettings rootElementSettings)
 {
     DefaultWrite(serializationContext, element, writer, rootElementSettings);
 }