Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / UseAttributeSetsAction.cs / 1 / UseAttributeSetsAction.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Xsl.XsltOld {
using Res = System.Xml.Utils.Res;
using System;
using System.Diagnostics;
using System.Xml;
using System.Xml.XPath;
using System.Collections;
internal class UseAttributeSetsAction : CompiledAction {
private XmlQualifiedName[] useAttributeSets;
private string useString;
private const int ProcessingSets = 2;
internal XmlQualifiedName[] UsedSets {
get { return this.useAttributeSets; }
}
internal override void Compile(Compiler compiler) {
Debug.Assert(Keywords.Equals(compiler.Input.LocalName, compiler.Atoms.UseAttributeSets));
this.useString = compiler.Input.Value;
Debug.Assert(this.useAttributeSets == null);
if (this.useString.Length == 0) {
// Split creates empty node is spliting empty string
this.useAttributeSets = new XmlQualifiedName[0];
return;
}
string[] qnames = XmlConvert.SplitString(this.useString);
try {
this.useAttributeSets = new XmlQualifiedName[qnames.Length]; {
for (int i = 0; i < qnames.Length; i++) {
this.useAttributeSets[i] = compiler.CreateXPathQName(qnames[i]);
}
}
}
catch (XsltException) {
if (!compiler.ForwardCompatibility) {
// Rethrow the exception if we're not in forwards-compatible mode
throw;
}
// Ignore the whole list in forwards-compatible mode
this.useAttributeSets = new XmlQualifiedName[0];
}
}
internal override void Execute(Processor processor, ActionFrame frame) {
switch(frame.State) {
case Initialized:
frame.Counter = 0;
frame.State = ProcessingSets;
goto case ProcessingSets;
case ProcessingSets:
if (frame.Counter < this.useAttributeSets.Length) {
AttributeSetAction action = processor.RootAction.GetAttributeSet(this.useAttributeSets[frame.Counter]);
frame.IncrementCounter();
processor.PushActionFrame(action, frame.NodeSet);
}
else {
frame.Finished();
}
break;
default:
Debug.Fail("Invalid Container action execution state");
break;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
//-----------------------------------------------------------------------------
namespace System.Xml.Xsl.XsltOld {
using Res = System.Xml.Utils.Res;
using System;
using System.Diagnostics;
using System.Xml;
using System.Xml.XPath;
using System.Collections;
internal class UseAttributeSetsAction : CompiledAction {
private XmlQualifiedName[] useAttributeSets;
private string useString;
private const int ProcessingSets = 2;
internal XmlQualifiedName[] UsedSets {
get { return this.useAttributeSets; }
}
internal override void Compile(Compiler compiler) {
Debug.Assert(Keywords.Equals(compiler.Input.LocalName, compiler.Atoms.UseAttributeSets));
this.useString = compiler.Input.Value;
Debug.Assert(this.useAttributeSets == null);
if (this.useString.Length == 0) {
// Split creates empty node is spliting empty string
this.useAttributeSets = new XmlQualifiedName[0];
return;
}
string[] qnames = XmlConvert.SplitString(this.useString);
try {
this.useAttributeSets = new XmlQualifiedName[qnames.Length]; {
for (int i = 0; i < qnames.Length; i++) {
this.useAttributeSets[i] = compiler.CreateXPathQName(qnames[i]);
}
}
}
catch (XsltException) {
if (!compiler.ForwardCompatibility) {
// Rethrow the exception if we're not in forwards-compatible mode
throw;
}
// Ignore the whole list in forwards-compatible mode
this.useAttributeSets = new XmlQualifiedName[0];
}
}
internal override void Execute(Processor processor, ActionFrame frame) {
switch(frame.State) {
case Initialized:
frame.Counter = 0;
frame.State = ProcessingSets;
goto case ProcessingSets;
case ProcessingSets:
if (frame.Counter < this.useAttributeSets.Length) {
AttributeSetAction action = processor.RootAction.GetAttributeSet(this.useAttributeSets[frame.Counter]);
frame.IncrementCounter();
processor.PushActionFrame(action, frame.NodeSet);
}
else {
frame.Finished();
}
break;
default:
Debug.Fail("Invalid Container action execution state");
break;
}
}
}
}
// 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
- serverconfig.cs
- AvTraceFormat.cs
- DllNotFoundException.cs
- MultiSelectRootGridEntry.cs
- ContextInformation.cs
- XamlSerializationHelper.cs
- DownloadProgressEventArgs.cs
- FontFaceLayoutInfo.cs
- XsltArgumentList.cs
- SessionStateSection.cs
- ColumnWidthChangingEvent.cs
- SqlErrorCollection.cs
- Italic.cs
- Directory.cs
- CollectionType.cs
- DbProviderManifest.cs
- xml.cs
- _NegoState.cs
- TextElementCollection.cs
- Stack.cs
- ConfigXmlComment.cs
- ApplicationActivator.cs
- OracleCommandSet.cs
- X509ChainElement.cs
- ColumnResizeUndoUnit.cs
- TemplateApplicationHelper.cs
- CodeDirectoryCompiler.cs
- ComPlusSynchronizationContext.cs
- WinInetCache.cs
- XmlChildNodes.cs
- WebPageTraceListener.cs
- SessionStateSection.cs
- TableLayoutPanelCodeDomSerializer.cs
- TraceContextEventArgs.cs
- ReachDocumentPageSerializer.cs
- UnsafeNativeMethods.cs
- UnsafeMethods.cs
- WriteTimeStream.cs
- UniqueID.cs
- IndexerReference.cs
- OleDbRowUpdatingEvent.cs
- XPathDescendantIterator.cs
- DirectoryLocalQuery.cs
- DependencyPropertyHelper.cs
- ContainerAction.cs
- DbConnectionClosed.cs
- DataGridViewRowHeaderCell.cs
- Buffer.cs
- UnicastIPAddressInformationCollection.cs
- BufferedGraphicsContext.cs
- DataGridAddNewRow.cs
- NonParentingControl.cs
- RightsManagementProvider.cs
- sqlmetadatafactory.cs
- HttpNamespaceReservationInstallComponent.cs
- GradientStop.cs
- ExceptionUtil.cs
- HttpContext.cs
- EventWaitHandleSecurity.cs
- Odbc32.cs
- WebPartHelpVerb.cs
- LinqDataSourceDisposeEventArgs.cs
- DropShadowEffect.cs
- ConnectionProviderAttribute.cs
- RTLAwareMessageBox.cs
- AuthStoreRoleProvider.cs
- FixedSOMSemanticBox.cs
- RayMeshGeometry3DHitTestResult.cs
- HuffCodec.cs
- RayHitTestParameters.cs
- HttpHandlerActionCollection.cs
- InputMethodStateTypeInfo.cs
- StringFormat.cs
- ChangeTracker.cs
- DataBoundLiteralControl.cs
- AutoSizeComboBox.cs
- DateTimeUtil.cs
- ApplicationDirectoryMembershipCondition.cs
- DataBinder.cs
- CompatibleIComparer.cs
- PhysicalFontFamily.cs
- COM2IPerPropertyBrowsingHandler.cs
- CryptoApi.cs
- TextTrailingWordEllipsis.cs
- MetadataItem.cs
- InputScope.cs
- HttpListenerException.cs
- WebHttpSecurityModeHelper.cs
- GridEntryCollection.cs
- SelectingProviderEventArgs.cs
- FastPropertyAccessor.cs
- XmlValidatingReaderImpl.cs
- DataServiceRequestException.cs
- SqlDependency.cs
- OptimalBreakSession.cs
- LineInfo.cs
- TableCell.cs
- EndOfStreamException.cs
- sqlmetadatafactory.cs
- _FtpDataStream.cs