private void WriteResolveArtLinks(XmlWriter writer)
        {
            ConceptualMediaConfiguration mediaConfig = _engineSettings.Multimedia;

            Debug.Assert(mediaConfig != null,
                         "There is no conceptual media configuration available.");
            if (mediaConfig == null)
            {
                return;
            }

            mediaConfig.Initialize(this.Context, this.Format);

            // <!-- Resolve conceptual art/media links -->
            //<component type="Sandcastle.Components.CloneComponent" assembly="$(SandAssistComponent)">
            //  <!-- 10. Include the conceptual media links files -->
            //  <targets input="..\SampleTopics\Media" baseOutput=".\Output" outputPath="string('media')" link="../media" map="Z:\NoReal\SampleTopics\Media\MediaContent.xml" />
            //</component>

            writer.WriteComment(" Resolve conceptual art/media links ");
            writer.WriteStartElement("component");    // start - component
            writer.WriteAttributeString("type", "Sandcastle.Components.ConceptualMediaComponent");
            writer.WriteAttributeString("assembly", "$(SandAssistComponent)");

            mediaConfig.Configure(this.Group, writer);

            writer.WriteEndElement();                 // end - component

            mediaConfig.Uninitialize();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ConceptualMediaConfiguration"/> class
 /// with parameters copied from the specified instance of the
 /// <see cref="ConceptualMediaConfiguration"/> class, a copy constructor.
 /// </summary>
 /// <param name="source">
 /// An instance of the <see cref="ConceptualMediaConfiguration"/> class from which the
 /// initialization parameters or values will be copied.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// If the parameter <paramref name="source"/> is <see langword="null"/>.
 /// </exception>
 public ConceptualMediaConfiguration(
     ConceptualMediaConfiguration source)
     : base(source)
 {
     //_outputDir = source._outputDir;
     //_workingDir = source._workingDir;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ConceptualEngineSettings"/> class
        /// with the default parameters.
        /// </summary>
        public ConceptualEngineSettings()
            : base("Sandcastle.Conceptual.ConceptualEngineSettings", BuildEngineType.Conceptual)
        {
            IBuildNamedList <BuildComponentConfiguration> componentConfigurations
                = this.ComponentConfigurations;

            if (componentConfigurations != null)
            {
                ConceptualPreTransConfiguration preTrans =
                    new ConceptualPreTransConfiguration();

                ConceptualIntelliSenseConfiguration intelliSense =
                    new ConceptualIntelliSenseConfiguration();

                ConceptualCloneConfiguration cloneDocument =
                    new ConceptualCloneConfiguration();

                ConceptualPostTransConfiguration postTrans =
                    new ConceptualPostTransConfiguration();

                ConceptualCodeConfiguration codeComponent =
                    new ConceptualCodeConfiguration();

                ConceptualMathConfiguration mathComponent =
                    new ConceptualMathConfiguration();

                ConceptualMediaConfiguration mediaComponent =
                    new ConceptualMediaConfiguration();

                ConceptualLinkConfiguration topicLinkComponent =
                    new ConceptualLinkConfiguration();

                ConceptualReferenceLinkConfiguration referenceLinkComponent =
                    new ConceptualReferenceLinkConfiguration();

                ConceptualSharedConfiguration sharedComponent =
                    new ConceptualSharedConfiguration();

                componentConfigurations.Add(preTrans);
                componentConfigurations.Add(intelliSense);
                componentConfigurations.Add(codeComponent);
                componentConfigurations.Add(mathComponent);
                componentConfigurations.Add(mediaComponent);
                componentConfigurations.Add(postTrans);
                componentConfigurations.Add(cloneDocument);
                componentConfigurations.Add(topicLinkComponent);
                componentConfigurations.Add(referenceLinkComponent);
                componentConfigurations.Add(sharedComponent);
            }
        }
        /// <summary>
        /// This creates a new build object that is a deep copy of the current
        /// instance.
        /// </summary>
        /// <returns>
        /// A new build object that is a deep copy of this instance.
        /// </returns>
        public override BuildComponentConfiguration Clone()
        {
            ConceptualMediaConfiguration options = new ConceptualMediaConfiguration(this);

            return(options);
        }