internal OutputScopeManager(XmlNameTable nameTable, OutKeywords atoms) {
Debug.Assert(nameTable != null);
Debug.Assert(atoms != null);
this.elementScopesStack = new HWStack(STACK_INCREMENT);
this.nameTable = nameTable;
this.atoms = atoms;
this.defaultNS = this.atoms.Empty;
// We always adding rootElementScope to garantee that CurrentElementScope != null
// This context is active between PI and first element for example
OutputScope rootElementScope = (OutputScope) this.elementScopesStack.Push();
if(rootElementScope == null) {
rootElementScope = new OutputScope();
this.elementScopesStack.AddToTop(rootElementScope);
}
rootElementScope.Init(string.Empty, string.Empty, string.Empty, /*space:*/XmlSpace.None, /*lang:*/string.Empty, /*mixed:*/false);
}