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
- ByteStreamMessage.cs
- BindingBase.cs
- EventSchemaTraceListener.cs
- OracleParameter.cs
- FormViewDeletedEventArgs.cs
- RayHitTestParameters.cs
- UserUseLicenseDictionaryLoader.cs
- X509Extension.cs
- MediaCommands.cs
- EntityTypeBase.cs
- OdbcConnectionOpen.cs
- ShaderRenderModeValidation.cs
- ToolStripSystemRenderer.cs
- CompiledIdentityConstraint.cs
- SelfIssuedAuthAsymmetricKey.cs
- UserNamePasswordValidator.cs
- LogPolicy.cs
- ObjectDataSourceDisposingEventArgs.cs
- XmlSchemaCompilationSettings.cs
- WorkflowCreationContext.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- ImageSourceValueSerializer.cs
- ShutDownListener.cs
- GeneralTransform3DGroup.cs
- CodeSubDirectory.cs
- DesignerActionPanel.cs
- TableItemStyle.cs
- StructuredType.cs
- DictionaryCustomTypeDescriptor.cs
- Matrix.cs
- SpellerError.cs
- AmbientLight.cs
- Bezier.cs
- SchemaImporterExtensionsSection.cs
- FormatPage.cs
- sqlpipe.cs
- DragEventArgs.cs
- AuthenticationService.cs
- InvalidFilterCriteriaException.cs
- TemplateComponentConnector.cs
- XmlNamespaceManager.cs
- SelectedDatesCollection.cs
- AutomationIdentifier.cs
- TypeDescriptionProvider.cs
- FixedPageStructure.cs
- UpdateProgress.cs
- CultureInfoConverter.cs
- IndexObject.cs
- RuntimeHelpers.cs
- NavigationExpr.cs
- MetadataFile.cs
- _SSPISessionCache.cs
- Module.cs
- _NegotiateClient.cs
- DesigntimeLicenseContextSerializer.cs
- NamespaceDecl.cs
- BasicDesignerLoader.cs
- CommandBinding.cs
- VariableBinder.cs
- ScrollBar.cs
- CodeVariableReferenceExpression.cs
- SqlDependencyUtils.cs
- ConfigurationLocationCollection.cs
- SqlError.cs
- DefaultExpression.cs
- PrtTicket_Public.cs
- TwoPhaseCommit.cs
- MenuItemStyle.cs
- NetworkAddressChange.cs
- ConfigXmlAttribute.cs
- KeyGesture.cs
- TemplateParser.cs
- MLangCodePageEncoding.cs
- TemplateControlBuildProvider.cs
- UncommonField.cs
- TextChangedEventArgs.cs
- AddressHeaderCollectionElement.cs
- DependencyPropertyHelper.cs
- ConfigXmlReader.cs
- FloaterParaClient.cs
- FrameworkElementFactoryMarkupObject.cs
- ControlBuilderAttribute.cs
- SignatureToken.cs
- DetailsViewPageEventArgs.cs
- TextStore.cs
- TemplateModeChangedEventArgs.cs
- ListBoxAutomationPeer.cs
- validation.cs
- XmlSchemaNotation.cs
- ResourceReferenceExpression.cs
- ThicknessAnimationUsingKeyFrames.cs
- ObjectTokenCategory.cs
- DataRecord.cs
- URIFormatException.cs
- ellipse.cs
- XmlSchemaObjectCollection.cs
- TypeResolver.cs
- XhtmlTextWriter.cs
- SourceFileBuildProvider.cs
- _ConnectionGroup.cs