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
- DataSourceView.cs
- CheckBox.cs
- StringCollection.cs
- MenuItem.cs
- ObjectCacheHost.cs
- XmlDocumentFragment.cs
- AnnotationComponentChooser.cs
- FileRecordSequenceCompletedAsyncResult.cs
- MouseEventArgs.cs
- UriExt.cs
- SmtpReplyReaderFactory.cs
- ServiceDescriptionContext.cs
- SoapIgnoreAttribute.cs
- OletxTransactionManager.cs
- DefaultEvaluationContext.cs
- NTAccount.cs
- SchemaImporterExtensionsSection.cs
- MDIWindowDialog.cs
- SerialErrors.cs
- BrowsableAttribute.cs
- TemplatePartAttribute.cs
- linebase.cs
- MouseDevice.cs
- InternalDuplexChannelListener.cs
- XmlUtf8RawTextWriter.cs
- PathFigureCollection.cs
- XmlMapping.cs
- UnsafeNativeMethods.cs
- HtmlWindow.cs
- MultipleViewPattern.cs
- Wildcard.cs
- HtmlInputControl.cs
- WebEventTraceProvider.cs
- ObjectIDGenerator.cs
- DbConnectionPoolCounters.cs
- ProxyManager.cs
- HyperLinkStyle.cs
- RIPEMD160.cs
- DependencyPropertyAttribute.cs
- SocketInformation.cs
- FlowDocumentFormatter.cs
- ComPlusServiceLoader.cs
- MailDefinition.cs
- FormViewPagerRow.cs
- CompilationUtil.cs
- Thumb.cs
- DesignerDataColumn.cs
- NativeMethods.cs
- TextBoxView.cs
- HttpConfigurationSystem.cs
- ProcessThread.cs
- QfeChecker.cs
- TextLine.cs
- NamespaceExpr.cs
- GroupStyle.cs
- ExtenderProvidedPropertyAttribute.cs
- UnSafeCharBuffer.cs
- GcSettings.cs
- CommonXSendMessage.cs
- ToolStripMenuItemCodeDomSerializer.cs
- ConnectionConsumerAttribute.cs
- ProcessModuleCollection.cs
- PageVisual.cs
- NodeLabelEditEvent.cs
- GlobalItem.cs
- MdImport.cs
- WebRequestModuleElementCollection.cs
- BridgeDataRecord.cs
- UInt32.cs
- ClientRuntime.cs
- ExternalException.cs
- ZipIOLocalFileHeader.cs
- JournalNavigationScope.cs
- Tokenizer.cs
- AnimationLayer.cs
- Matrix3DConverter.cs
- DataGridState.cs
- LineGeometry.cs
- SspiNegotiationTokenProviderState.cs
- Zone.cs
- InternalConfigRoot.cs
- basevalidator.cs
- ExpandSegment.cs
- COM2PropertyDescriptor.cs
- MenuItemCollection.cs
- KeyValuePairs.cs
- PropertiesTab.cs
- MimePart.cs
- OletxTransactionManager.cs
- WinEventHandler.cs
- DefaultTraceListener.cs
- Funcletizer.cs
- EmbeddedMailObject.cs
- XmlSchemaAnyAttribute.cs
- ProcessManager.cs
- SubMenuStyle.cs
- DataServiceSaveChangesEventArgs.cs
- UnsupportedPolicyOptionsException.cs
- Point3DConverter.cs
- TextBoxBaseDesigner.cs