536cd135cc
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
88 lines
3.0 KiB
C#
88 lines
3.0 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="OutputScope.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
// <owner current="true" primary="true">Microsoft</owner>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.Xml.Xsl.XsltOld {
|
|
using Res = System.Xml.Utils.Res;
|
|
using System;
|
|
using System.Diagnostics;
|
|
using System.Xml;
|
|
|
|
internal class OutputScope : DocumentScope {
|
|
private string name;
|
|
private string nsUri;
|
|
private string prefix;
|
|
private XmlSpace space;
|
|
private string lang;
|
|
private bool mixed;
|
|
private bool toCData;
|
|
private HtmlElementProps htmlElementProps; // in HTML output -- atomized name of element
|
|
|
|
internal string Name {
|
|
get { return this.name; }
|
|
}
|
|
internal string Namespace {
|
|
get { return this.nsUri; }
|
|
}
|
|
internal string Prefix {
|
|
get { return this.prefix; }
|
|
set { this.prefix = value; }
|
|
}
|
|
internal XmlSpace Space {
|
|
get { return this.space; }
|
|
set { this.space = value; }
|
|
}
|
|
internal string Lang {
|
|
get { return this.lang; }
|
|
set { this.lang = value; }
|
|
}
|
|
internal bool Mixed {
|
|
get { return this.mixed; }
|
|
set { this.mixed = value; }
|
|
}
|
|
internal bool ToCData {
|
|
get { return this.toCData; }
|
|
set { this.toCData = value; }
|
|
}
|
|
internal HtmlElementProps HtmlElementProps {
|
|
get { return this.htmlElementProps; }
|
|
set { this.htmlElementProps = value; }
|
|
}
|
|
|
|
internal OutputScope() {
|
|
Init(string.Empty, string.Empty, string.Empty, XmlSpace.None, string.Empty, false);
|
|
}
|
|
|
|
internal void Init(string name, string nspace, string prefix, XmlSpace space, string lang, bool mixed) {
|
|
this.scopes = null;
|
|
this.name = name;
|
|
this.nsUri = nspace;
|
|
this.prefix = prefix;
|
|
this.space = space;
|
|
this.lang = lang;
|
|
this.mixed = mixed;
|
|
this.toCData = false;
|
|
this.htmlElementProps = null;
|
|
}
|
|
|
|
internal bool FindPrefix(string urn, out string prefix) {
|
|
Debug.Assert(urn != null);
|
|
|
|
for (NamespaceDecl scope = this.scopes; scope != null; scope = scope.Next) {
|
|
if (Ref.Equal(scope.Uri, urn) &&
|
|
scope.Prefix != null &&
|
|
scope.Prefix.Length > 0) {
|
|
prefix = scope.Prefix;
|
|
return true;
|
|
}
|
|
}
|
|
|
|
prefix = string.Empty;
|
|
return false;
|
|
}
|
|
}
|
|
}
|