Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / schema / SchemaAttDef.cs / 1 / SchemaAttDef.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Schema {
using System.Diagnostics;
/*
* This class describes an attribute type and potential values.
* This encapsulates the information for one Attdef * in an
* Attlist in a DTD as described below:
*/
internal sealed class SchemaAttDef : SchemaDeclBase {
public enum Reserve {
None,
XmlSpace,
XmlLang
};
private Reserve reserved; // indicate the attribute type, such as xml:lang or xml:space
private String defExpanded; // default value in its expanded form
private bool hasEntityRef; // whether there is any entity reference in the default value
XmlSchemaAttribute schemaAttribute;
private bool defaultValueChecked;
int lineNum;
int linePos;
int valueLineNum;
int valueLinePos;
public static readonly SchemaAttDef Empty = new SchemaAttDef();
public SchemaAttDef(XmlQualifiedName name, String prefix) : base(name, prefix) {
reserved = Reserve.None;
}
private SchemaAttDef() {}
public SchemaAttDef Clone() {
return (SchemaAttDef) MemberwiseClone();
}
internal int LinePos {
get {
return linePos;
}
set {
linePos = value;
}
}
internal int LineNum {
get {
return lineNum;
}
set {
lineNum = value;
}
}
internal int ValueLinePos {
get {
return valueLinePos;
}
set {
valueLinePos = value;
}
}
internal int ValueLineNum {
get {
return valueLineNum;
}
set {
valueLineNum = value;
}
}
internal bool DefaultValueChecked {
get {
return defaultValueChecked;
}
}
public String DefaultValueExpanded {
get { return(defExpanded != null) ? defExpanded : String.Empty;}
set { defExpanded = value;}
}
public Reserve Reserved {
get { return reserved;}
set { reserved = value;}
}
public bool HasEntityRef {
get { return hasEntityRef;}
set { hasEntityRef = value;}
}
public XmlSchemaAttribute SchemaAttribute {
get { return schemaAttribute; }
set { schemaAttribute = value; }
}
public void CheckXmlSpace(ValidationEventHandler eventhandler) {
if (datatype.TokenizedType == XmlTokenizedType.ENUMERATION &&
(values != null) &&
(values.Count <= 2)) {
String s1 = values[0].ToString();
if (values.Count == 2) {
String s2 = values[1].ToString();
if ((s1 == "default" || s2 == "default") &&
(s1 == "preserve" || s2 == "preserve")) {
return;
}
}
else {
if (s1 == "default" || s1 == "preserve") {
return;
}
}
}
eventhandler(this, new ValidationEventArgs(new XmlSchemaException(Res.Sch_XmlSpace, string.Empty)));
}
internal void CheckDefaultValue( SchemaInfo schemaInfo, IDtdParserAdapter readerAdapter ) {
DtdValidator.CheckDefaultValue( this, schemaInfo, readerAdapter );
defaultValueChecked = true;
}
}
}
// 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
- DefinitionBase.cs
- ObjectDataSourceMethodEventArgs.cs
- exports.cs
- SuspendDesigner.cs
- BaseTemplateParser.cs
- HandlerMappingMemo.cs
- TextBox.cs
- Popup.cs
- ListDataBindEventArgs.cs
- DataGridViewImageColumn.cs
- CheckBoxFlatAdapter.cs
- ActiveXHost.cs
- PathSegmentCollection.cs
- MissingMemberException.cs
- HttpInputStream.cs
- MarkupExtensionReturnTypeAttribute.cs
- UiaCoreApi.cs
- AssemblyContextControlItem.cs
- AssociationType.cs
- WS2007HttpBindingCollectionElement.cs
- WindowsClaimSet.cs
- ColumnMapCopier.cs
- MailHeaderInfo.cs
- DataBoundControlAdapter.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- DataKeyArray.cs
- WinEventTracker.cs
- TagMapCollection.cs
- PropertyGeneratedEventArgs.cs
- FrameworkRichTextComposition.cs
- Vector3DKeyFrameCollection.cs
- FrameworkElementFactory.cs
- HostProtectionPermission.cs
- EUCJPEncoding.cs
- SqlDataSourceEnumerator.cs
- EventLogPermissionEntryCollection.cs
- KeyPressEvent.cs
- ObjectNavigationPropertyMapping.cs
- _ListenerAsyncResult.cs
- ButtonBaseAutomationPeer.cs
- ToolStripGrip.cs
- RegexTree.cs
- sqlpipe.cs
- HitTestParameters3D.cs
- RuntimeConfigLKG.cs
- AbstractDataSvcMapFileLoader.cs
- HttpCacheVary.cs
- ExclusiveTcpListener.cs
- AlternationConverter.cs
- HtmlControlDesigner.cs
- InkCanvasFeedbackAdorner.cs
- FileDataSourceCache.cs
- ShortcutKeysEditor.cs
- PageClientProxyGenerator.cs
- StaticExtensionConverter.cs
- WaitingCursor.cs
- EditorPart.cs
- ConnectionPointCookie.cs
- TraceSection.cs
- SqlDataSourceSelectingEventArgs.cs
- CodeArgumentReferenceExpression.cs
- CompareValidator.cs
- ActivityMetadata.cs
- WinEventTracker.cs
- Roles.cs
- CheckBox.cs
- TemplateBaseAction.cs
- WebExceptionStatus.cs
- AnchoredBlock.cs
- SByte.cs
- TextBounds.cs
- TypeListConverter.cs
- ITextView.cs
- InplaceBitmapMetadataWriter.cs
- RecordsAffectedEventArgs.cs
- XamlRtfConverter.cs
- HtmlTextArea.cs
- MembershipSection.cs
- SamlAction.cs
- IntPtr.cs
- Ref.cs
- XPathDocumentIterator.cs
- ReversePositionQuery.cs
- sapiproxy.cs
- FlowDocumentReaderAutomationPeer.cs
- MetadataResolver.cs
- SqlXmlStorage.cs
- SequentialWorkflowHeaderFooter.cs
- WithParamAction.cs
- DragSelectionMessageFilter.cs
- NestPullup.cs
- DocumentSchemaValidator.cs
- QilValidationVisitor.cs
- ProtocolReflector.cs
- OwnerDrawPropertyBag.cs
- StatusBarPanelClickEvent.cs
- Pen.cs
- elementinformation.cs
- OutputCacheModule.cs
- AssociatedControlConverter.cs