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
- TextSelectionHelper.cs
- TextRunCache.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- ViewGenerator.cs
- PrintDialog.cs
- _FtpDataStream.cs
- PageCache.cs
- ChangePassword.cs
- FunctionQuery.cs
- WeakHashtable.cs
- EmptyEnumerator.cs
- EndSelectCardRequest.cs
- WebServiceParameterData.cs
- RichTextBox.cs
- NavigatingCancelEventArgs.cs
- ListBindableAttribute.cs
- ImageField.cs
- TraceLog.cs
- WebPartActionVerb.cs
- Thread.cs
- StdValidatorsAndConverters.cs
- Codec.cs
- DeviceContexts.cs
- _NetworkingPerfCounters.cs
- CompositeFontParser.cs
- ClockGroup.cs
- ECDiffieHellmanCngPublicKey.cs
- RuntimeHelpers.cs
- WebSysDescriptionAttribute.cs
- ValidatingReaderNodeData.cs
- ToolboxBitmapAttribute.cs
- BooleanAnimationUsingKeyFrames.cs
- Win32KeyboardDevice.cs
- RestHandlerFactory.cs
- FormViewCommandEventArgs.cs
- SessionPageStateSection.cs
- FileAuthorizationModule.cs
- TextTreeDeleteContentUndoUnit.cs
- MgmtResManager.cs
- EventProviderWriter.cs
- SignedPkcs7.cs
- SqlEnums.cs
- versioninfo.cs
- COAUTHINFO.cs
- BrowserCapabilitiesFactory.cs
- LinqExpressionNormalizer.cs
- TextTreeExtractElementUndoUnit.cs
- IPAddress.cs
- OdbcParameterCollection.cs
- basecomparevalidator.cs
- ToolstripProfessionalRenderer.cs
- Duration.cs
- DiagnosticTrace.cs
- XmlSchemaProviderAttribute.cs
- WindowsTreeView.cs
- IIS7UserPrincipal.cs
- BlockUIContainer.cs
- TreeViewEvent.cs
- SoapSchemaImporter.cs
- GeometryDrawing.cs
- SqlBulkCopyColumnMapping.cs
- EntityDataSourceQueryBuilder.cs
- WebResponse.cs
- CellNormalizer.cs
- WebPartUserCapability.cs
- DbConnectionOptions.cs
- ExecutedRoutedEventArgs.cs
- ValidatingPropertiesEventArgs.cs
- XmlSchemaIdentityConstraint.cs
- PeerContact.cs
- OracleDataAdapter.cs
- SchemaMerger.cs
- CultureSpecificStringDictionary.cs
- ListDictionary.cs
- XamlSerializerUtil.cs
- BitmapFrameEncode.cs
- WebPartMinimizeVerb.cs
- SQLChars.cs
- VirtualDirectoryMapping.cs
- JavaScriptObjectDeserializer.cs
- RightsManagementPermission.cs
- PeerNearMe.cs
- XPathParser.cs
- SqlConnectionPoolProviderInfo.cs
- SendKeys.cs
- TextLine.cs
- SizeKeyFrameCollection.cs
- SafeRightsManagementSessionHandle.cs
- ConstructorBuilder.cs
- MergeLocalizationDirectives.cs
- UIElementCollection.cs
- LastQueryOperator.cs
- PasswordRecovery.cs
- SqlNotificationRequest.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- clipboard.cs
- _TransmitFileOverlappedAsyncResult.cs
- TempFiles.cs
- FormsAuthenticationUserCollection.cs
- Timeline.cs