You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,130 @@
|
||||
//------------------------------------------------------------
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------
|
||||
|
||||
namespace System.IdentityModel
|
||||
{
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.IdentityModel;
|
||||
|
||||
static class XmlHelper
|
||||
{
|
||||
internal static string GetWhiteSpace(XmlReader reader)
|
||||
{
|
||||
string s = null;
|
||||
StringBuilder sb = null;
|
||||
while (reader.NodeType == XmlNodeType.Whitespace || reader.NodeType == XmlNodeType.SignificantWhitespace)
|
||||
{
|
||||
if (sb != null)
|
||||
{
|
||||
sb.Append(reader.Value);
|
||||
}
|
||||
else if (s != null)
|
||||
{
|
||||
sb = new StringBuilder(s);
|
||||
sb.Append(reader.Value);
|
||||
s = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
s = reader.Value;
|
||||
}
|
||||
if (!reader.Read())
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return sb != null ? sb.ToString() : s;
|
||||
}
|
||||
|
||||
internal static void OnRequiredAttributeMissing(string attrName, string elementName)
|
||||
{
|
||||
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.RequiredAttributeMissing, attrName, elementName)));
|
||||
}
|
||||
|
||||
internal static string ReadEmptyElementAndRequiredAttribute(XmlDictionaryReader reader,
|
||||
XmlDictionaryString name, XmlDictionaryString namespaceUri, XmlDictionaryString attributeName,
|
||||
out string prefix)
|
||||
{
|
||||
reader.MoveToStartElement(name, namespaceUri);
|
||||
prefix = reader.Prefix;
|
||||
bool isEmptyElement = reader.IsEmptyElement;
|
||||
string value = reader.GetAttribute(attributeName, null);
|
||||
if (value == null)
|
||||
{
|
||||
OnRequiredAttributeMissing(attributeName.Value, null);
|
||||
}
|
||||
reader.Read();
|
||||
|
||||
if (!isEmptyElement)
|
||||
{
|
||||
reader.ReadEndElement();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
internal static string ReadTextElementAsTrimmedString(XmlElement element)
|
||||
{
|
||||
if (element == null)
|
||||
{
|
||||
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("element");
|
||||
}
|
||||
|
||||
XmlReader reader = new XmlNodeReader(element);
|
||||
reader.MoveToContent();
|
||||
return XmlUtil.Trim(reader.ReadElementContentAsString());
|
||||
}
|
||||
|
||||
internal static void OnRequiredElementMissing(string elementName, string elementNamespace)
|
||||
{
|
||||
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.ExpectedElementMissing, elementName, elementNamespace)));
|
||||
}
|
||||
|
||||
internal static void OnUnexpectedChildNodeError(string parentName, XmlReader r)
|
||||
{
|
||||
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.UnexpectedXmlChildNode, r.Name, r.NodeType, parentName)));
|
||||
}
|
||||
|
||||
internal static void OnUnexpectedChildNodeError(XmlElement parent, XmlNode n)
|
||||
{
|
||||
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.UnexpectedXmlChildNode, n.Name, n.NodeType, parent.Name)));
|
||||
}
|
||||
|
||||
internal static System.Xml.UniqueId GetAttributeAsUniqueId(XmlDictionaryReader reader, XmlDictionaryString localName, XmlDictionaryString ns)
|
||||
{
|
||||
return GetAttributeAsUniqueId(reader, localName.Value, (ns != null ? ns.Value : null));
|
||||
}
|
||||
|
||||
static System.Xml.UniqueId GetAttributeAsUniqueId(XmlDictionaryReader reader, string name, string ns)
|
||||
{
|
||||
if (!reader.MoveToAttribute(name, ns))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
System.Xml.UniqueId id = reader.ReadContentAsUniqueId();
|
||||
reader.MoveToElement();
|
||||
|
||||
return id;
|
||||
}
|
||||
|
||||
static public void WriteAttributeStringAsUniqueId(XmlDictionaryWriter writer, string prefix, XmlDictionaryString localName, XmlDictionaryString ns, System.Xml.UniqueId id)
|
||||
{
|
||||
writer.WriteStartAttribute(prefix, localName, ns);
|
||||
writer.WriteValue(id);
|
||||
writer.WriteEndAttribute();
|
||||
}
|
||||
|
||||
static public Int64 ReadElementContentAsInt64(XmlDictionaryReader reader)
|
||||
{
|
||||
reader.ReadFullStartElement();
|
||||
Int64 i = reader.ReadContentAsLong();
|
||||
reader.ReadEndElement();
|
||||
return i;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user