Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / AttributeSetAction.cs / 1 / AttributeSetAction.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 AttributeSetAction : ContainerAction { internal XmlQualifiedName name; internal XmlQualifiedName Name { get { return this.name; } } internal override void Compile(Compiler compiler) { CompileAttributes(compiler); CheckRequiredAttribute(compiler, this.name, Keywords.s_Name); CompileContent(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Keywords.Equals(name, compiler.Atoms.Name)) { Debug.Assert(this.name == null); this.name = compiler.CreateXPathQName(value); } else if (Keywords.Equals(name, compiler.Atoms.UseAttributeSets)) { // create a UseAttributeSetsAction // sets come before xsl:attributes AddAction(compiler.CreateUseAttributeSetsAction()); } else { return false; } return true; } private void CompileContent(Compiler compiler) { NavigatorInput input = compiler.Input; if (compiler.Recurse()) { do { switch(input.NodeType) { case XPathNodeType.Element: compiler.PushNamespaceScope(); string nspace = input.NamespaceURI; string name = input.LocalName; if (Keywords.Equals(nspace, input.Atoms.XsltNamespace) && Keywords.Equals(name, input.Atoms.Attribute)) { // found attribute so add it AddAction(compiler.CreateAttributeAction()); } else { throw compiler.UnexpectedKeyword(); } compiler.PopScope(); break; case XPathNodeType.Comment: case XPathNodeType.ProcessingInstruction: case XPathNodeType.Whitespace: case XPathNodeType.SignificantWhitespace: break; default: throw XsltException.Create(Res.Xslt_InvalidContents, Keywords.s_AttributeSet); } } while(compiler.Advance()); compiler.ToParent(); } } internal void Merge(AttributeSetAction attributeAction) { // add the contents of "attributeAction" to this action // place them at the end Action action; int i = 0; while((action = attributeAction.GetAction(i)) != null) { AddAction(action); i++; } } } } // 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 AttributeSetAction : ContainerAction { internal XmlQualifiedName name; internal XmlQualifiedName Name { get { return this.name; } } internal override void Compile(Compiler compiler) { CompileAttributes(compiler); CheckRequiredAttribute(compiler, this.name, Keywords.s_Name); CompileContent(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Keywords.Equals(name, compiler.Atoms.Name)) { Debug.Assert(this.name == null); this.name = compiler.CreateXPathQName(value); } else if (Keywords.Equals(name, compiler.Atoms.UseAttributeSets)) { // create a UseAttributeSetsAction // sets come before xsl:attributes AddAction(compiler.CreateUseAttributeSetsAction()); } else { return false; } return true; } private void CompileContent(Compiler compiler) { NavigatorInput input = compiler.Input; if (compiler.Recurse()) { do { switch(input.NodeType) { case XPathNodeType.Element: compiler.PushNamespaceScope(); string nspace = input.NamespaceURI; string name = input.LocalName; if (Keywords.Equals(nspace, input.Atoms.XsltNamespace) && Keywords.Equals(name, input.Atoms.Attribute)) { // found attribute so add it AddAction(compiler.CreateAttributeAction()); } else { throw compiler.UnexpectedKeyword(); } compiler.PopScope(); break; case XPathNodeType.Comment: case XPathNodeType.ProcessingInstruction: case XPathNodeType.Whitespace: case XPathNodeType.SignificantWhitespace: break; default: throw XsltException.Create(Res.Xslt_InvalidContents, Keywords.s_AttributeSet); } } while(compiler.Advance()); compiler.ToParent(); } } internal void Merge(AttributeSetAction attributeAction) { // add the contents of "attributeAction" to this action // place them at the end Action action; int i = 0; while((action = attributeAction.GetAction(i)) != null) { AddAction(action); i++; } } } } // 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
- RightsManagementEncryptionTransform.cs
- CodeBlockBuilder.cs
- XmlToDatasetMap.cs
- WindowsFormsEditorServiceHelper.cs
- FontSizeConverter.cs
- DataGrid.cs
- Size.cs
- BooleanConverter.cs
- DATA_BLOB.cs
- GroupQuery.cs
- ConfigPathUtility.cs
- FullTextLine.cs
- ToolStripPanelSelectionBehavior.cs
- SqlConnectionPoolProviderInfo.cs
- FormsAuthenticationUserCollection.cs
- LoginUtil.cs
- ToolboxItemCollection.cs
- IISMapPath.cs
- OleAutBinder.cs
- DbProviderManifest.cs
- cryptoapiTransform.cs
- QuadraticBezierSegment.cs
- ClockGroup.cs
- DocumentXPathNavigator.cs
- ImageBrush.cs
- WindowsListViewItemCheckBox.cs
- ChtmlLinkAdapter.cs
- KeyBinding.cs
- DataServiceException.cs
- DrawListViewSubItemEventArgs.cs
- Rotation3D.cs
- _DynamicWinsockMethods.cs
- ListViewTableCell.cs
- CommentGlyph.cs
- WindowsNonControl.cs
- LinkedDataMemberFieldEditor.cs
- SmtpCommands.cs
- AdornerHitTestResult.cs
- SelectionBorderGlyph.cs
- EllipticalNodeOperations.cs
- CompatibleComparer.cs
- StrongNameHelpers.cs
- VectorValueSerializer.cs
- PhysicalAddress.cs
- HttpRuntimeSection.cs
- UriExt.cs
- ListItemCollection.cs
- XmlText.cs
- EmptyStringExpandableObjectConverter.cs
- VisemeEventArgs.cs
- StrokeNodeOperations.cs
- SendDesigner.xaml.cs
- ContextInformation.cs
- StreamUpgradeAcceptor.cs
- SerializationException.cs
- ObjectListFieldCollection.cs
- ButtonField.cs
- TextEvent.cs
- ReliabilityContractAttribute.cs
- WhitespaceRuleLookup.cs
- TaskHelper.cs
- UnaryQueryOperator.cs
- BlurBitmapEffect.cs
- PageHandlerFactory.cs
- ErrorProvider.cs
- SafePointer.cs
- ServiceControllerDesigner.cs
- BooleanToVisibilityConverter.cs
- ActivityCompletionCallbackWrapper.cs
- MaskedTextProvider.cs
- AuthenticationSection.cs
- ICspAsymmetricAlgorithm.cs
- TdsParserSafeHandles.cs
- ComponentChangedEvent.cs
- DecoderNLS.cs
- DesignerActionVerbList.cs
- PeerApplication.cs
- DBAsyncResult.cs
- DbDeleteCommandTree.cs
- RbTree.cs
- TextCollapsingProperties.cs
- NativeObjectSecurity.cs
- CircleHotSpot.cs
- Screen.cs
- FormViewCommandEventArgs.cs
- _SecureChannel.cs
- DrawingBrush.cs
- DataGridDetailsPresenter.cs
- PagerSettings.cs
- UpdateTranslator.cs
- ControlBindingsCollection.cs
- HandledEventArgs.cs
- EmptyEnumerator.cs
- ScrollPatternIdentifiers.cs
- JsonQueryStringConverter.cs
- AnnotationHelper.cs
- KeyValuePair.cs
- Membership.cs
- DeviceContext.cs
- MsmqInputMessage.cs