Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / AttributeSetAction.cs / 1305376 / 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, "name"); CompileContent(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Ref.Equal(name, compiler.Atoms.Name)) { Debug.Assert(this.name == null); this.name = compiler.CreateXPathQName(value); } else if (Ref.Equal(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 (Ref.Equal(nspace, input.Atoms.UriXsl) && Ref.Equal(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, "attribute-set"); } } 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, "name"); CompileContent(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Ref.Equal(name, compiler.Atoms.Name)) { Debug.Assert(this.name == null); this.name = compiler.CreateXPathQName(value); } else if (Ref.Equal(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 (Ref.Equal(nspace, input.Atoms.UriXsl) && Ref.Equal(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, "attribute-set"); } } 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
- Collection.cs
- DataControlButton.cs
- MdImport.cs
- DataGridColumnStyleMappingNameEditor.cs
- DefaultTextStore.cs
- invalidudtexception.cs
- XMLUtil.cs
- DrawingAttributeSerializer.cs
- ParseNumbers.cs
- QueryOperationResponseOfT.cs
- ColorAnimation.cs
- SqlXmlStorage.cs
- PublisherIdentityPermission.cs
- PostBackOptions.cs
- EntitySetBase.cs
- DocumentViewerBase.cs
- ToolStripDesignerAvailabilityAttribute.cs
- COM2Enum.cs
- InitializingNewItemEventArgs.cs
- ToolStripButton.cs
- DataSourceView.cs
- columnmapfactory.cs
- Vector.cs
- WebConfigurationHost.cs
- List.cs
- EdmFunction.cs
- MethodExpression.cs
- BooleanFunctions.cs
- CompilationUtil.cs
- UnhandledExceptionEventArgs.cs
- UnsafeNativeMethods.cs
- ToolStripPanelCell.cs
- ContentElement.cs
- ByteStreamGeometryContext.cs
- BlurEffect.cs
- SrgsDocument.cs
- WorkflowInstance.cs
- SourceChangedEventArgs.cs
- EventDescriptorCollection.cs
- EventSinkActivity.cs
- CommandField.cs
- SplitterPanel.cs
- SQLInt32.cs
- serverconfig.cs
- AlphabeticalEnumConverter.cs
- ThicknessAnimation.cs
- QilLoop.cs
- DesignerTransactionCloseEvent.cs
- BooleanConverter.cs
- MetadataPropertyvalue.cs
- SynchronizationLockException.cs
- QuaternionRotation3D.cs
- IItemContainerGenerator.cs
- PartitionResolver.cs
- IdentityHolder.cs
- IPEndPoint.cs
- FamilyMapCollection.cs
- Span.cs
- WasAdminWrapper.cs
- RequestBringIntoViewEventArgs.cs
- FrameSecurityDescriptor.cs
- SystemIcmpV4Statistics.cs
- SafeSystemMetrics.cs
- PersistenceProviderFactory.cs
- ListItemCollection.cs
- DecimalStorage.cs
- ContextStaticAttribute.cs
- StoryFragments.cs
- CustomError.cs
- CodePrimitiveExpression.cs
- ToolBar.cs
- FileDialog_Vista.cs
- RNGCryptoServiceProvider.cs
- UpdatePanelTriggerCollection.cs
- storagemappingitemcollection.viewdictionary.cs
- LinqToSqlWrapper.cs
- EnumDataContract.cs
- XmlTypeAttribute.cs
- SchemaInfo.cs
- CFStream.cs
- ViewManager.cs
- TemplateApplicationHelper.cs
- HandoffBehavior.cs
- relpropertyhelper.cs
- FolderNameEditor.cs
- ProvideValueServiceProvider.cs
- ParallelForEach.cs
- NullableBoolConverter.cs
- SynchronizationFilter.cs
- SqlDataReader.cs
- AccessDataSourceView.cs
- ComponentCollection.cs
- NativeMethods.cs
- ImpersonationOption.cs
- OrderingExpression.cs
- ScrollEventArgs.cs
- ProcessThreadCollection.cs
- FilterQueryOptionExpression.cs
- ObjectTag.cs
- TextStore.cs