Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ObjectReaderCompiler.cs
- AutomationPatternInfo.cs
- Int16Animation.cs
- DropShadowBitmapEffect.cs
- MasterPage.cs
- MultipleViewProviderWrapper.cs
- StatusBarPanelClickEvent.cs
- SessionStateSection.cs
- Rect3DConverter.cs
- QuotedStringFormatReader.cs
- BaseTemplateParser.cs
- DataControlLinkButton.cs
- LassoSelectionBehavior.cs
- QilXmlReader.cs
- RequiredFieldValidator.cs
- XslException.cs
- GroupLabel.cs
- OleDbSchemaGuid.cs
- CryptoStream.cs
- PointUtil.cs
- FormClosingEvent.cs
- AsyncPostBackErrorEventArgs.cs
- ComplexPropertyEntry.cs
- MulticastIPAddressInformationCollection.cs
- PackageController.cs
- PeerDefaultCustomResolverClient.cs
- PropertyEmitterBase.cs
- WindowCollection.cs
- AppSettingsReader.cs
- SignatureHelper.cs
- MessageFilter.cs
- SqlNode.cs
- ByteStorage.cs
- SchemaName.cs
- PartialList.cs
- ExtenderControl.cs
- ExecutionProperties.cs
- ParameterElementCollection.cs
- EnvironmentPermission.cs
- UIElementParaClient.cs
- BackEase.cs
- Int64Storage.cs
- PackageFilter.cs
- TableSectionStyle.cs
- FloaterBaseParagraph.cs
- DataGridViewCellCollection.cs
- ConfigurationManagerHelper.cs
- HashMembershipCondition.cs
- Material.cs
- X509Chain.cs
- DBParameter.cs
- Int64.cs
- WebBodyFormatMessageProperty.cs
- StreamInfo.cs
- XmlObjectSerializerReadContext.cs
- DefaultParameterValueAttribute.cs
- EventEntry.cs
- XhtmlBasicValidationSummaryAdapter.cs
- ExceptionValidationRule.cs
- ping.cs
- ValueType.cs
- DataGridAutoFormatDialog.cs
- TextSelectionProcessor.cs
- ColorDialog.cs
- UnsafeNativeMethods.cs
- EntityDataSourceChangingEventArgs.cs
- IOThreadTimer.cs
- ListSortDescriptionCollection.cs
- AccessDataSource.cs
- SqlDeflator.cs
- InputScopeNameConverter.cs
- NavigationPropertySingletonExpression.cs
- ScriptingRoleServiceSection.cs
- SafeSecurityHandles.cs
- ColumnMapTranslator.cs
- TypefaceMap.cs
- SystemTcpStatistics.cs
- ThicknessAnimationBase.cs
- InvalidFilterCriteriaException.cs
- JumpPath.cs
- FontDialog.cs
- ColorAnimationBase.cs
- TextEditorParagraphs.cs
- DependencyPropertyChangedEventArgs.cs
- ServiceOperationParameter.cs
- DesignerCatalogPartChrome.cs
- EntityDesignerDataSourceView.cs
- SymLanguageType.cs
- DataGridComboBoxColumn.cs
- SQLBytes.cs
- CompilationUtil.cs
- TypedTableBase.cs
- Image.cs
- SqlHelper.cs
- SettingsPropertyValue.cs
- SymbolEqualComparer.cs
- CircleEase.cs
- xmlglyphRunInfo.cs
- PageBreakRecord.cs
- Size3D.cs