1 //---------------------------------------------------------------------
2 // <copyright file="Documentation.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // @backupOwner Microsoft
8 //---------------------------------------------------------------------
10 namespace System.Data.EntityModel.SchemaObjectModel
12 using System.Data.Common.Utils;
13 using System.Data.Metadata.Edm;
17 /// Summary description for Documentation.
19 internal sealed class DocumentationElement: SchemaElement
21 #region Instance Fields
22 Documentation _metdataDocumentation = new Documentation();
26 #region Public Methods
30 /// <param name="parentElement"></param>
31 public DocumentationElement(SchemaElement parentElement)
37 #region Public Properties
40 /// Returns the wrapped metaDocumentation instance
42 public Documentation MetadataDocumentation
46 _metdataDocumentation.SetReadOnly();
47 return _metdataDocumentation;
54 #region Protected Properties
55 protected override bool HandleElement(XmlReader reader)
57 if (base.HandleElement(reader))
61 else if (CanHandleElement(reader, XmlConstants.Summary))
63 HandleSummaryElement(reader);
66 else if (CanHandleElement(reader, XmlConstants.LongDescription))
68 HandleLongDescriptionElement(reader);
75 #region Private Methods
77 protected override bool HandleText(XmlReader reader)
79 string text = reader.Value;
80 if (!StringUtil.IsNullOrEmptyOrWhiteSpace(text))
82 AddError(ErrorCode.UnexpectedXmlElement, EdmSchemaErrorSeverity.Error, System.Data.Entity.Strings.InvalidDocumentationBothTextAndStructure);
90 /// <param name="reader"></param>
91 private void HandleSummaryElement(XmlReader reader)
93 TextElement text = new TextElement(this);
97 _metdataDocumentation.Summary = text.Value;
103 /// <param name="reader"></param>
104 private void HandleLongDescriptionElement(XmlReader reader)
107 TextElement text = new TextElement(this);
111 _metdataDocumentation.LongDescription = text.Value;