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 / BuilderInfo.cs / 1 / BuilderInfo.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.Text;
using System.Collections.Generic;
using System.Xml;
using System.Xml.XPath;
internal class BuilderInfo {
private string name;
private string localName;
private string namespaceURI;
private string prefix;
private XmlNodeType nodeType;
private int depth;
private bool isEmptyTag;
internal string[] TextInfo = new string[4];
internal int TextInfoCount = 0;
internal bool search;
internal HtmlElementProps htmlProps;
internal HtmlAttributeProps htmlAttrProps;
internal BuilderInfo() {
Initialize(string.Empty, string.Empty, string.Empty);
}
internal void Initialize(string prefix, string name, string nspace) {
this.prefix = prefix;
this.localName = name;
this.namespaceURI = nspace;
this.name = null;
this.htmlProps = null;
this.htmlAttrProps = null;
this.TextInfoCount = 0;
}
internal void Initialize(BuilderInfo src) {
this.prefix = src.Prefix;
this.localName = src.LocalName;
this.namespaceURI = src.NamespaceURI;
this.name = null;
this.depth = src.Depth;
this.nodeType = src.NodeType;
this.htmlProps = src.htmlProps;
this.htmlAttrProps = src.htmlAttrProps;
this.TextInfoCount = 0;
EnsureTextInfoSize(src.TextInfoCount);
src.TextInfo.CopyTo(this.TextInfo, 0);
this.TextInfoCount = src.TextInfoCount;
}
void EnsureTextInfoSize(int newSize) {
if (this.TextInfo.Length < newSize) {
string[] newArr = new string[newSize * 2];
Array.Copy(this.TextInfo, newArr, this.TextInfoCount);
this.TextInfo = newArr;
}
}
internal BuilderInfo Clone() {
BuilderInfo info = new BuilderInfo();
info.Initialize(this);
Debug.Assert(info.NodeType != XmlNodeType.Text || XmlCharType.Instance.IsOnlyWhitespace(info.Value));
return info;
}
internal string Name {
get {
if (this.name == null) {
string prefix = Prefix;
string localName = LocalName;
if (prefix != null && 0 < prefix.Length) {
if (localName.Length > 0) {
this.name = prefix + ":" + localName;
}
else {
this.name = prefix;
}
}
else {
this.name = localName;
}
}
return this.name;
}
}
internal string LocalName {
get { return this.localName; }
set { this.localName = value; }
}
internal string NamespaceURI {
get { return this.namespaceURI; }
set { this.namespaceURI = value; }
}
internal string Prefix {
get { return this.prefix; }
set { this.prefix = value; }
}
// The true value of this object is a list of TextInfo
// Value.get merges them together but discards each node's escape info
// Value.set clears this object, and appends the new, single string
internal string Value {
get {
switch (this.TextInfoCount) {
case 0: return string.Empty;
case 1: return this.TextInfo[0];
default :
int size = 0;
for (int i = 0; i < this.TextInfoCount; i++) {
string ti = this.TextInfo[i];
if (ti == null) continue; // ignore disableEscaping
size += ti.Length;
}
StringBuilder sb = new StringBuilder(size);
for (int i = 0; i < this.TextInfoCount; i++) {
string ti = this.TextInfo[i];
if (ti == null) continue; // ignore disableEscaping
sb.Append(ti);
}
return sb.ToString();
}
}
set {
this.TextInfoCount = 0;
ValueAppend(value, /*disableEscaping:*/false);
}
}
internal void ValueAppend(string s, bool disableEscaping) {
if (s == null || s.Length == 0) {
return;
}
EnsureTextInfoSize(this.TextInfoCount + (disableEscaping ? 2 : 1));
if (disableEscaping) {
this.TextInfo[this.TextInfoCount ++] = null;
}
this.TextInfo[this.TextInfoCount++] = s;
}
internal XmlNodeType NodeType {
get { return this.nodeType; }
set { this.nodeType = value; }
}
internal int Depth {
get { return this.depth; }
set { this.depth = value; }
}
internal bool IsEmptyTag {
get { return this.isEmptyTag; }
set { this.isEmptyTag = value; }
}
}
}
// 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.Text;
using System.Collections.Generic;
using System.Xml;
using System.Xml.XPath;
internal class BuilderInfo {
private string name;
private string localName;
private string namespaceURI;
private string prefix;
private XmlNodeType nodeType;
private int depth;
private bool isEmptyTag;
internal string[] TextInfo = new string[4];
internal int TextInfoCount = 0;
internal bool search;
internal HtmlElementProps htmlProps;
internal HtmlAttributeProps htmlAttrProps;
internal BuilderInfo() {
Initialize(string.Empty, string.Empty, string.Empty);
}
internal void Initialize(string prefix, string name, string nspace) {
this.prefix = prefix;
this.localName = name;
this.namespaceURI = nspace;
this.name = null;
this.htmlProps = null;
this.htmlAttrProps = null;
this.TextInfoCount = 0;
}
internal void Initialize(BuilderInfo src) {
this.prefix = src.Prefix;
this.localName = src.LocalName;
this.namespaceURI = src.NamespaceURI;
this.name = null;
this.depth = src.Depth;
this.nodeType = src.NodeType;
this.htmlProps = src.htmlProps;
this.htmlAttrProps = src.htmlAttrProps;
this.TextInfoCount = 0;
EnsureTextInfoSize(src.TextInfoCount);
src.TextInfo.CopyTo(this.TextInfo, 0);
this.TextInfoCount = src.TextInfoCount;
}
void EnsureTextInfoSize(int newSize) {
if (this.TextInfo.Length < newSize) {
string[] newArr = new string[newSize * 2];
Array.Copy(this.TextInfo, newArr, this.TextInfoCount);
this.TextInfo = newArr;
}
}
internal BuilderInfo Clone() {
BuilderInfo info = new BuilderInfo();
info.Initialize(this);
Debug.Assert(info.NodeType != XmlNodeType.Text || XmlCharType.Instance.IsOnlyWhitespace(info.Value));
return info;
}
internal string Name {
get {
if (this.name == null) {
string prefix = Prefix;
string localName = LocalName;
if (prefix != null && 0 < prefix.Length) {
if (localName.Length > 0) {
this.name = prefix + ":" + localName;
}
else {
this.name = prefix;
}
}
else {
this.name = localName;
}
}
return this.name;
}
}
internal string LocalName {
get { return this.localName; }
set { this.localName = value; }
}
internal string NamespaceURI {
get { return this.namespaceURI; }
set { this.namespaceURI = value; }
}
internal string Prefix {
get { return this.prefix; }
set { this.prefix = value; }
}
// The true value of this object is a list of TextInfo
// Value.get merges them together but discards each node's escape info
// Value.set clears this object, and appends the new, single string
internal string Value {
get {
switch (this.TextInfoCount) {
case 0: return string.Empty;
case 1: return this.TextInfo[0];
default :
int size = 0;
for (int i = 0; i < this.TextInfoCount; i++) {
string ti = this.TextInfo[i];
if (ti == null) continue; // ignore disableEscaping
size += ti.Length;
}
StringBuilder sb = new StringBuilder(size);
for (int i = 0; i < this.TextInfoCount; i++) {
string ti = this.TextInfo[i];
if (ti == null) continue; // ignore disableEscaping
sb.Append(ti);
}
return sb.ToString();
}
}
set {
this.TextInfoCount = 0;
ValueAppend(value, /*disableEscaping:*/false);
}
}
internal void ValueAppend(string s, bool disableEscaping) {
if (s == null || s.Length == 0) {
return;
}
EnsureTextInfoSize(this.TextInfoCount + (disableEscaping ? 2 : 1));
if (disableEscaping) {
this.TextInfo[this.TextInfoCount ++] = null;
}
this.TextInfo[this.TextInfoCount++] = s;
}
internal XmlNodeType NodeType {
get { return this.nodeType; }
set { this.nodeType = value; }
}
internal int Depth {
get { return this.depth; }
set { this.depth = value; }
}
internal bool IsEmptyTag {
get { return this.isEmptyTag; }
set { this.isEmptyTag = value; }
}
}
}
// 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
- TraceEventCache.cs
- RSAOAEPKeyExchangeFormatter.cs
- EntityDataSourceEntitySetNameItem.cs
- ReadWriteObjectLock.cs
- JapaneseLunisolarCalendar.cs
- Missing.cs
- PathFigureCollectionValueSerializer.cs
- DbConnectionPoolCounters.cs
- ColorBlend.cs
- HintTextMaxWidthConverter.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- QuadraticEase.cs
- DbModificationCommandTree.cs
- XmlSchemaIdentityConstraint.cs
- AnnotationResourceCollection.cs
- DeploymentSection.cs
- XmlWriterSettings.cs
- DatePickerAutomationPeer.cs
- StylusEventArgs.cs
- XmlWrappingWriter.cs
- CodeCompiler.cs
- MergeExecutor.cs
- WmlImageAdapter.cs
- DoubleAverageAggregationOperator.cs
- TransformerTypeCollection.cs
- codemethodreferenceexpression.cs
- SqlConnectionHelper.cs
- OleDbParameterCollection.cs
- InheritanceUI.cs
- IntermediatePolicyValidator.cs
- SqlFormatter.cs
- SymbolMethod.cs
- TableChangeProcessor.cs
- TextTreeObjectNode.cs
- ComplexPropertyEntry.cs
- DbConnectionStringCommon.cs
- Label.cs
- DtdParser.cs
- SplitterEvent.cs
- ToolbarAUtomationPeer.cs
- DbProviderServices.cs
- PowerEase.cs
- CodeTypeConstructor.cs
- RtfNavigator.cs
- SchemaSetCompiler.cs
- ControlAdapter.cs
- InstalledVoice.cs
- QueryOptionExpression.cs
- EmulateRecognizeCompletedEventArgs.cs
- RequestResponse.cs
- VBIdentifierName.cs
- LinearGradientBrush.cs
- WindowsProgressbar.cs
- ProfessionalColors.cs
- DataStreamFromComStream.cs
- FormParameter.cs
- DataException.cs
- XmlEntityReference.cs
- ImageDrawing.cs
- CssTextWriter.cs
- KeyedHashAlgorithm.cs
- ThemeableAttribute.cs
- FixedPosition.cs
- mactripleDES.cs
- ButtonChrome.cs
- HtmlDocument.cs
- BinaryMethodMessage.cs
- RTLAwareMessageBox.cs
- MissingMemberException.cs
- TdsEnums.cs
- SessionIDManager.cs
- AsymmetricKeyExchangeDeformatter.cs
- ResourceReader.cs
- EpmSourceTree.cs
- sqlstateclientmanager.cs
- SettingsPropertyNotFoundException.cs
- Compiler.cs
- DataGridViewCellValueEventArgs.cs
- UpdateExpressionVisitor.cs
- HtmlTable.cs
- ExpressionPrefixAttribute.cs
- ProtocolsConfiguration.cs
- CssClassPropertyAttribute.cs
- ComplexLine.cs
- DataGridViewButtonCell.cs
- ContainsRowNumberChecker.cs
- Crc32.cs
- GeometryCollection.cs
- CanonicalXml.cs
- ReadOnlyHierarchicalDataSource.cs
- VirtualPath.cs
- Label.cs
- Scheduling.cs
- BridgeDataReader.cs
- ImageListStreamer.cs
- DataGridItem.cs
- GridItem.cs
- SchemaHelper.cs
- InArgument.cs
- TextContainer.cs