Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / XsltOld / NavigatorOutput.cs / 1305376 / NavigatorOutput.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 MS.Internal.Xml.Cache; internal class NavigatorOutput : RecordOutput { private XPathDocument doc; private int documentIndex; private XmlRawWriter wr; internal XPathNavigator Navigator { get { return ((IXPathNavigable)doc).CreateNavigator(); } } internal NavigatorOutput(string baseUri) { doc = new XPathDocument(); this.wr = doc.LoadFromWriter(XPathDocument.LoadFlags.AtomizeNames, baseUri); } public Processor.OutputResult RecordDone(RecordBuilder record) { Debug.Assert(record != null); BuilderInfo mainNode = record.MainNode; documentIndex++; switch(mainNode.NodeType) { case XmlNodeType.Element: { wr.WriteStartElement( mainNode.Prefix, mainNode.LocalName, mainNode.NamespaceURI ); for (int attrib = 0; attrib < record.AttributeCount; attrib ++) { documentIndex++; Debug.Assert(record.AttributeList[attrib] is BuilderInfo); BuilderInfo attrInfo = (BuilderInfo) record.AttributeList[attrib]; if (attrInfo.NamespaceURI == XmlReservedNs.NsXmlNs) { if( attrInfo.Prefix.Length == 0 ) wr.WriteNamespaceDeclaration(string.Empty, attrInfo.Value ); else wr.WriteNamespaceDeclaration( attrInfo.LocalName, attrInfo.Value ); } else { wr.WriteAttributeString( attrInfo.Prefix, attrInfo.LocalName, attrInfo.NamespaceURI, attrInfo.Value ); } } wr.StartElementContent(); if (mainNode.IsEmptyTag) wr.WriteEndElement( mainNode.Prefix, mainNode.LocalName, mainNode.NamespaceURI ); break; } case XmlNodeType.Text: wr.WriteString( mainNode.Value ); break; case XmlNodeType.Whitespace: break; case XmlNodeType.SignificantWhitespace: wr.WriteString( mainNode.Value ); break; case XmlNodeType.ProcessingInstruction: wr.WriteProcessingInstruction( mainNode.LocalName, mainNode.Value ); break; case XmlNodeType.Comment: wr.WriteComment( mainNode.Value ); break; case XmlNodeType.Document: break; case XmlNodeType.EndElement: wr.WriteEndElement( mainNode.Prefix, mainNode.LocalName, mainNode.NamespaceURI ); break; default: Debug.Fail("Invalid NodeType on output: " + mainNode.NodeType); break; } record.Reset(); return Processor.OutputResult.Continue; } public void TheEnd() { wr.Close(); } } } // 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
- Clipboard.cs
- ExtendedProtectionPolicy.cs
- DbParameterHelper.cs
- BufferAllocator.cs
- PasswordDeriveBytes.cs
- TraceHwndHost.cs
- BCLDebug.cs
- QueryStringParameter.cs
- TrustLevel.cs
- RoleManagerSection.cs
- IsolatedStorageFilePermission.cs
- Automation.cs
- FlagsAttribute.cs
- Selector.cs
- FilteredDataSetHelper.cs
- DefaultValueConverter.cs
- XmlILConstructAnalyzer.cs
- XmlQualifiedName.cs
- ProgressChangedEventArgs.cs
- XmlDsigSep2000.cs
- VectorConverter.cs
- UserNamePasswordValidator.cs
- DispatcherHooks.cs
- PackageProperties.cs
- CodeNamespaceImportCollection.cs
- PreservationFileWriter.cs
- EntityWrapper.cs
- FontEditor.cs
- ActiveXContainer.cs
- Icon.cs
- TypeUsage.cs
- BackgroundWorker.cs
- View.cs
- QilTypeChecker.cs
- SimpleTypeResolver.cs
- CodeTypeDeclaration.cs
- OpenFileDialog.cs
- SqlStatistics.cs
- odbcmetadatafactory.cs
- QueryContinueDragEventArgs.cs
- XmlSerializerNamespaces.cs
- UpdateDelegates.Generated.cs
- StorageMappingItemLoader.cs
- MessageTransmitTraceRecord.cs
- PreloadedPackages.cs
- UnsafeNativeMethods.cs
- KeyEventArgs.cs
- XmlCodeExporter.cs
- SequenceNumber.cs
- TextRangeSerialization.cs
- SamlConditions.cs
- SqlDataSourceSelectingEventArgs.cs
- Columns.cs
- NameTable.cs
- LocatorManager.cs
- SweepDirectionValidation.cs
- CompoundFileIOPermission.cs
- SqlReferenceCollection.cs
- XmlSchemas.cs
- AttributeUsageAttribute.cs
- FormsAuthentication.cs
- ToolTip.cs
- TabPage.cs
- ConnectionStringSettings.cs
- BooleanConverter.cs
- ISFClipboardData.cs
- CompareValidator.cs
- DataRecordInternal.cs
- XPathDocumentIterator.cs
- HelpFileFileNameEditor.cs
- BoundColumn.cs
- TextEffectCollection.cs
- Completion.cs
- ExtendedPropertyInfo.cs
- X509CertificateClaimSet.cs
- LinqDataSource.cs
- securestring.cs
- PcmConverter.cs
- DataTableMappingCollection.cs
- TemplatedWizardStep.cs
- ResolvedKeyFrameEntry.cs
- BamlTreeUpdater.cs
- ExpandableObjectConverter.cs
- SchemaElementLookUpTable.cs
- SecurityTokenProviderContainer.cs
- ProviderCollection.cs
- WindowsSlider.cs
- ListMarkerSourceInfo.cs
- TextCompositionManager.cs
- SevenBitStream.cs
- CommandLibraryHelper.cs
- Accessible.cs
- FrameworkReadOnlyPropertyMetadata.cs
- KeyTimeConverter.cs
- InternalMappingException.cs
- InternalControlCollection.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- WaitHandleCannotBeOpenedException.cs
- ExtenderProvidedPropertyAttribute.cs
- ActivityExecutorOperation.cs