Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Syndication / SyndicationContent.cs / 1 / SyndicationContent.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Syndication
{
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Diagnostics.CodeAnalysis;
public abstract class SyndicationContent
{
Dictionary attributeExtensions;
protected SyndicationContent()
{
}
protected SyndicationContent(SyndicationContent source)
{
CopyAttributeExtensions(source);
}
public Dictionary AttributeExtensions
{
get
{
if (this.attributeExtensions == null)
{
this.attributeExtensions = new Dictionary();
}
return this.attributeExtensions;
}
}
public abstract string Type
{
get;
}
public static TextSyndicationContent CreateHtmlContent(string content)
{
return new TextSyndicationContent(content, TextSyndicationContentKind.Html);
}
public static TextSyndicationContent CreatePlaintextContent(string content)
{
return new TextSyndicationContent(content);
}
public static UrlSyndicationContent CreateUrlContent(Uri url, string mediaType)
{
return new UrlSyndicationContent(url, mediaType);
}
public static TextSyndicationContent CreateXhtmlContent(string content)
{
return new TextSyndicationContent(content, TextSyndicationContentKind.XHtml);
}
public static XmlSyndicationContent CreateXmlContent(object dataContractObject)
{
return new XmlSyndicationContent(Atom10Constants.XmlMediaType, dataContractObject, (DataContractSerializer) null);
}
public static XmlSyndicationContent CreateXmlContent(object dataContractObject, XmlObjectSerializer dataContractSerializer)
{
return new XmlSyndicationContent(Atom10Constants.XmlMediaType, dataContractObject, dataContractSerializer);
}
public static XmlSyndicationContent CreateXmlContent(XmlReader xmlReader)
{
return new XmlSyndicationContent(xmlReader);
}
public static XmlSyndicationContent CreateXmlContent(object xmlSerializerObject, XmlSerializer serializer)
{
return new XmlSyndicationContent(Atom10Constants.XmlMediaType, xmlSerializerObject, serializer);
}
public abstract SyndicationContent Clone();
public void WriteTo(XmlWriter writer, string outerElementName, string outerElementNamespace)
{
if (writer == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer");
}
if (string.IsNullOrEmpty(outerElementName))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR2.GetString(SR2.OuterElementNameNotSpecified));
}
writer.WriteStartElement(outerElementName, outerElementNamespace);
writer.WriteAttributeString(Atom10Constants.TypeTag, string.Empty, this.Type);
if (this.attributeExtensions != null)
{
foreach (XmlQualifiedName key in this.attributeExtensions.Keys)
{
if (key.Name == Atom10Constants.TypeTag && key.Namespace == string.Empty)
{
continue;
}
string attrValue;
if (this.attributeExtensions.TryGetValue(key, out attrValue))
{
writer.WriteAttributeString(key.Name, key.Namespace, attrValue);
}
}
}
WriteContentsTo(writer);
writer.WriteEndElement();
}
internal void CopyAttributeExtensions(SyndicationContent source)
{
if (source == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("source");
}
if (source.attributeExtensions != null)
{
foreach (XmlQualifiedName key in source.attributeExtensions.Keys)
{
this.AttributeExtensions.Add(key, source.attributeExtensions[key]);
}
}
}
protected abstract void WriteContentsTo(XmlWriter writer);
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlCharacterData.cs
- AnnotationService.cs
- TableAdapterManagerGenerator.cs
- IdentityManager.cs
- HtmlContainerControl.cs
- TableLayoutRowStyleCollection.cs
- JsonQNameDataContract.cs
- XamlSerializerUtil.cs
- HttpPostedFile.cs
- ExpandoObject.cs
- EventLogPermissionEntryCollection.cs
- CryptoHandle.cs
- StateMachineWorkflowDesigner.cs
- MeshGeometry3D.cs
- FontSource.cs
- ForEach.cs
- entitydatasourceentitysetnameconverter.cs
- TextEmbeddedObject.cs
- Rotation3DAnimationBase.cs
- AspNetHostingPermission.cs
- AppDomainResourcePerfCounters.cs
- ResourceAttributes.cs
- SecurityToken.cs
- ProxyWebPartManager.cs
- FSWPathEditor.cs
- SourceFileBuildProvider.cs
- ApplicationSecurityManager.cs
- SchemaElement.cs
- UrlMappingCollection.cs
- ProfileBuildProvider.cs
- ColumnMapTranslator.cs
- DataServiceRequest.cs
- ParsedRoute.cs
- XPathNavigatorKeyComparer.cs
- SecurityRuntime.cs
- PresentationAppDomainManager.cs
- DefaultMemberAttribute.cs
- RegisteredArrayDeclaration.cs
- DataSetMappper.cs
- XmlSchema.cs
- ToolStripItemCollection.cs
- DrawingContextWalker.cs
- HtmlImage.cs
- PreservationFileWriter.cs
- BamlCollectionHolder.cs
- HeaderCollection.cs
- SoapEnumAttribute.cs
- ReverseQueryOperator.cs
- WebServiceClientProxyGenerator.cs
- MonthCalendarDesigner.cs
- PanelStyle.cs
- TokenFactoryFactory.cs
- MatrixValueSerializer.cs
- ExtentKey.cs
- HostingEnvironment.cs
- Canvas.cs
- RootBrowserWindow.cs
- ExpressionBuilder.cs
- MethodMessage.cs
- MemoryMappedFileSecurity.cs
- TableAutomationPeer.cs
- UndoEngine.cs
- UInt64Storage.cs
- CreateInstanceBinder.cs
- NumberFunctions.cs
- MetabaseServerConfig.cs
- ScrollBar.cs
- Material.cs
- SQLInt32Storage.cs
- FtpRequestCacheValidator.cs
- PageThemeParser.cs
- DNS.cs
- MetadataUtilsSmi.cs
- ImageConverter.cs
- FamilyMapCollection.cs
- StringSource.cs
- SweepDirectionValidation.cs
- LifetimeServices.cs
- ReadOnlyDictionary.cs
- ObjectStateFormatter.cs
- XmlSchemaAnnotation.cs
- unsafenativemethodsother.cs
- Overlapped.cs
- Rotation3DKeyFrameCollection.cs
- RootProjectionNode.cs
- ExpressionDumper.cs
- SevenBitStream.cs
- BinaryWriter.cs
- SqlDataSource.cs
- RelationshipFixer.cs
- TTSEngineProxy.cs
- TableLayout.cs
- EntityContainer.cs
- CellIdBoolean.cs
- OracleCommand.cs
- DatePickerDateValidationErrorEventArgs.cs
- KnowledgeBase.cs
- AppModelKnownContentFactory.cs
- NotifyInputEventArgs.cs
- BoundField.cs