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
- GridView.cs
- ImageList.cs
- Parser.cs
- WaitingCursor.cs
- ObjectHandle.cs
- EmbossBitmapEffect.cs
- PropertyIDSet.cs
- SystemFonts.cs
- FunctionImportMapping.cs
- ToolStripPanelRow.cs
- ListSortDescriptionCollection.cs
- XMLSchema.cs
- TypefaceMap.cs
- SimpleWorkerRequest.cs
- HttpRequestWrapper.cs
- EventLogWatcher.cs
- DataControlButton.cs
- SafeBitVector32.cs
- RemoteEndpointMessageProperty.cs
- BoundPropertyEntry.cs
- ColumnMapTranslator.cs
- EasingKeyFrames.cs
- NextPreviousPagerField.cs
- ObjectTag.cs
- DefaultTraceListener.cs
- ProfileModule.cs
- SelectionEditingBehavior.cs
- ToggleButtonAutomationPeer.cs
- QueryOptionExpression.cs
- SerialStream.cs
- BulletChrome.cs
- MemoryFailPoint.cs
- FieldInfo.cs
- CommandHelpers.cs
- WebPartConnectionsCloseVerb.cs
- SocketPermission.cs
- FloatMinMaxAggregationOperator.cs
- SecurityState.cs
- XmlSchemaSimpleContentRestriction.cs
- DataServiceProviderMethods.cs
- ProfileSettings.cs
- ColumnReorderedEventArgs.cs
- ReplyChannelBinder.cs
- PropertyEmitter.cs
- ToolStripCustomTypeDescriptor.cs
- ControlParameter.cs
- MeasureItemEvent.cs
- TreeView.cs
- InstanceKey.cs
- DateBoldEvent.cs
- WinEventHandler.cs
- KerberosReceiverSecurityToken.cs
- ExpanderAutomationPeer.cs
- SqlVisitor.cs
- RowToFieldTransformer.cs
- AddressHeaderCollectionElement.cs
- ControlBindingsConverter.cs
- ReadOnlyCollectionBase.cs
- ClosableStream.cs
- _SpnDictionary.cs
- Axis.cs
- ValueQuery.cs
- FolderBrowserDialog.cs
- TimeSpanOrInfiniteConverter.cs
- DataRelation.cs
- XmlSchemaCompilationSettings.cs
- Point4D.cs
- MultiByteCodec.cs
- DataContractSerializerFaultFormatter.cs
- Transform3DCollection.cs
- MatrixCamera.cs
- EventSetter.cs
- AnnotationAdorner.cs
- Compiler.cs
- SamlAttributeStatement.cs
- SelectionPatternIdentifiers.cs
- WebConfigurationHost.cs
- UpdateRecord.cs
- SizeChangedInfo.cs
- PropertyToken.cs
- ResourceDescriptionAttribute.cs
- MultiPageTextView.cs
- ClrProviderManifest.cs
- InfoCardProofToken.cs
- PtsHost.cs
- ThicknessAnimationUsingKeyFrames.cs
- BindingMemberInfo.cs
- ColorTranslator.cs
- initElementDictionary.cs
- unitconverter.cs
- BitmapDownload.cs
- mda.cs
- DocumentOrderQuery.cs
- FloaterBaseParaClient.cs
- OuterGlowBitmapEffect.cs
- RowUpdatedEventArgs.cs
- ListComponentEditor.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- RouteValueExpressionBuilder.cs
- IChannel.cs