Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / AttributeSetAction.cs / 1305376 / 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, "name"); CompileContent(compiler); } internal override bool CompileAttribute(Compiler compiler) { string name = compiler.Input.LocalName; string value = compiler.Input.Value; if (Ref.Equal(name, compiler.Atoms.Name)) { Debug.Assert(this.name == null); this.name = compiler.CreateXPathQName(value); } else if (Ref.Equal(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 (Ref.Equal(nspace, input.Atoms.UriXsl) && Ref.Equal(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, "attribute-set"); } } 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
- Maps.cs
- ChtmlTextBoxAdapter.cs
- SystemColorTracker.cs
- ImpersonateTokenRef.cs
- FaultContractInfo.cs
- Opcode.cs
- FixedSOMPageConstructor.cs
- WebPermission.cs
- TaskScheduler.cs
- TableCellCollection.cs
- SecurityDescriptor.cs
- SortDescriptionCollection.cs
- ChangeConflicts.cs
- CompModSwitches.cs
- DataBoundControl.cs
- SortAction.cs
- TdsParserStaticMethods.cs
- ReaderWriterLockWrapper.cs
- TextUtf8RawTextWriter.cs
- RuntimeHelpers.cs
- BaseTemplateBuildProvider.cs
- DeflateEmulationStream.cs
- DifferencingCollection.cs
- HttpsHostedTransportConfiguration.cs
- XPathConvert.cs
- GuidConverter.cs
- MetadataCollection.cs
- DesignerForm.cs
- FormsAuthenticationUserCollection.cs
- KnownTypeAttribute.cs
- ConstraintEnumerator.cs
- TableLayoutPanelCellPosition.cs
- SafeSystemMetrics.cs
- ExpandoObject.cs
- XhtmlMobileTextWriter.cs
- PageThemeParser.cs
- KeyEventArgs.cs
- ElementProxy.cs
- UIntPtr.cs
- TypeConverterAttribute.cs
- Int16KeyFrameCollection.cs
- LogLogRecordEnumerator.cs
- CodeMethodInvokeExpression.cs
- DecimalAnimation.cs
- ItemDragEvent.cs
- LinkUtilities.cs
- BoolLiteral.cs
- PlanCompilerUtil.cs
- Regex.cs
- DataGridLength.cs
- HashHelper.cs
- CodeMethodInvokeExpression.cs
- QueryAsyncResult.cs
- ClientUtils.cs
- DataGridAutoFormat.cs
- UndoUnit.cs
- CheckBoxField.cs
- PointIndependentAnimationStorage.cs
- EraserBehavior.cs
- SessionSwitchEventArgs.cs
- Repeater.cs
- GPPOINT.cs
- SchemaSetCompiler.cs
- UmAlQuraCalendar.cs
- RotateTransform3D.cs
- EntityCommandExecutionException.cs
- JpegBitmapDecoder.cs
- InvokeHandlers.cs
- CheckBox.cs
- SyndicationFeedFormatter.cs
- SQLMoneyStorage.cs
- ToolStripDropDownMenu.cs
- BuildProvider.cs
- AnnotationObservableCollection.cs
- DataQuery.cs
- MimeTypeAttribute.cs
- ObjectDataSourceSelectingEventArgs.cs
- SafeUserTokenHandle.cs
- ExpressionVisitor.cs
- ConvertersCollection.cs
- ElementMarkupObject.cs
- EditorZoneBase.cs
- Utils.cs
- ControlCollection.cs
- XsltException.cs
- WebServiceErrorEvent.cs
- FixedPageStructure.cs
- Cursors.cs
- SuppressMessageAttribute.cs
- CodeLinePragma.cs
- WebPartMovingEventArgs.cs
- DefaultValueConverter.cs
- AdRotatorDesigner.cs
- FormatterServices.cs
- XsltCompileContext.cs
- DesignUtil.cs
- MailDefinitionBodyFileNameEditor.cs
- HtmlTableRow.cs
- SchemaSetCompiler.cs
- CellTreeNode.cs