Class XmlHelper
This abstract class contains XML manipulation methods.
Inherited Members
Namespace: Tangosol.Run.Xml
Assembly: Coherence.dll
Syntax
public abstract class XmlHelper
Fields
POWER_0
An exponent of zero.
Declaration
public const int POWER_0 = 0
Field Value
| Type | Description |
|---|---|
| int |
POWER_G
An exponent of 30.
Declaration
public const int POWER_G = 30
Field Value
| Type | Description |
|---|---|
| int |
POWER_K
An exponent of 10.
Declaration
public const int POWER_K = 10
Field Value
| Type | Description |
|---|---|
| int |
POWER_M
An exponent of 20.
Declaration
public const int POWER_M = 20
Field Value
| Type | Description |
|---|---|
| int |
POWER_T
An exponent of 40.
Declaration
public const int POWER_T = 40
Field Value
| Type | Description |
|---|---|
| int |
UNIT_D
A unit of days.
Declaration
public const int UNIT_D = 86400000
Field Value
| Type | Description |
|---|---|
| int |
UNIT_H
A unit of hours.
Declaration
public const int UNIT_H = 3600000
Field Value
| Type | Description |
|---|---|
| int |
UNIT_M
A unit of minutes.
Declaration
public const int UNIT_M = 60000
Field Value
| Type | Description |
|---|---|
| int |
UNIT_MS
A unit of milliseconds.
Declaration
public const int UNIT_MS = 1
Field Value
| Type | Description |
|---|---|
| int |
UNIT_S
A unit of seconds.
Declaration
public const int UNIT_S = 1000
Field Value
| Type | Description |
|---|---|
| int |
UNRESOLVED
A constant that indicates that the parameter cannot be resolved.
Declaration
public static readonly object UNRESOLVED
Field Value
| Type | Description |
|---|---|
| object |
Methods
AddElements(IXmlElement, IEnumerator)
Add the elements from the IEnumerator to the passed XML.
Declaration
public static void AddElements(IXmlElement xml, IEnumerator enumerator)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement object to add to. |
| IEnumerator | enumerator | An IEnumerator of zero or more IXmlElement objects to add. |
Convert(object, XmlValueType)
Convert the passed object to the specified type.
Declaration
public static object Convert(object o, XmlValueType type)
Parameters
| Type | Name | Description |
|---|---|---|
| object | o | The object value or |
| XmlValueType | type | The enumerated type to convert to. |
Returns
| Type | Description |
|---|---|
| object | An object of the specified type. |
ConvertDocument(XmlDocument)
Converts specified System.Xml.XmlDocument into IXmlDocument.
Declaration
public static IXmlDocument ConvertDocument(XmlDocument xmlDoc)
Parameters
| Type | Name | Description |
|---|---|---|
| XmlDocument | xmlDoc | Source XmlDocument. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | IXmlDocument that is the result of conversion. |
ConvertElement(XmlElement, IXmlElement, IXmlElement)
Converts specified System.Xml.XmlElement into IXmlElement.
Declaration
public static void ConvertElement(XmlElement source, IXmlElement target, IXmlElement parent)
Parameters
| Type | Name | Description |
|---|---|---|
| XmlElement | source | Source XmlDocument; must not be |
| IXmlElement | target | IXmlElement that will be the result of conversion. If it
is |
| IXmlElement | parent | Parent of target IXmlElement; may be |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | If |
CreateDelegate<TDel>(IXmlElement)
Creates a delegate from a given configuration. IXmlElement of the following structure:
$lt;delegate> <static/> | <instance/> <class-name></class-name> <delegate-type></delegate-type> <method-name></method-name> </delegate>
Declaration
public static TDel CreateDelegate<TDel>(IXmlElement xmlDelegate) where TDel : class
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlDelegate | The XML element that contains the instantiation info. |
Returns
| Type | Description |
|---|---|
| TDel | A delegate obtained by the XML configutation |
Type Parameters
| Name | Description |
|---|---|
| TDel | The type of the delegate. |
CreateInstance(IXmlElement, IParameterResolver)
Create an instance of the class configured using an IXmlElement of the following structure:
<!ELEMENT ... (class-name | (class-factory-name, method-name), init-params?> <!ELEMENT init-params (init-param*)> <!ELEMENT init-param ((param-name | param-type), param-value, description?)>
As of Coherence 12.1.2 the supplied element may also be of the following format:
<!ELEMENT instance>
where the "instance" format is the same as above.
Declaration
public static object CreateInstance(IXmlElement xmlClass, XmlHelper.IParameterResolver resolver)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlClass | The XML element that contains the instantiation info. |
| XmlHelper.IParameterResolver | resolver | An XmlHelper.IParameterResolver to resolve "{macro}" values (optional). |
Returns
| Type | Description |
|---|---|
| object | An object intantiated or obtained based on the class configuration. |
CreateInstance(IXmlElement, IParameterResolver, Type)
Create an instance of the class configured using an IXmlElement of the following structure:
<!ELEMENT ... (class-name | (class-factory-name, method-name), init-params?> <!ELEMENT init-params (init-param*)> <!ELEMENT init-param ((param-name | param-type), param-value, description?)>
As of Coherence 12.1.2 the supplied element may also be of the following format:
<!ELEMENT instance>
where the "instance" format is the same as above.
Declaration
public static object CreateInstance(IXmlElement xmlClass, XmlHelper.IParameterResolver resolver, Type typeAssignable)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlClass | The XML element that contains the instantiation info. |
| XmlHelper.IParameterResolver | resolver | An XmlHelper.IParameterResolver to resolve "{macro}" values (optional). |
| Type | typeAssignable | if non-null, this method will validate that the Type is assignable from the loaded Type |
Returns
| Type | Description |
|---|---|
| object | An object intantiated or obtained based on the class configuration. |
DecodeAttribute(string)
Decode an attribute value that was quoted.
Declaration
public static string DecodeAttribute(string value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The attribute value to decode. |
Returns
| Type | Description |
|---|---|
| string | The attribute value in its decoded form. |
DecodeContent(string)
Decode an element's content value.
Declaration
public static string DecodeContent(string value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The content value to decode. |
Returns
| Type | Description |
|---|---|
| string | The attribute value in its decoded form. |
DecodeUri(string)
Decode a System Identifier as per the XML 1.0 Specification 2nd ed section 4.2.2.
Declaration
public static string DecodeUri(string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| string | uri | The URI to decode. |
Returns
| Type | Description |
|---|---|
| string | The decoded URI. |
EncodeAttribute(string, char)
Encode an attribute value so that it can be quoted and made part of a valid and well formed XML document.
Declaration
public static string EncodeAttribute(string value, char chQuote)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The attribute value to encode. |
| char | chQuote | The character that will be used to quote the attribute. |
Returns
| Type | Description |
|---|---|
| string | The attribute value in its encoded form (but not quoted). |
EncodeContent(string, bool)
Encode an element's content value so that it can be made part of a valid and well formed XML document.
Declaration
public static string EncodeContent(string value, bool preferBlockEscape)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The content value to encode. |
| bool | preferBlockEscape | Pass true to use the CDATA escape if two conditions are met: that escaping is required, and that the value does not contain the string "]]>". |
Returns
| Type | Description |
|---|---|
| string | The attribute value in its encoded form (but not quoted). |
EncodeUri(string)
Encode a System Identifier as per the XML 1.0 Specification second edition, section 4.2.2.
Declaration
public static string EncodeUri(string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| string | uri | The URI to encode. |
Returns
| Type | Description |
|---|---|
| string | The encoded URI. |
EnsureElement(IXmlElement, string)
Ensure that a child element exists.
Declaration
public static IXmlElement EnsureElement(IXmlElement xml, string path)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An XML element. |
| string | path | Element path. |
Returns
| Type | Description |
|---|---|
| IXmlElement | The existing or new IXmlElement object. |
Remarks
If any part of the path does not exist create new child elements to match the path.
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | If the name is |
| InvalidOperationException | If any element in the path is immutable or otherwise can not add a child element. |
See Also
EnsureNamespace(IXmlElement, string, string)
Ensure the existence of the Namespace declaration attribute in a context of the specified IXmlElement.
Declaration
public static void EnsureNamespace(IXmlElement xml, string prefix, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
| string | prefix | The Namespace prefix. |
| string | uri | The Namespace URI. |
EqualsElement(IXmlElement, IXmlElement)
Compare one XML element with another XML element for equality.
Declaration
public static bool EqualsElement(IXmlElement xml1, IXmlElement xml2)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml1 | A non-null IXmlElement object. |
| IXmlElement | xml2 | A non-null IXmlElement object. |
Returns
| Type | Description |
|---|---|
| bool | true if the elements are equal, false otherwise. |
EqualsValue(IXmlValue, IXmlValue)
Compare one XML value with another XML value for equality.
Declaration
public static bool EqualsValue(IXmlValue val1, IXmlValue val2)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlValue | val1 | A non-null IXmlValue object. |
| IXmlValue | val2 | A non-null IXmlValue object. |
Returns
| Type | Description |
|---|---|
| bool | true if the values are equal, false otherwise. |
FindElement(IXmlElement, string)
Find a child element with the specified '/'-delimited path.
Declaration
public static IXmlElement FindElement(IXmlElement xml, string path)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement. |
| string | path | The path to follow to find the desired XML element. |
Returns
| Type | Description |
|---|---|
| IXmlElement | The child element with the specified path or |
Remarks
The path format is based on a subset of the XPath specification, supporting:
- Leading '/' to specify root
- Use of '/' as a path delimiter
- Use of '..' to specify parent
null, or to throw an arbitrary runtime exception.
FindElement(IXmlElement, string, object)
Find a child element with the specified '/'-delimited path and the specified value.
Declaration
public static IXmlElement FindElement(IXmlElement xml, string path, object value)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement. |
| string | path | The path to follow to find the desired XML element. |
| object | value | The value to match. |
Returns
| Type | Description |
|---|---|
| IXmlElement | The child element with the specified path and value or
|
Remarks
The path format is based on a subset of the XPath specification, supporting:
- Leading '/' to specify root
- Use of '/' as a path delimiter
- Use of '..' to specify parent
GetAbsolutePath(IXmlElement)
Get the '/'-delimited path of the passed element starting from the root element.
Declaration
public static string GetAbsolutePath(IXmlElement xml)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement. |
Returns
| Type | Description |
|---|---|
| string | The path to the passed element in "absolute" format. |
GetAttribute(IXmlElement, string, string)
Get an attribute of the specified IXmlElement that matches to the specified local name and the specified Namespace URI.
Declaration
public static IXmlValue GetAttribute(IXmlElement xml, string local, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
| string | local | The local attribute name. |
| string | uri | The Namespace URI. |
Returns
| Type | Description |
|---|---|
| IXmlValue | An IXmlValue that matches to the specified local name and the specified Namespace URI. |
GetElement(IXmlElement, string)
Get a child element for the specified element.
Declaration
public static IXmlElement GetElement(IXmlElement xml, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement. |
| string | name | The name of the desired child element. |
Returns
| Type | Description |
|---|---|
| IXmlElement | The specified element as an object implementing
IXmlElement, or |
Remarks
If multiple child elements exist that have the specified name,
then the behavior of this method is undefined, and it is
permitted to return any one of the matching elements, to return
null, or to throw an arbitrary runtime exception.
GetElement(IXmlElement, string, string)
Get a child element of the specified IXmlElement that matches to the specified local name and the specified Namespace URI.
Declaration
public static IXmlElement GetElement(IXmlElement xml, string local, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The parent IXmlElement. |
| string | local | The local xml name. |
| string | uri | The Namespace URI. |
Returns
| Type | Description |
|---|---|
| IXmlElement | An element that matches to the specified local name and the specified Namespace URI. |
GetElements(IXmlElement, string, string)
Get an IEnumerator of child elements of the specified IXmlElement that match to the specified local name and the specified Namespace URI.
Declaration
public static IEnumerator GetElements(IXmlElement xml, string local, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The parent IXmlElement. |
| string | local | The local xml name. |
| string | uri | The Namespace URI. |
Returns
| Type | Description |
|---|---|
| IEnumerator | An IEnumerator containing all matching child elements. |
GetNamespacePrefix(IXmlElement, string)
Retrieve the Namespace prefix for a given URI in a context of the specified IXmlElement.
Declaration
public static string GetNamespacePrefix(IXmlElement xml, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
| string | uri | The Namespace URI. |
Returns
| Type | Description |
|---|---|
| string | The Namespace prefix corresponding to the URI. |
GetNamespaceUri(IXmlElement, string)
Retrieve the Namespace URI for a given prefix in a context of the specified IXmlElement.
Declaration
public static string GetNamespaceUri(IXmlElement xml, string prefix)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
| string | prefix | The Namespace prefix. |
Returns
| Type | Description |
|---|---|
| string | The Namespace URI corresponding to the prefix. |
GetUniversalName(string, string)
Return a universal XML element name.
Declaration
public static string GetUniversalName(string local, string prefix)
Parameters
| Type | Name | Description |
|---|---|---|
| string | local | The local XML element name. |
| string | prefix | The Namespace prefix. |
Returns
| Type | Description |
|---|---|
| string | The universal XML element name. |
See Also
HashElement(IXmlElement)
Provide a hash value for the XML element and all of its contained information.
Declaration
public static int HashElement(IXmlElement xml)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
Returns
| Type | Description |
|---|---|
| int | The hash value for the XML element. |
Remarks
The hash value is defined as a xor of the following:
- the GetHashCode() from the element's value (i.e. base.GetHashCode())
- the GetHashCode() from each attribute name
- the GetHashCode() from each attribute value
- the GetHashCode() from each sub-element
HashValue(IXmlValue)
Provide a hash value for the XML value.
Declaration
public static int HashValue(IXmlValue val)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlValue | val | The IXmlValue. |
Returns
| Type | Description |
|---|---|
| int | The hash value for the XML value. |
Remarks
The hash value is defined as one of the following:
- 0 if Value returns
null - otherwise the hash value is the GetHashCode() of the string representation of the value
IsCommentValid(string)
Validate the passed comment.
Declaration
public static bool IsCommentValid(string comment)
Parameters
| Type | Name | Description |
|---|---|---|
| string | comment | The XML comment. |
Returns
| Type | Description |
|---|---|
| bool | true if the comment is valid, false otherwise. |
Remarks
Comments may not contain "--". See the XML specification 1.0 2ed section 2.5.
IsElementMatch(IXmlElement, string, string)
Check whether or not an element matches to the specified local name and Namespace URI.
Declaration
public static bool IsElementMatch(IXmlElement xml, string local, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement |
| string | local | The local xml name. |
| string | uri | The Namespace URI. |
Returns
| Type | Description |
|---|---|
| bool | true if the specified element matches to the specified local name and the specified Namespace URI. |
IsEmpty(IXmlElement)
Check whether or not this element or any of its children elements have any content such as values or attributes.
Declaration
public static bool IsEmpty(IXmlElement xml)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement. |
Returns
| Type | Description |
|---|---|
| bool | true iff the element itself and all of its children have neither values nor attributes. |
IsEncodingValid(string)
Validate the passed encoding.
Declaration
public static bool IsEncodingValid(string encoding)
Parameters
| Type | Name | Description |
|---|---|---|
| string | encoding | The document encoding. |
Returns
| Type | Description |
|---|---|
| bool | true if the encoding is valid, false otherwise. |
Remarks
Encodings are lating strings defined as: [A-Za-z] ([A-Za-z0-9._] | '-')*
IsInstanceConfigEmpty(IXmlElement)
Check whether or not the specified configuration defines an instance of a class.
Declaration
public static bool IsInstanceConfigEmpty(IXmlElement xmlClass)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlClass | The XML element that contains the instantiation info. |
Returns
| Type | Description |
|---|---|
| bool | true iff there is no class configuration information available. |
Remarks
The specified IXmlElement shoud be of the same structure as used in the CreateInstance(IXmlElement, IParameterResolver).
IsNameMatch(IXmlElement, string, string, string)
Check whether or not a universal (composite) name matches to the specified local name and Namespace URI.
Declaration
public static bool IsNameMatch(IXmlElement xml, string name, string local, string uri)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The (context) IXmlElement. |
| string | name | The universal name. |
| string | local | The local xml name. |
| string | uri | The Namespace URI. |
Returns
| Type | Description |
|---|---|
| bool | true if the specified element matches to the specified local name and the specified Namespace URI. |
IsNameValid(string)
Validate the passed name.
Declaration
public static bool IsNameValid(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The XML name to validate. |
Returns
| Type | Description |
|---|---|
| bool | true if the name is valid, false otherwise. |
Remarks
Currently, this does not allow the "CombiningChar" or "Extender" characters that are allowed by the XML specification 1.0 2ed section 2.3 [4].
IsPublicIdentifierValid(string)
Validate the passed public identifier.
Declaration
public static bool IsPublicIdentifierValid(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The public identifier of the XML document. |
Returns
| Type | Description |
|---|---|
| bool | true if the identifier is valid, false otherwise. |
IsSystemIdentifierValid(string)
Validate the passed system identifier.
Declaration
public static bool IsSystemIdentifierValid(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The system identifier of the XML document. |
Returns
| Type | Description |
|---|---|
| bool | true if the identifier is valid, false otherwise. |
IsWhitespace(char)
Test if the specified character is XML whitespace.
Declaration
public static bool IsWhitespace(char ch)
Parameters
| Type | Name | Description |
|---|---|---|
| char | ch | A character. |
Returns
| Type | Description |
|---|---|
| bool | true if the passed character is XML whitespace. |
LoadResource(IResource, string)
Load an XML configuration from a resource.
Declaration
public static IXmlDocument LoadResource(IResource resource, string description)
Parameters
| Type | Name | Description |
|---|---|---|
| IResource | resource | The resource. |
| string | description | A description of the resource being loaded (e.g. "cache configuration"). The description is only used in logging and error messages related to loading the resource. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | The configuration XML. |
LoadXml(Stream)
Load XML from a stream.
Declaration
public static IXmlDocument LoadXml(Stream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | stream | The Stream object. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | The XML content. |
LoadXml(Stream, Encoding)
Load XML from a stream using the specified encoding.
Declaration
public static IXmlDocument LoadXml(Stream stream, Encoding encoding)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | stream | The Stream object. |
| Encoding | encoding | Encoding. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | The XML content. |
LoadXml(TextReader)
Load XML from a reader.
Declaration
public static IXmlDocument LoadXml(TextReader reader)
Parameters
| Type | Name | Description |
|---|---|---|
| TextReader | reader | The TextReader object. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | The XML content. |
LoadXml(string)
Load XML from a resource specified by path.
Declaration
public static IXmlDocument LoadXml(string path)
Parameters
| Type | Name | Description |
|---|---|---|
| string | path | Location of Xml data; an URL or valid path. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | The XML content. |
LoadXml(IResource)
Load XML from a given IResource.
Declaration
public static IXmlDocument LoadXml(IResource resource)
Parameters
| Type | Name | Description |
|---|---|---|
| IResource | resource | The resource. |
Returns
| Type | Description |
|---|---|
| IXmlDocument | The XML content. |
LookupXmlValueType(string)
Convert a string type to known XmlValueTypes, if any.
Declaration
public static XmlValueType LookupXmlValueType(string type)
Parameters
| Type | Name | Description |
|---|---|---|
| string | type | the type to lookup. |
Returns
| Type | Description |
|---|---|
| XmlValueType | The corresponding XmlValueType or null if no match exists. |
OverrideElement(IXmlElement, IXmlElement)
Override the values of the specified base element with values from the specified override element.
Declaration
public static void OverrideElement(IXmlElement xmlBase, IXmlElement xmlOverride)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlBase | Base IXmlElement. |
| IXmlElement | xmlOverride | Override IXmlElement. |
Remarks
The values are only overriden if there is an exact match between
the element paths and all attribute values. Empty override values
are ignored. Override elements that do not match any of the base
elements are just copied over. No ambiguity is allowed.
For example, if the base element has more then one child with the
same name and attributes then the override is not allowed.
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | If the base element is immutable or there is ambiguity between the override and base elements. |
OverrideElement(IXmlElement, IXmlElement, string)
Override the values of the specified base element with values from the specified override element.
Declaration
public static void OverrideElement(IXmlElement xmlBase, IXmlElement xmlOverride, string idAttrName)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlBase | Base IXmlElement. |
| IXmlElement | xmlOverride | Override IXmlElement. |
| string | idAttrName | Attribute name that serves as an identifier allowing to match elements with the same name; if not specified all attributes have to match for an override. |
Remarks
The values are only overriden if there is an exact match between
the element paths and an attribute value for the specified
attribute name. Empty override values are ignored. Override
elements that do not match any of the base elements are just
copied over. No ambiguity is allowed.
For example, if the base element has more then one child with the
same name and the specified attribute's value then the override
is not allowed.
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | If the base element is immutable or there is ambiguity between the override and base elements. |
ParseInitParams(IXmlElement)
Parse the specified "init-params" element of the following structure:
<!ELEMENT init-params (init-param*)> <!ELEMENT init-param ((param-name | param-type), param-value, description?)>
into an object array.
Declaration
public static object[] ParseInitParams(IXmlElement xmlParams)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlParams | The "init-params" IXmlElement to parse. |
Returns
| Type | Description |
|---|---|
| object[] | An array of parameters. |
Remarks
For the purpose of this method only the parameters that have the "param-type" element specified are processed. The following types are supported:
- string (a.k.a. System.String)
- bool (a.k.a. System.Boolean)
- int (a.k.a. System.Int32)
- long (a.k.a. System.Int64)
- float (a.k.a. System.Single)
- double (a.k.a. System.Double)
- decimal (a.k.a. System.Decimal)
- file (a.k.a. System.IO.File)
- date (a.k.a. System.DateTime)
- time (a.k.a. System.DateTime
- xml (a.k.a. Tangosol.Run.Xml.IXmlElement)
ParseInitParams(IXmlElement, IParameterResolver)
Parse the specified "init-params" element of the following structure:
<!ELEMENT init-params (init-param*)> <!ELEMENT init-param ((param-name | param-type), param-value, description?)>
into an object array.
Declaration
public static object[] ParseInitParams(IXmlElement xmlParams, XmlHelper.IParameterResolver resolver)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlParams | The "init-params" IXmlElement to parse. |
| XmlHelper.IParameterResolver | resolver | An XmlHelper.IParameterResolver to resolve "{macro}" values (optional). |
Returns
| Type | Description |
|---|---|
| object[] | An array of parameters. |
Remarks
For the purpose of this method only the parameters that have the "param-type" element specified are processed. The following types are supported:
- string (a.k.a. System.String)
- bool (a.k.a. System.Boolean)
- int (a.k.a. System.Int32)
- long (a.k.a. System.Int64)
- double (a.k.a. System.Double)
- float (a.k.a. System.Single)
- decimal (a.k.a. System.Decimal)
- file (a.k.a. System.IO.File)
- date (a.k.a. System.DateTime)
- time (a.k.a. System.DateTime
- xml (a.k.a. Tangosol.Run.Xml.IXmlElement)
ParseMemorySize(string)
Parse the given string representation of a number of bytes.
Declaration
public static long ParseMemorySize(string s)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | A string with the format [\d]+[[.][\d]+]?[K|k|M|m|G|g|T|t]?[B|b]? |
Returns
| Type | Description |
|---|---|
| long | The number of bytes represented by the given string. |
Remarks
The supplied string must be in the format:
[\d]+[[.][\d]+]?[K|k|M|m|G|g|T|t]?[B|b]?
where the first non-digit (from left to right) indicates the factor with which the preceeding decimal value should be multiplied:- K or k (kilo, 210)
- M or m (mega, 220)
- G or g (giga, 230)
- T or t (tera, 240)
If the string value does not contain a factor, a factor of one is assumed.
The optional last character B or b indicates a unit of bytes.
ParseMemorySize(string, int)
Parse the given string representation of a number of bytes.
Declaration
public static long ParseMemorySize(string s, int defaultPower)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | A string with the format [\d]+[[.][\d]+]?[K|k|M|m|G|g|T|t]?[B|b]? |
| int | defaultPower | The exponent used to calculate the factor used in the conversion if one is not implied by the given string. |
Returns
| Type | Description |
|---|---|
| long | The number of bytes represented by the given string. |
Remarks
The supplied string must be in the format:
[\d]+[[.][\d]+]?[K|k|M|m|G|g|T|t]?[B|b]?
where the first non-digit (from left to right) indicates the factor with which the preceeding decimal value should be multiplied:- K or k (kilo, 210)
- M or m (mega, 220)
- G or g (giga, 230)
- T or t (tera, 240)
If the string value does not contain an explict or implicit factor, a factor calculated by raising 2 to the given default power is used. The default power can be one of:
The optional last character B or b indicates a unit of bytes.
ParseTime(string)
Parse the given string representation of a time duration and return its value as a number of milliseconds.
Declaration
public static long ParseTime(string s)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | A string with the format [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? |
Returns
| Type | Description |
|---|---|
| long | The number of milliseconds represented by the given string. |
Remarks
The supplied string must be in the format:
[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?
where the first non-digits (from left to right) indicate the unit of time duration:
- MS or ms (milliseconds)
- S or s (seconds)
- M or m (minutes)
- H or h (hours)
- D or d (days)
If the string value does not contain a unit, a unit of milliseconds is assumed.
ParseTime(string, int)
Parse the given string representation of a time duration and return its value as a number of milliseconds.
Declaration
public static long ParseTime(string s, int defaultUnit)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | A string with the format [\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]? |
| int | defaultUnit | The unit to use in the conversion to milliseconds if one is not specified in the supplied string. |
Returns
| Type | Description |
|---|---|
| long | The number of milliseconds represented by the given string. |
Remarks
The supplied string must be in the format:
[\d]+[[.][\d]+]?[MS|ms|S|s|M|m|H|h|D|d]?
where the first non-digits (from left to right) indicate the unit of time duration:
- MS or ms (milliseconds)
- S or s (seconds)
- M or m (minutes)
- H or h (hours)
- D or d (days)
If the string value does not contain a unit, the specified default unit is assumed. The default unit can be one of:
PurgeChildrenNamespace(IXmlElement)
For the children elements of the specified IXmlElement purge the repetetive Namespace declarations.
Declaration
public static void PurgeChildrenNamespace(IXmlElement xml)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
PurgeNamespace(IXmlElement)
For the specified IXmlElement purge the Namespace declarations that are declared somewhere up the xml tree.
Declaration
public static void PurgeNamespace(IXmlElement xml)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | The IXmlElement. |
Quote(string)
XML quote the passed string.
Declaration
public static string Quote(string s)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | The string to quote. |
Returns
| Type | Description |
|---|---|
| string | The quoted string. |
RemoveElement(IXmlElement, string)
Remove all immediate child elements with the given name.
Declaration
public static int RemoveElement(IXmlElement xml, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xml | An IXmlElement. |
| string | name | Child element name. |
Returns
| Type | Description |
|---|---|
| int | The number of removed child elements. |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | If the element is immutable or otherwise cannot remove a child element. |
ReplaceElement(IXmlElement, IXmlElement)
Replace a child element with the same name as the specified element.
Declaration
public static bool ReplaceElement(IXmlElement xmlParent, IXmlElement xmlReplace)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlParent | Parent IXmlElement. |
| IXmlElement | xmlReplace | Element to replace with. |
Returns
| Type | Description |
|---|---|
| bool | true if matching child element has been found and replaced; false otherwise. |
Remarks
If the child element does not exist the specified element is just added.
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | If the parent element is immutable or otherwise cannot remove a child element. |
TransformInitParams(IXmlElement, IXmlElement)
Transform the specified "init-params" element of the following structure:
<!ELEMENT init-params (init-param*)> <!ELEMENT init-param ((param-name | param-type), param-value, description?)>
into an XML element composed of the corrsponding names. For example, the "init-params" element of the following structure:
<init-param>
<param-name>NameOne</param-name>
<param-value>ValueOne</param-value>
</init-param>
<init-param>
<param-name>NameTwo</param-name>
<param-value>ValueTwo</param-value>
</init-param>
will transform into
<NameOne>ValueOne</NameOne> <NameTwo>ValueTwo</NameTwo>
Declaration
public static void TransformInitParams(IXmlElement xmlParent, IXmlElement xmlParams)
Parameters
| Type | Name | Description |
|---|---|---|
| IXmlElement | xmlParent | The XML element to insert the transformed elements into. |
| IXmlElement | xmlParams | The "init-params" IXmlElement to parse. |
Remarks
For the purpose of this method only the parameters that have the "param-name" element specified are processed.
Trim(string)
Trim XML whitespace.
Declaration
public static string Trim(string s)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | The original string. |
Returns
| Type | Description |
|---|---|
| string | The passed string minus any leading or trailing whitespace. |
Remarks
See XML 1.0 2ed section 2.3.
Trimb(string)
Trim trailing XML whitespace.
Declaration
public static string Trimb(string s)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | The original string. |
Returns
| Type | Description |
|---|---|
| string | The passed string minus any trailing whitespace. |
Remarks
See XML 1.0 2ed section 2.3.
Trimf(string)
Trim leading XML whitespace.
Declaration
public static string Trimf(string s)
Parameters
| Type | Name | Description |
|---|---|---|
| string | s | The original string. |
Returns
| Type | Description |
|---|---|
| string | The passed string minus any leading whitespace. |
Remarks
See XML 1.0 2ed section 2.3.