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

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

Gets the content.
public CreateContent ( XmlNode node ) : IContent
node System.Xml.XmlNode The node to clone and create content from.
Результат IContent
		public IContent CreateContent(XmlNode node)
		{
			try
			{
				switch(node.Name)
				{
					case "text:p":
						return CreateParagraph(node.CloneNode(true));
					case "text:list":
						return CreateList(node.CloneNode(true));
					case "text:list-item":
						return CreateListItem(node.CloneNode(true));
					case "table:table":
						return CreateTable(node.CloneNode(true));
					case "table:table-column":
						return CreateTableColumn(node.CloneNode(true));
					case "table:table-row":
						return CreateTableRow(node.CloneNode(true));
					case "table:table-header-rows":
						return CreateTableHeaderRow(node.CloneNode(true));
					case "table:table-cell":
						return CreateTableCell(node.CloneNode(true));
					case "table:covered-table-cell":
						return CreateTableCellSpan(node.CloneNode(true));
					case "text:h":
						return CreateHeader(node.CloneNode(true));
					case "text:table-of-content":
						//Possible?
						return CreateTableOfContents(node.CloneNode(true));
					case "draw:frame":
						return CreateFrame(node.CloneNode(true));
					case "draw:object":
						return CreateEmbedObject(node.CloneNode (true));
					case "draw:text-box":
						return CreateDrawTextBox(node.CloneNode(true));
					case "draw:image":
						return CreateGraphic(node.CloneNode(true));
						//@Liu Yuhua: What's that??? This is of course a image and not unknown!! Lars
						//return new UnknownContent(this._document, node.CloneNode(true));
					case "draw:area-rectangle":
						return CreateDrawAreaRectangle(node.CloneNode(true));
					case "draw:area-circle":
						return CreateDrawAreaCircle(node.CloneNode(true));
					case "draw:image-map":
						return CreateImageMap(node.CloneNode(true));
					case "office:event-listeners":
						return CreateEventListeners(node.CloneNode(true));
					case "script:event-listener":
						return CreateEventListeners(node.CloneNode(true));

					case "draw:control":
						return CreateControlRef(node.CloneNode(true));
					default:
						return new UnknownContent(this._document, node.CloneNode(true));
				}
			}
			catch(Exception ex)
			{
				throw new AODLException("Exception while processing a content node.", ex);
			}
		}

Usage Example

		/// <summary>
		/// Gets the content for headers and footers.
		/// </summary>
		/// <param name="contentNode">The content node.</param>
		/// <param name="textDocument">The text document.</param>
		/// <returns>The contents as IContentCollection.</returns>
		public ContentCollection GetContentHeaderFooter(XmlNode contentNode, TextDocument textDocument) 
		{
			ContentCollection contents = new ContentCollection();
			if (contentNode != null && contentNode.HasChildNodes)
			{
				XmlNode node = null;
				if (textDocument.XmlDoc != contentNode.OwnerDocument) 
				{
					node = textDocument.XmlDoc.ImportNode(contentNode, true);
				} 
				else 
				{
					node = contentNode;
				}
				MainContentProcessor mcp = new MainContentProcessor(textDocument);				
				foreach(XmlNode nodeChild in node.ChildNodes)
				{
					IContent iContent = mcp.CreateContent(nodeChild);
					if (iContent != null) 
					{
						if (iContent is AODL.Document.Content.Tables.Table)
							((AODL.Document.Content.Tables.Table)iContent).BuildNode();
						contents.Add(iContent);
					}
				}
			}
			return contents;
		}