Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- XhtmlBasicCalendarAdapter.cs
- MdImport.cs
- PropertyOverridesTypeEditor.cs
- DPTypeDescriptorContext.cs
- OutputWindow.cs
- LogStream.cs
- GroupByExpressionRewriter.cs
- SettingsContext.cs
- Size3DConverter.cs
- DataSourceView.cs
- DefinitionBase.cs
- Rights.cs
- ScriptModule.cs
- MulticastOption.cs
- ImageFormat.cs
- WindowsFormsHost.cs
- SafeCloseHandleCritical.cs
- DataMemberAttribute.cs
- PenContext.cs
- RectKeyFrameCollection.cs
- UpdateCommand.cs
- TabItemWrapperAutomationPeer.cs
- XPathDocumentIterator.cs
- mediaeventargs.cs
- MemberInfoSerializationHolder.cs
- ConfigurationStrings.cs
- XmlStreamStore.cs
- SoapDocumentServiceAttribute.cs
- ViewKeyConstraint.cs
- wpf-etw.cs
- ComponentManagerBroker.cs
- PlainXmlSerializer.cs
- DictionaryContent.cs
- X509InitiatorCertificateClientElement.cs
- DBSchemaRow.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- GroupItem.cs
- BinHexEncoding.cs
- HtmlElementCollection.cs
- SendActivityDesignerTheme.cs
- ButtonBaseAutomationPeer.cs
- PropertyManager.cs
- HtmlInputHidden.cs
- ActivityTypeCodeDomSerializer.cs
- CapabilitiesUse.cs
- TableRowGroup.cs
- IPGlobalProperties.cs
- HtmlGenericControl.cs
- ModifierKeysConverter.cs
- SortAction.cs
- RadioButtonStandardAdapter.cs
- SqlCacheDependency.cs
- SafeLibraryHandle.cs
- SqlBuffer.cs
- FlowLayoutSettings.cs
- ToolStripButton.cs
- LinqToSqlWrapper.cs
- ExtractorMetadata.cs
- ToolStripItemCollection.cs
- PolyBezierSegmentFigureLogic.cs
- ConfigDefinitionUpdates.cs
- XLinq.cs
- ComEventsHelper.cs
- ConnectionInterfaceCollection.cs
- DataRowView.cs
- OdbcParameter.cs
- SubtreeProcessor.cs
- GridViewUpdatedEventArgs.cs
- ColumnTypeConverter.cs
- DomainLiteralReader.cs
- EntityDataSourceSelectedEventArgs.cs
- ColumnCollection.cs
- QilGeneratorEnv.cs
- ListViewItemEventArgs.cs
- IdentitySection.cs
- RegexFCD.cs
- XmlEncodedRawTextWriter.cs
- Literal.cs
- DataBindingCollection.cs
- MulticastDelegate.cs
- JpegBitmapEncoder.cs
- StatusBarItemAutomationPeer.cs
- DynamicRendererThreadManager.cs
- AssemblyResourceLoader.cs
- PrimitiveXmlSerializers.cs
- RangeValidator.cs
- LicenseProviderAttribute.cs
- securitycriticaldata.cs
- MailSettingsSection.cs
- EntityProviderFactory.cs
- SettingsContext.cs
- XhtmlBasicTextBoxAdapter.cs
- SelectionEditingBehavior.cs
- AnnotationHelper.cs
- WinCategoryAttribute.cs
- SspiNegotiationTokenAuthenticator.cs
- ColorMatrix.cs
- UIElementHelper.cs
- UnsafeNativeMethods.cs
- ApplicationSettingsBase.cs