AODL.Document.Import.OpenDocument.NodeProcessors.MainContentProcessor.CreateHeader C# (CSharp) Метод

CreateHeader() публичный Метод

Creates the header.
public CreateHeader ( XmlNode headernode ) : Header
headernode System.Xml.XmlNode The headernode.
Результат AODL.Document.Content.Text.Header
		public Header CreateHeader(XmlNode headernode)
		{
			try
			{
				if (this._debugMode)
					this.LogNode(headernode, "Log header node before");

				//Create a new Header
				Header header				= new Header(headernode, this._document);
				//Create a ITextCollection
				ITextCollection textColl	= new ITextCollection();
				//Recieve the HeaderStyle
				IStyle headerStyle			= this._document.Styles.GetStyleByName(header.StyleName);

				if (headerStyle != null)
					header.Style			= headerStyle;

				//Create the IText content
				foreach(XmlNode nodeChild in header.Node.ChildNodes)
				{
					TextContentProcessor tcp	= new TextContentProcessor();
					IText iText					= tcp.CreateTextObject(this._document, nodeChild);
					
					if (iText != null)
						textColl.Add(iText);
					else
					{
						this.OnWarning(new AODLWarning("Couldn't create IText object from header child node!.", nodeChild));
					}
				}

				//Remove all
				header.Node.InnerXml		= "";

				foreach(IText iText in textColl)
				{
					if (this._debugMode)
						this.LogNode(iText.Node, "Log IText node read from header");
					header.TextContent.Add(iText);
				}

				return header;
			}
			catch(Exception ex)
			{
				throw new AODLException("Exception while trying to create a Header.", ex);
			}
		}

Usage Example

Пример #1
0
		/// <summary>
		/// Create a deep clone of this Header object.
		/// </summary>
		/// <remarks>A possible Attached Style wouldn't be cloned!</remarks>
		/// <returns>
		/// A clone of this object.
		/// </returns>
		public object Clone()
		{
			Header headerClone			= null;

			if (this.Document != null && this.Node != null)
			{
				MainContentProcessor mcp	= new MainContentProcessor(this.Document);
				headerClone					= mcp.CreateHeader(this.Node.CloneNode(true));
			}

			return headerClone;
		}