Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RecipientInfo.cs
- ExpressionBuilder.cs
- KeySpline.cs
- CompilerScope.Storage.cs
- ToolStripHighContrastRenderer.cs
- DrawingContext.cs
- WebResourceAttribute.cs
- SqlSupersetValidator.cs
- streamingZipPartStream.cs
- EmptyEnumerator.cs
- EntityCommandExecutionException.cs
- SecurityCredentialsManager.cs
- QueueAccessMode.cs
- ConfigXmlSignificantWhitespace.cs
- HwndStylusInputProvider.cs
- ErrorEventArgs.cs
- UdpContractFilterBehavior.cs
- ScriptModule.cs
- UTF8Encoding.cs
- WebPartDescription.cs
- SqlBuilder.cs
- FormDesigner.cs
- CqlWriter.cs
- RowCache.cs
- WizardForm.cs
- RequestNavigateEventArgs.cs
- RNGCryptoServiceProvider.cs
- StaticResourceExtension.cs
- DataException.cs
- DeclarativeCatalogPart.cs
- ToolBarOverflowPanel.cs
- ContextMenuStrip.cs
- FilterElement.cs
- GlyphCache.cs
- StackBuilderSink.cs
- SmtpMail.cs
- Point3DConverter.cs
- NeutralResourcesLanguageAttribute.cs
- Console.cs
- XamlClipboardData.cs
- SurrogateEncoder.cs
- ValidatingReaderNodeData.cs
- SegmentTree.cs
- DataTableCollection.cs
- ContentPosition.cs
- BindUriHelper.cs
- RijndaelManaged.cs
- ThreadStaticAttribute.cs
- RoutingService.cs
- HtmlTernaryTree.cs
- SchemaElementDecl.cs
- PDBReader.cs
- InstanceOwnerException.cs
- Assembly.cs
- BamlTreeUpdater.cs
- MemberAssignmentAnalysis.cs
- UnsafeNativeMethods.cs
- PanelDesigner.cs
- IsolatedStorageException.cs
- TreeView.cs
- MimeTypeMapper.cs
- ListViewItemSelectionChangedEvent.cs
- StringComparer.cs
- sqlmetadatafactory.cs
- FileAuthorizationModule.cs
- JpegBitmapDecoder.cs
- ContextDataSource.cs
- SmiTypedGetterSetter.cs
- SynchronizedMessageSource.cs
- EtwTrace.cs
- RichTextBoxAutomationPeer.cs
- GenerateTemporaryTargetAssembly.cs
- EditorZone.cs
- ObjectQueryState.cs
- ConfigurationManager.cs
- ToolStripOverflow.cs
- ServicePoint.cs
- Registry.cs
- CustomCredentialPolicy.cs
- UiaCoreApi.cs
- CharacterBufferReference.cs
- PermissionSetTriple.cs
- Keywords.cs
- Int16AnimationBase.cs
- PropertyDescriptorCollection.cs
- MatrixUtil.cs
- TableItemStyle.cs
- SystemBrushes.cs
- SimpleHandlerFactory.cs
- bidPrivateBase.cs
- TrustManager.cs
- ScrollContentPresenter.cs
- ConfigXmlAttribute.cs
- EntityDataSourceDesigner.cs
- SocketAddress.cs
- HttpConfigurationContext.cs
- OverrideMode.cs
- MultiViewDesigner.cs
- SqlFileStream.cs
- LineInfo.cs