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
- HttpRuntime.cs
- FilterQuery.cs
- TokenBasedSetEnumerator.cs
- SizeF.cs
- CodeTypeConstructor.cs
- DataGridBoolColumn.cs
- OrCondition.cs
- SQLCharsStorage.cs
- ellipse.cs
- TdsParserSafeHandles.cs
- ImportContext.cs
- DragEventArgs.cs
- ThicknessAnimationBase.cs
- QueryOutputWriter.cs
- ExpressionList.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- DbCommandTree.cs
- ToolStripGripRenderEventArgs.cs
- Buffer.cs
- ThreadAbortException.cs
- SHA384.cs
- Point4DConverter.cs
- SamlDelegatingWriter.cs
- IChannel.cs
- BinaryMessageEncoder.cs
- LocalIdKeyIdentifierClause.cs
- Track.cs
- RegexCompilationInfo.cs
- SQLDouble.cs
- KeySplineConverter.cs
- RegionIterator.cs
- Setter.cs
- SizeLimitedCache.cs
- AuthenticationModulesSection.cs
- MoveSizeWinEventHandler.cs
- XPathAxisIterator.cs
- Base64Decoder.cs
- OrderedDictionary.cs
- DesignerOptionService.cs
- InputLanguageProfileNotifySink.cs
- Triangle.cs
- CroppedBitmap.cs
- TextHintingModeValidation.cs
- CodeCompiler.cs
- SqlMultiplexer.cs
- VirtualDirectoryMapping.cs
- DebugView.cs
- ObjectDataSourceDisposingEventArgs.cs
- DrawingCollection.cs
- ViewCellRelation.cs
- HighContrastHelper.cs
- InputProviderSite.cs
- FileDialogCustomPlace.cs
- FaultDescription.cs
- Label.cs
- HttpPostedFileWrapper.cs
- MappingModelBuildProvider.cs
- BindingBase.cs
- ParamArrayAttribute.cs
- SoapCommonClasses.cs
- Tracer.cs
- XslTransform.cs
- AutomationPatternInfo.cs
- SystemUnicastIPAddressInformation.cs
- CompositeKey.cs
- __FastResourceComparer.cs
- FlowLayout.cs
- RoleService.cs
- XamlTypeMapper.cs
- externdll.cs
- XmlStrings.cs
- PolicyManager.cs
- SelectionProcessor.cs
- ValidationException.cs
- ForeignConstraint.cs
- InvalidFilterCriteriaException.cs
- TransformerTypeCollection.cs
- VersionedStreamOwner.cs
- TaiwanLunisolarCalendar.cs
- BoundingRectTracker.cs
- PageThemeBuildProvider.cs
- OleDbFactory.cs
- RecordBuilder.cs
- WindowsTooltip.cs
- FormatSettings.cs
- TabRenderer.cs
- FillRuleValidation.cs
- ImageDrawing.cs
- GenericParameterDataContract.cs
- LayoutSettings.cs
- Timeline.cs
- DataGridViewColumnHeaderCell.cs
- AuthenticationServiceManager.cs
- MenuTracker.cs
- TraceXPathNavigator.cs
- ConfigXmlAttribute.cs
- SocketManager.cs
- PasswordRecoveryDesigner.cs
- _LocalDataStoreMgr.cs
- UshortList2.cs