Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Xml / System / Xml / schema / SchemaDeclBase.cs / 1 / SchemaDeclBase.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Collections;
using System.Diagnostics;
internal abstract class SchemaDeclBase {
public enum Use {
Default,
Required,
Implied,
Fixed,
RequiredFixed
};
protected XmlQualifiedName name = XmlQualifiedName.Empty;
protected string prefix;
protected ArrayList values; // array of values for enumerated and notation types
protected XmlSchemaType schemaType;
protected XmlSchemaDatatype datatype;
protected bool isDeclaredInExternal = false;
protected Use presence; // the presence, such as fixed, implied, etc
protected string defaultValueRaw; // default value in its original form
protected object defaultValueTyped;
protected long maxLength; // dt:maxLength
protected long minLength; // dt:minLength
protected SchemaDeclBase(XmlQualifiedName name, string prefix) {
this.name = name;
this.prefix = prefix;
maxLength = -1;
minLength = -1;
}
protected SchemaDeclBase() {
}
public XmlQualifiedName Name {
get { return name;}
set { name = value;}
}
public string Prefix {
get { return(prefix == null) ? string.Empty : prefix;}
set { prefix = value;}
}
public void AddValue(string value) {
if (values == null) {
values = new ArrayList();
}
values.Add(value);
}
public ArrayList Values {
get { return values;}
set { values = value;}
}
public Use Presence {
get { return presence;}
set { presence = value;}
}
public long MaxLength {
get { return maxLength;}
set { maxLength = value;}
}
public long MinLength {
get { return minLength;}
set { minLength = value;}
}
public bool IsDeclaredInExternal {
get { return isDeclaredInExternal;}
set { isDeclaredInExternal = value;}
}
public XmlSchemaType SchemaType {
get { return schemaType;}
set { schemaType = value;}
}
public XmlSchemaDatatype Datatype {
get { return datatype;}
set { datatype = value;}
}
public string DefaultValueRaw {
get { return(defaultValueRaw != null) ? defaultValueRaw : string.Empty;}
set { defaultValueRaw = value;}
}
public object DefaultValueTyped {
get { return defaultValueTyped;}
set { defaultValueTyped = value;}
}
public bool CheckEnumeration(object pVal) {
return (datatype.TokenizedType != XmlTokenizedType.NOTATION && datatype.TokenizedType != XmlTokenizedType.ENUMERATION) || values.Contains(pVal.ToString());
}
public bool CheckValue(Object pVal) {
return (presence != Use.Fixed && presence != Use.RequiredFixed) || (defaultValueTyped != null && datatype.IsEqual(pVal, defaultValueTyped));
}
};
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Collections;
using System.Diagnostics;
internal abstract class SchemaDeclBase {
public enum Use {
Default,
Required,
Implied,
Fixed,
RequiredFixed
};
protected XmlQualifiedName name = XmlQualifiedName.Empty;
protected string prefix;
protected ArrayList values; // array of values for enumerated and notation types
protected XmlSchemaType schemaType;
protected XmlSchemaDatatype datatype;
protected bool isDeclaredInExternal = false;
protected Use presence; // the presence, such as fixed, implied, etc
protected string defaultValueRaw; // default value in its original form
protected object defaultValueTyped;
protected long maxLength; // dt:maxLength
protected long minLength; // dt:minLength
protected SchemaDeclBase(XmlQualifiedName name, string prefix) {
this.name = name;
this.prefix = prefix;
maxLength = -1;
minLength = -1;
}
protected SchemaDeclBase() {
}
public XmlQualifiedName Name {
get { return name;}
set { name = value;}
}
public string Prefix {
get { return(prefix == null) ? string.Empty : prefix;}
set { prefix = value;}
}
public void AddValue(string value) {
if (values == null) {
values = new ArrayList();
}
values.Add(value);
}
public ArrayList Values {
get { return values;}
set { values = value;}
}
public Use Presence {
get { return presence;}
set { presence = value;}
}
public long MaxLength {
get { return maxLength;}
set { maxLength = value;}
}
public long MinLength {
get { return minLength;}
set { minLength = value;}
}
public bool IsDeclaredInExternal {
get { return isDeclaredInExternal;}
set { isDeclaredInExternal = value;}
}
public XmlSchemaType SchemaType {
get { return schemaType;}
set { schemaType = value;}
}
public XmlSchemaDatatype Datatype {
get { return datatype;}
set { datatype = value;}
}
public string DefaultValueRaw {
get { return(defaultValueRaw != null) ? defaultValueRaw : string.Empty;}
set { defaultValueRaw = value;}
}
public object DefaultValueTyped {
get { return defaultValueTyped;}
set { defaultValueTyped = value;}
}
public bool CheckEnumeration(object pVal) {
return (datatype.TokenizedType != XmlTokenizedType.NOTATION && datatype.TokenizedType != XmlTokenizedType.ENUMERATION) || values.Contains(pVal.ToString());
}
public bool CheckValue(Object pVal) {
return (presence != Use.Fixed && presence != Use.RequiredFixed) || (defaultValueTyped != null && datatype.IsEqual(pVal, defaultValueTyped));
}
};
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HtmlPhoneCallAdapter.cs
- ApplicationDirectoryMembershipCondition.cs
- columnmapkeybuilder.cs
- WebPartConnectionsConfigureVerb.cs
- CryptographicAttribute.cs
- InvokePattern.cs
- TableLayout.cs
- UrlAuthorizationModule.cs
- CounterCreationDataCollection.cs
- DaylightTime.cs
- InvokeHandlers.cs
- CapabilitiesUse.cs
- WSDualHttpBinding.cs
- MimeObjectFactory.cs
- DeclaredTypeValidator.cs
- ChtmlPhoneCallAdapter.cs
- RelationshipEndCollection.cs
- NetSectionGroup.cs
- IntMinMaxAggregationOperator.cs
- RsaSecurityKey.cs
- DrawingAttributesDefaultValueFactory.cs
- GeometryGroup.cs
- AutomationTextAttribute.cs
- WebPartDescription.cs
- ServiceDocumentFormatter.cs
- IgnoreSectionHandler.cs
- XmlResolver.cs
- CommandConverter.cs
- TextServicesContext.cs
- EmptyStringExpandableObjectConverter.cs
- DmlSqlGenerator.cs
- _FtpControlStream.cs
- InlineObject.cs
- StringSorter.cs
- ToolBar.cs
- JournalEntryStack.cs
- TemplateBaseAction.cs
- Type.cs
- SamlAttributeStatement.cs
- SqlDuplicator.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- ResourceReferenceExpressionConverter.cs
- BuildResultCache.cs
- shaperfactoryquerycachekey.cs
- SignatureDescription.cs
- LassoSelectionBehavior.cs
- GregorianCalendar.cs
- PreProcessInputEventArgs.cs
- ElementHostAutomationPeer.cs
- CatalogPartChrome.cs
- SuppressIldasmAttribute.cs
- BaseTemplateParser.cs
- CriticalExceptions.cs
- SqlXmlStorage.cs
- SourceSwitch.cs
- BrowserCapabilitiesFactory.cs
- AllMembershipCondition.cs
- SafeNativeMethods.cs
- ValidatedControlConverter.cs
- UInt64Storage.cs
- SecUtil.cs
- SubqueryRules.cs
- XmlTypeAttribute.cs
- ProcessActivityTreeOptions.cs
- TextAction.cs
- DependencyPropertyValueSerializer.cs
- TextEffect.cs
- TcpAppDomainProtocolHandler.cs
- EventSinkActivityDesigner.cs
- Window.cs
- TextContainerChangeEventArgs.cs
- ValidatedMobileControlConverter.cs
- SafeEventLogReadHandle.cs
- GridViewRowEventArgs.cs
- WebZone.cs
- MatrixValueSerializer.cs
- Membership.cs
- X509Utils.cs
- DSASignatureDeformatter.cs
- HtmlInputImage.cs
- ConfigurationSection.cs
- ResponseBodyWriter.cs
- unitconverter.cs
- TextServicesPropertyRanges.cs
- DataGridSortCommandEventArgs.cs
- ClientConvert.cs
- ContentElementAutomationPeer.cs
- StylusPointCollection.cs
- XmlObjectSerializerWriteContextComplex.cs
- EditorZone.cs
- Crc32Helper.cs
- ClockController.cs
- WindowsListView.cs
- SQlBooleanStorage.cs
- IntSecurity.cs
- TextProperties.cs
- XamlUtilities.cs
- ModuleBuilderData.cs
- JournalEntryStack.cs
- SelectionBorderGlyph.cs