/// <summary>
        /// 속성 중 Attribute Node로 표현해야 한다.
        /// </summary>
        /// <param name="writer"></param>
        public override void GenerateXmlAttributes(System.Xml.XmlWriter writer)
        {
            base.GenerateXmlAttributes(writer);

            if (OrigW.HasValue)
            {
                writer.WriteAttributeString("origW", OrigW.ToString());
            }
            if (OrigH.HasValue)
            {
                writer.WriteAttributeString("origH", OrigH.ToString());
            }

            if (AutoScale.HasValue)
            {
                writer.WriteAttributeString("AutoScale", AutoScale.GetHashCode().ToString());
            }
            if (ConstrainedScale.HasValue)
            {
                writer.WriteAttributeString("ConstrainedScale", ConstrainedScale.GetHashCode().ToString());
            }
            if (ScaleImages.HasValue)
            {
                writer.WriteAttributeString("ScaleImages", ScaleImages.GetHashCode().ToString());
            }
            if (ScaleText.HasValue)
            {
                writer.WriteAttributeString("ScaleText", ScaleText.GetHashCode().ToString());
            }

            if (XShift.HasValue)
            {
                writer.WriteAttributeString("XShift", XShift.ToString());
            }
            if (YShift.HasValue)
            {
                writer.WriteAttributeString("YShift", YShift.ToString());
            }
        }
        /// <summary>
        /// 속성 중 Attribute Node로 표현해야 한다.
        /// </summary>
        /// <param name="writer"></param>
        public override void GenerateXmlAttributes(System.Xml.XmlWriter writer)
        {
            base.GenerateXmlAttributes(writer);

            if (Id.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("Id", Id);
            }
            if (X.HasValue)
            {
                writer.WriteAttributeString("x", X.ToString());
            }
            if (Y.HasValue)
            {
                writer.WriteAttributeString("y", Y.ToString());
            }
            if (Alpha.HasValue)
            {
                writer.WriteAttributeString("Alpha", Alpha.ToString());
            }
            if (XScale.HasValue)
            {
                writer.WriteAttributeString("XScale", XScale.ToString());
            }
            if (YScale.HasValue)
            {
                writer.WriteAttributeString("YScale", YScale.ToString());
            }
            if (OrigW.HasValue)
            {
                writer.WriteAttributeString("origW", OrigW.ToString());
            }
            if (OrigH.HasValue)
            {
                writer.WriteAttributeString("origH", OrigH.ToString());
            }
            if (AutoScale.HasValue)
            {
                writer.WriteAttributeString("AutoScale", AutoScale.GetHashCode().ToString());
            }
            if (ConstrainedScale.HasValue)
            {
                writer.WriteAttributeString("ConstrainedScale", ConstrainedScale.GetHashCode().ToString());
            }
            if (ScaleImages.HasValue)
            {
                writer.WriteAttributeString("ScaleImages", ScaleImages.GetHashCode().ToString());
            }
            if (ScaleText.HasValue)
            {
                writer.WriteAttributeString("ScaleText", ScaleText.GetHashCode().ToString());
            }
            if (GrpXShift.HasValue)
            {
                writer.WriteAttributeString("GrpXShift", GrpXShift.ToString());
            }
            if (GrpYShift.HasValue)
            {
                writer.WriteAttributeString("GrpXShift", GrpXShift.ToString());
            }

            if (ShowBelow.HasValue)
            {
                writer.WriteAttributeString("ShowBelow", ShowBelow.GetHashCode().ToString());
            }
            if (Visible.HasValue)
            {
                writer.WriteAttributeString("Visible", Visible.GetHashCode().ToString());
            }

            if (ToolText.IsNotWhiteSpace())
            {
                writer.WriteAttributeString("ToolText", ToolText);
            }

            if (_link != null)
            {
                _link.GenerateXmlAttributes(writer);
            }
        }