Skip to content

Commit

Permalink
Fix XmlEncoder.
Browse files Browse the repository at this point in the history
  • Loading branch information
randy-armstrong committed Feb 5, 2021
1 parent 1305e94 commit c22ecec
Showing 1 changed file with 32 additions and 32 deletions.
64 changes: 32 additions & 32 deletions Stack/Opc.Ua.Core/Types/Encoders/XmlEncoder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -897,7 +897,7 @@ public void WriteEnumerated(string fieldName, Enum value)
/// </summary>
public void WriteBooleanArray(string fieldName, IList<bool> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -926,7 +926,7 @@ public void WriteBooleanArray(string fieldName, IList<bool> values)
/// </summary>
public void WriteSByteArray(string fieldName, IList<sbyte> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -955,7 +955,7 @@ public void WriteSByteArray(string fieldName, IList<sbyte> values)
/// </summary>
public void WriteByteArray(string fieldName, IList<byte> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -984,7 +984,7 @@ public void WriteByteArray(string fieldName, IList<byte> values)
/// </summary>
public void WriteInt16Array(string fieldName, IList<short> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1013,7 +1013,7 @@ public void WriteInt16Array(string fieldName, IList<short> values)
/// </summary>
public void WriteUInt16Array(string fieldName, IList<ushort> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1042,7 +1042,7 @@ public void WriteUInt16Array(string fieldName, IList<ushort> values)
/// </summary>
public void WriteInt32Array(string fieldName, IList<int> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1071,7 +1071,7 @@ public void WriteInt32Array(string fieldName, IList<int> values)
/// </summary>
public void WriteUInt32Array(string fieldName, IList<uint> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1100,7 +1100,7 @@ public void WriteUInt32Array(string fieldName, IList<uint> values)
/// </summary>
public void WriteInt64Array(string fieldName, IList<long> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1129,7 +1129,7 @@ public void WriteInt64Array(string fieldName, IList<long> values)
/// </summary>
public void WriteUInt64Array(string fieldName, IList<ulong> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1158,7 +1158,7 @@ public void WriteUInt64Array(string fieldName, IList<ulong> values)
/// </summary>
public void WriteFloatArray(string fieldName, IList<float> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1187,7 +1187,7 @@ public void WriteFloatArray(string fieldName, IList<float> values)
/// </summary>
public void WriteDoubleArray(string fieldName, IList<double> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1216,7 +1216,7 @@ public void WriteDoubleArray(string fieldName, IList<double> values)
/// </summary>
public void WriteStringArray(string fieldName, IList<string> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1245,7 +1245,7 @@ public void WriteStringArray(string fieldName, IList<string> values)
/// </summary>
public void WriteDateTimeArray(string fieldName, IList<DateTime> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1274,7 +1274,7 @@ public void WriteDateTimeArray(string fieldName, IList<DateTime> values)
/// </summary>
public void WriteGuidArray(string fieldName, IList<Uuid> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1303,7 +1303,7 @@ public void WriteGuidArray(string fieldName, IList<Uuid> values)
/// </summary>
public void WriteGuidArray(string fieldName, IList<Guid> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1332,7 +1332,7 @@ public void WriteGuidArray(string fieldName, IList<Guid> values)
/// </summary>
public void WriteByteStringArray(string fieldName, IList<byte[]> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1361,7 +1361,7 @@ public void WriteByteStringArray(string fieldName, IList<byte[]> values)
/// </summary>
public void WriteXmlElementArray(string fieldName, IList<XmlElement> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1390,7 +1390,7 @@ public void WriteXmlElementArray(string fieldName, IList<XmlElement> values)
/// </summary>
public void WriteNodeIdArray(string fieldName, IList<NodeId> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1419,7 +1419,7 @@ public void WriteNodeIdArray(string fieldName, IList<NodeId> values)
/// </summary>
public void WriteExpandedNodeIdArray(string fieldName, IList<ExpandedNodeId> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1448,7 +1448,7 @@ public void WriteExpandedNodeIdArray(string fieldName, IList<ExpandedNodeId> val
/// </summary>
public void WriteStatusCodeArray(string fieldName, IList<StatusCode> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1477,7 +1477,7 @@ public void WriteStatusCodeArray(string fieldName, IList<StatusCode> values)
/// </summary>
public void WriteDiagnosticInfoArray(string fieldName, IList<DiagnosticInfo> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1506,7 +1506,7 @@ public void WriteDiagnosticInfoArray(string fieldName, IList<DiagnosticInfo> val
/// </summary>
public void WriteQualifiedNameArray(string fieldName, IList<QualifiedName> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1535,7 +1535,7 @@ public void WriteQualifiedNameArray(string fieldName, IList<QualifiedName> value
/// </summary>
public void WriteLocalizedTextArray(string fieldName, IList<LocalizedText> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1564,7 +1564,7 @@ public void WriteLocalizedTextArray(string fieldName, IList<LocalizedText> value
/// </summary>
public void WriteVariantArray(string fieldName, IList<Variant> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1593,7 +1593,7 @@ public void WriteVariantArray(string fieldName, IList<Variant> values)
/// </summary>
public void WriteDataValueArray(string fieldName, IList<DataValue> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1622,7 +1622,7 @@ public void WriteDataValueArray(string fieldName, IList<DataValue> values)
/// </summary>
public void WriteExtensionObjectArray(string fieldName, IList<ExtensionObject> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1651,7 +1651,7 @@ public void WriteExtensionObjectArray(string fieldName, IList<ExtensionObject> v
/// </summary>
public void WriteEncodeableArray(string fieldName, IList<IEncodeable> values, System.Type systemType)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand Down Expand Up @@ -1698,7 +1698,7 @@ public void WriteEncodeableArray(string fieldName, IList<IEncodeable> values, Sy
/// </summary>
public void WriteEnumeratedArray(string fieldName, Array values, System.Type systemType)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Length)
Expand Down Expand Up @@ -1935,7 +1935,7 @@ public void WriteExtensionObjectBody(object body)
/// </summary>
private void WriteMatrix(string fieldName, Matrix value)
{
if (BeginField(fieldName, value == null, true))
if (BeginField(fieldName, value == null, true, true))
{
PushNamespace(Namespaces.OpcUaXsd);

Expand All @@ -1959,7 +1959,7 @@ private void WriteMatrix(string fieldName, Matrix value)
/// </summary>
public void WriteObjectArray(string fieldName, IList<object> values)
{
if (BeginField(fieldName, values == null, true))
if (BeginField(fieldName, values == null, true, true))
{
// check the length.
if (m_context.MaxArrayLength > 0 && m_context.MaxArrayLength < values.Count)
Expand All @@ -1986,12 +1986,12 @@ public void WriteObjectArray(string fieldName, IList<object> values)
/// <summary>
/// Writes the start element for a field.
/// </summary>
private bool BeginField(string fieldName, bool isDefault, bool isNillable)
private bool BeginField(string fieldName, bool isDefault, bool isNillable, bool isArrayElement = false)
{
// specifying a null field name means the start/end tags should not be written.
if (!String.IsNullOrEmpty(fieldName))
{
if (isNillable && isDefault)
if (isNillable && isDefault && !isArrayElement)
{
return false;
}
Expand Down

0 comments on commit c22ecec

Please sign in to comment.