3.1 FB_JsonDomParser This function block is derived from the same internal function block as FB_JsonDynDomParser [} 44] and thus offers the same interface. The two derived function blocks differ only in their internal memory management. FB_JsonDomParser [} 15] is optimized for the fast and efficient parsing and creation of JSON documents that are only changed a little. It takes up less memory space than FB_DynDomParser [} 44] and is faster, but it consumes new memory with each change (e.g. SetObject [} 43]). This allocated memory is only released again by calling the method NewDocument [} 33]. 3.1.1 AddArrayMember This method adds an array member to a JSON object. 3.1.2 AddBase64Member This method adds a Base64 member to a JSON object. A structure, for example, can be addressed as an input parameter. The corresponding Base64 coding is done by the method. 3.1.3 AddBoolMember This method adds a Bool member to a JSON object. 3.1.4 AddDateTimeMember This method adds a DateTime member to a JSON object. 3.1.6 AddDoubleMember This method adds a Double member to a JSON object. 3.1.7 AddFileTimeMember This method adds a FileTime member to a JSON object. 3.1.8 AddHexBinaryMember This method adds a HexBinary member to a JSON object. 3.1.9 AddInt64Member This method adds an Int64 member to a JSON object. 3.1.11 AddJsonMember This method adds a JSON member to a JSON object. 3.1.12 AddNullMember This method adds a NULL member to a JSON object. 3.1.13 AddObjectMember This method adds an Object member to a JSON object. 3.1.14 AddStringMember This method adds a String member to a JSON object. 3.1.15 AddUint64Member This method adds an UInt64 member to a JSON object. 3.1.17 ArrayBegin This method returns the first element of an array and can be used together with the methods ArrayEnd() and NextArray() for iteration through a JSON array. 3.1.19 ClearArray This method deletes the content of an array. 3.1.20 CopyDocument This method copies the contents of the DOM memory into a variable of data type STRING, which can have any length. The method returns the length of the string (including null termination). If the target buffer is too small, it is emptied by a null termination and returned as length 0. 3.1.21 CopyJson This method extracts a JSON object from a key and stores it in a variable of data type STRING. This STRING can be of any length. The method returns the length of the copied JSON object (including null termination). If the target buffer is too small, it is emptied by a null termination and returned as length 0. 3.1.22 CopyString This method copies the value of a key into a variable of the data type STRING, which can be of any length. The method returns the length of the copied string (including null termination). If the target buffer is too small, it is emptied by a null termination and returned as length 0. 3.1.23 FindMember This method searches for a specific property in a JSON document and returns it. 0 is returned if no corresponding property is found. 3.1.24 FindMemberPath This method searches for a specific property in a JSON document and returns it. The property is specified according to its path in the document. 0 is returned if no corresponding property is found. 3.1.25 GetArraySize This method returns the number of elements in a JSON array. 3.1.26 GetArrayValue This method returns the value at the current iterator position of an array. 3.1.27 GetArrayValueByIdx This method returns the value of an array in a specified index. 3.1.28 GetBase64 This method decodes a Base64 value from a JSON property. If the content of a data structure, for example, is located behind the Base64 value, the decoded content can also be placed on an identical structure again. 3.1.29 GetBool This method returns the value of a property of the data type BOOL. 3.1.30 GetDateTime This method returns the value of a property of the data type DATE_AND_TIME. 3.1.32 GetDocument This method returns the content of the DOM memory as the data type STRING(255). With longer strings, the method will return a NULL string. In this case the method CopyDocument [} 21]() must be used. 3.1.33 GetDocumentLength This method returns the length of a JSON document in the DOM memory. 3.1.34 GetDocumentRoot This method returns the root node of a JSON document in the DOM memory. 3.1.35 GetDouble This method returns the value of a property of the data type LREAL. 3.1.36 GetFileTime This method returns the value of a property of the data type DCTIME. 3.1.37 GetHexBinary This method decodes the HexBinary content of a property and writes it to a certain memory address, e.g. to a data structure. 3.1.38 GetInt This method returns the value of a property of the data type DINT. 3.1.40 GetJson This method returns the value of a property as data type STRING(255), if this is a JSON document itself. With longer strings, the method will return a NULL string. In this case the method CopyJson [} 21]() must be used. 3.1.41 GetJsonLength This method returns the length of a property if this is a JSON document. 3.1.42 GetMaxDecimalPlaces This method returns the current setting for MaxDecimalPlaces. This influences the number of decimal places in the case of floating point numbers. 3.1.43 GetMemberName This method returns the name of a JSON property member at the position of the current iterator, e.g. during the iteration of a child element of a JSON property with the methods MemberBegin(), MemberEnd() and NextMember(). 3.1.45 GetString This method returns the value of a property of the data type STRING(255). With longer strings, the method will return a NULL string. In this case the method CopyString [} 22]() must be used. 3.1.46 GetStringLength This method returns the length of a property if its value is a string. 3.1.47 GetType This method returns the type of a property value. The return value can assume one of the values of the enum EJsonType. 3.1.48 GetUint This method returns the value of a property of the data type UDINT. 3.1.50 HasMember This method checks whether a certain property is present in the DOM memory. If the property is present the method returns TRUE, otherwise it returns FALSE. 3.1.51 IsArray This method checks whether a given property is an array. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.52 IsBase64 This method checks whether the value of a given property is of the data type Base64. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.55 IsFalse This method checks whether the value of a given property is FALSE. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.56 IsHexBinary This method checks whether the value of a property is in the HexBinary format. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.57 IsInt This method checks whether the value of a given property is of the data type Integer (PLC: DINT). If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.59 IsISO8601TimeFormat This method checks whether the value of a given property has a time format according to ISO8601. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.60 IsNull This method checks whether the value of a given property is NULL. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.61 IsNumber This method checks whether the value of a given property is a numerical value. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.62 IsObject This method checks whether the given property is a further JSON object. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.63 IsString This method checks whether the value of a given property is of the data type STRING. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.64 IsTrue This method checks whether the value of a given property is TRUE. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.65 IsUint This method checks whether the value of a given property is of the data type UDINT. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.1.67 LoadDocumentFromFile This method loads a JSON document from a file. A rising edge on the input parameter bExec triggers the loading procedure. Following the successful loading of a file, the return value of the method jumps to TRUE for one cycle and is then automatically reset by the driver. 3.1.68 MemberBegin This method returns the first child element below a JSON property and can be used by a JSON property together with the methods MemberEnd() and NextMember() for iteration. 3.1.70 NewDocument This method generates a new empty JSON document in the DOM memory. 3.1.71 NextArray 3.1.72 ParseDocument This method loads a JSON object into the DOM memory for further processing. The JSON object takes the form of a string and is transferred to the method as an input. A reference to the JSON document in the DOM memory is returned to the caller. 3.1.73 PushbackBase64Value This method appends a Base64 value to the end of an array. A structure, for example, can be addressed as an input parameter. The corresponding Base64 coding is done by the method. 3.1.74 PushbackBoolValue This method appends a value of the data type BOOL to the end of an array. 3.1.75 PushbackDateTimeValue This method appends a value of the data type DATE_AND_TIME to the end of an array. 3.1.78 PushbackFileTimeValue This method appends a value of the data type FILETIME to the end of an array. 3.1.79 PushbackHexBinaryValue This method appends a HexBinary value to the end of an array. The coding in the HexBinary format is executed by the method. A data structure, for example, can be used as the source. 3.1.80 PushbackInt64Value This method appends a value of the data type Int64 to the end of an array. 3.1.82 PushbackJsonValue This method appends a JSON document to the end of an array. 3.1.83 PushbackNullValue This method appends a NULL value to the end of an array. 3.1.84 PushbackStringValue This method appends a value of the data type DCTIME to the end of an array. 3.1.87 RemoveAllMembers This method removes all child elements from a given property. 3.1.88 RemoveArray This method deletes the value of the current array iterator. 3.1.89 RemoveMember This method deletes the property at the current iterator. 3.1.90 RemoveMemberByName This method removes a child element from a given property. The element is referenced by its name. 3.1.91 SaveDocumentToFile This method saves a JSON document in a file. A rising edge at the input parameter bExec triggers the saving procedure. Following the successful saving of a file, the return value of the method jumps to TRUE for one cycle and is then automatically reset by the driver. 3.1.92 SetArray This method sets the value of a property to the type "Array". New values can now be added to the array with the Pushback methods. 3.1.93 SetBase64 This method sets the value of a property to a Base64-coded value. A data structure, for example, can be used as the source. Coding to the Base64 format takes place inside the method. 3.1.94 SetBool This method sets the value of a property to a value of the data type BOOL. 3.1.95 SetDateTime This method sets the value of a property to a value of the data type DATE_AND_TIME. 3.1.97 SetDouble This method sets the value of a property to a value of the data type Double. 3.1.98 SetFileTime This method sets the value of a property to a value of the data type FILETIME. 3.1.99 SetHexBinary This method sets the value of a property to a HexBinary-coded value. A data structure, for example, can be used as the source. Coding to the HexBinary format takes place inside the method. 3.1.100 SetInt This method sets the value of a property to a value of the data type INT. 3.1.102 SetJson This method inserts a further JSON document into the value of a property. 3.1.103 SetMaxDecimalPlaces This method sets the current setting for MaxDecimalPlaces. This sets the maximum number of decimal places to be used with floating point numbers. 3.1.104 SetNull This method sets the value of a property to the value NULL. 3.1.105 SetObject This method sets the value of a property to the type "Object". This enables the nesting 3.1.106 SetString This method sets the value of a property to a value of the data type STRING. 3.2 FB_JsonDynDomParser This function block is derived from the same internal function block as FB_JsonDomParser [} 15] and thus offers the same interface. The two derived function blocks differ only in their internal memory management. FB_JsonDynDomParser is optimized for JSON documents to which many changes are made. It releases the allocated memory again after the execution of an action (e.g. SetObject [} 43]). 3.3 FB_JsonSaxReader 3.3.1 DecodeBase64 This method converts a Base64-formated string to binary data. If the conversion was successful the method returns TRUE, otherwise it returns FALSE. 3.3.2 DecodeDateTime This method enables the generation of a PLC variable of the type DATE_AND_TIME or DT from a standardized ISO8601 time format (e.g. YYYY-MM-DDThh:mm:ss). DT corresponds to the number of seconds starting from the date 01/01/1970. If the conversion was successful the method returns TRUE, otherwise it returns FALSE. 3.3.3 DecodeDcTime This method enables the generation of a PLC variable of the type DCTIME from a standardized ISO8601 time format (e.g. YYYY-MM-DDThh:mm:ss). DCTIME corresponds to the number of nanoseconds starting from the date 01/01/2000. If the conversion was successful the method returns TRUE, otherwise it returns FALSE. 3.3.5 DecodeHexBinary This method converts a string containing hexadecimal values into binary data. If the conversion was successful the method returns TRUE, otherwise it returns FALSE. 3.3.6 GetLastParseResult 3.3.7 IsBase64 This method checks whether the transferred string corresponds to the Base64 format. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.3.8 IsHexBinary This method checks whether the transferred string consists of hexadecimal values. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.3.9 IsISO8601TimeFormat This method checks whether the transferred string corresponds to the standardized ISO8601 time format. If that is the case, the method returns TRUE, otherwise it returns FALSE. 3.3.10 Parse This method starts the SAX reader parsing procedure. The JSON object to be parsed and a reference to a function block, which was derived from the interface ITcJsonSaxHandler, are transferred as input parameters. This function block is then used for the callback methods of the SAX reader. 3.3.11 ParseValues This method starts the SAX reader parsing procedure. The JSON object to be parsed and a reference to a function block, which was derived from the interface ITcJsonSaxValues, are transferred as input parameters. This function block is then used for the callback methods of the SAX reader. What is special about this method is that exclusively values are taken into account in the callback methods, i.e. there are no OnKey() or OnStartObject() callbacks. 3.4 FB_JsonSaxWriter 3.4.1 AddBase64 This method adds a value of the data type Base64 to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.2 AddBool This method adds a value of the data type BOOL to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.3 AddDateTime This method adds a value of the data type DATE_AND_TIME to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.7 AddHexBinary This method adds a hex binary value to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.8 AddKey This method adds a new property key at the current position of the SAX writer. The value of the new property is usually set afterwards. This can be done using one of the following methods, for example: AddBase64[} 47], AddBool [} 48], AddDateTime [} 48], AddDcTime [} 48], AddDint [} 48], AddFileTime [} 49],AddHexBinary [} 49], AddLint [} 52], AddLreal [} 52], AddNull [} 52], AddRawArray [} 52],AddRawObject [} 53], AddReal [} 53], AddString [} 53], AddUdint [} 53], AddUlint [} 54]. 3.4.9 AddKeyBool This method creates a new property key and at the same time a value of the data type BOOL. 3.4.10 AddKeyDateTime This method creates a new property key and at the same time a value of the data type DATE_AND_TIME. 3.4.14 AddKeyNull This method creates a new property key and initializes its value with zero. 3.4.15 AddKeyNumber This method creates a new property key and at the same time a value of the data type DINT. 3.4.17 AddLint This method adds a value of the data type LINT to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.19 AddNull This method adds the value zero to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.20 AddRawArray This method adds a valid JSON array to a given property as a value. The array to be added must be in a valid JSON format and may only be added if the SAX writer is at a correspondingly valid position, i.e. for example, directly after a preceding AddKey() [} 49], StartArray() [} 55] or as the first call after a ResetDocument() [} 55]. 3.4.22 AddReal This method adds a value of the data type REAL to a property. Usually, a corresponding property was created beforehand with the method AddKey() [} 49]. 3.4.26 CopyDocument This method copies the content of the current JSON object created with the SAX Writer to a target variable of the data type STRING, which can be of any length. The method returns the length of the string (including null termination). If the target buffer is too small, it is emptied by a null termination and returned as length 0. 3.4.27 EndArray This method generates the end of a started JSON array ("square closing bracket") and inserts it at the current position of the SAX writer. 3.4.28 EndObject This method generates the end of a started JSON object ("curly closing bracket") and inserts it at the current position of the SAX writer. 3.4.29 GetDocument This method returns the content of the JSON object that is currently created with the SAX Writer and returns it as data type STRING(255). The maximum size of the string returned by the method is 255 characters. With longer strings, the method will return a NULL string. In this case the method CopyDocument [} 54]() must be used. 3.4.30 GetDocumentLength This method returns the length of the JSON object that is currently created with the SAX Writer and returns it as data type UDINT. 3.4.31 GetMaxDecimalPlaces 3.4.32 ResetDocument This method resets the JSON object currently created with the SAX writer. 3.4.33 SetMaxDecimalPlaces 3.4.34 StartArray This method generates the start of a new JSON array ("square opening bracket") and inserts it at the current position of the SAX writer. 3.4.35 StartObject This method generates the start of a new JSON object ("curly opening bracket") and inserts it at the current position of the SAX writer. 3.5 FB_JsonReadWriteDataType 3.5.1 AddJsonKeyPropertiesFromSymbol With the aid of this method, metadata can be added via PLC attributes to the JSON representation of a PLC data structure on an FB_JsonSaxWriter [} 47] object. The method receives as its input parameters the instance of the FB_JsonSaxWriter function block, the desired name of the JSON property that is to contain the metadata, the data type name of the structure and a string variable sProperties, which contains a list of the PLC attributes to be extracted, separated by a cross bar. 3.5.2 AddJsonKeyValueFromSymbol This method generates the JSON representation of a PLC data structure on an FB_JsonSaxWriter [} 47]object. The method receives as its input parameters the instance of the FB_JsonSaxWriter function block,the data type name of the structure, and the address and size of the source structure instance. As a result,the FB_JsonSaxWriter instance contains a valid JSON representation of the structure. Unlike the method AddJsonValueFromSymbol() [} 57], the elements of the source structure are nested here in a JSON subobject whose name can be specified via the input/output parameter sKey. 3.5.3 AddJsonValueFromSymbol This method generates the JSON representation of a PLC data structure on an FB_JsonSaxWriter [} 47] object. The method receives as its input parameters the instance of the FB_JsonSaxWriter function block,the data type name of the structure, and the address and size of the source structure instance. As a result, the FB_JsonSaxWriter instance contains a valid JSON representation of the structure. 3.5.4 CopyJsonStringFromSymbol This method generates the JSON representation of a symbol and copies it into a variable of the data type STRING, which can be of any length. The method returns the length of the string (including null termination). If the target buffer is too small, it is emptied by a null termination and returned as length 0. 3.5.5 CopyJsonStringFromSymbolProperties This method generates a corresponding JSON representation of PLC attributes on a symbol. In contrast to the AddJsonKeyPropertiesFromSymbol [} 56] method, the result is not written to an instance of the function block FB_JsonSaxWriter, but to a string variable. The method receives as its input parameters the data type name of the symbol and a string variable that represents a list of the PLC attributes to be extracted, separated by a cross bar. The method copies this JSON representation into a variable of the data type STRING, which can be of any length. The method returns the length of the string (including null termination). If the target buffer is too small, it is emptied by a null termination and returned as length 0. 3.5.6 GetDataTypeNameByAddress This method returns the data type name of a transferred symbol. 3.5.7 GetJsonFromSymbol This method generates the corresponding JSON representation of a symbol. In contrast to the AddJsonValueFromSymbol() [} 57] method, the result is not written to an instance of the function block FB_JsonSaxWriter, but to a string variable. The method receives as its input parameters the data type name of the symbol as well as the address and size of the source symbol, e.g. of a structure instance. The address and size of the destination buffer that contains the JSON representation of the symbol after the call are transferred as further input parameters. 3.5.8 GetJsonStringFromSymbol This method generates the corresponding JSON representation of a symbol. In contrast to the AddJsonValueFromSymbol() [} 57] method, the result is not written to an instance of the function block FB_JsonSaxWriter, but to a string variable. The method receives as its input parameters the data type name of the symbol as well as the address and size of the source symbol, e.g., of a structure instance. The maximum size of the string returned by the method is 255 characters. With longer strings, the method will return a NULL string. In this case the method CopyJsonStringFromSymbol [} 57]() must be used. 3.5.9 GetJsonStringFromSymbolProperties This method generates a corresponding JSON representation of PLC attributes on a symbol. In contrast to the AddJsonKeyPropertiesFromSymbol [} 56] method, the result is not written to an instance of the function block FB_JsonSaxWriter, but to a string variable. The method receives as its input parameters the data type name of the symbol and a string variable that represents a list of the PLC attributes to be extracted, separated by a cross bar. The result is returned directly as the return value of the method. The maximum size of the string returned by the method is 255 characters. With longer strings, the method will return a NULL string. In this case the method CopyJsonStringFromSymbolProperties [} 58]() must be used. 3.5.10 GetSizeJsonStringFromSymbol This method reads the size of the JSON representation of a symbol. The value is specified with null termination. 3.5.11 GetSizeJsonStringFromSymbolProperties This method reads the size of the JSON representation of PLC attributes on a symbol. The value is specified with null termination. 3.5.12 GetSymbolNameByAddress This method returns the complete (ADS) symbol name of a transferred symbol. 3.5.13 SetSymbolFromJson This method extracts a string containing a valid JSON message and attempts to save the contents of the JSON object to an equivalent data structure. The method receives as its input parameters the string with the JSON object, the data type name of the target structure, and the address and size of the target structure instance. 3.6 FB_XmlDomParser 3.6.1 AppendAttribute This method adds a new attribute to an existing node. The name and value of the new attribute and the existing XML node are transferred to the method as input parameters. The method returns a reference to the newly added attribute. 3.6.2 AppendAttributeAsBool This method adds a new attribute to an existing node. The value of the attribute has the data type Boolean. The name and value of the new attribute and the existing XML node are transferred to the method as input parameters. The method returns a reference to the newly added attribute. 3.6.9 AppendAttributeCopy This method adds a new attribute to an existing node. The name and value of the new attribute are copied from an existing attribute. The existing attribute is transferred to the method as input parameter. 3.6.10 AppendChild This method inserts a new node below an existing node. The value of the new node has the data type STRING. The name and value of the new node and a reference to the existing node are transferred to the method as input parameters. The method returns a reference to the newly added node. The input parameter cdata indicates whether the value of the node is to be encapsulated in a CDATA function block, so that certain special characters such as "<" and ">" are allowed as values. 3.6.11 AppendChildAsBool This method inserts a new node below an existing node. The value of the new node has the data type Boolean. The name and value of the new node and a reference to the existing node are transferred to the method as input parameters. The method returns a reference to the newly added node. 3.6.13 AppendChildAsFloat This method inserts a new node below an existing node. The value of the new node has the data type Float. The name and value of the new node and a reference to the existing node are transferred to the method as input parameters. The method returns a reference to the newly added node. 3.6.18 AppendCopy This method inserts a new node below an existing node. The name and value of the new node are copied from an existing node. The references to the existing nodes are transferred to the method as input parameters. The method returns a reference to the newly added node. 3.6.19 AppendNode This method adds a new node to an existing node. The existing node and the name of the new node are transferred to the method as input parameters. The method returns a reference to the newly added node. 3.6.20 Attributes This method can be used to read the attribute of a given XML node. The XML node and the name of the attribute are transferred to the method as input parameters. After the method has been called, further methods have to be called, for example to read the value of the attribute, e.g. AttributeAsInt(). 3.6.21 AttributeAsBool This method returns the value of an attribute as data type Boolean. The attribute is transferred to the method as input parameter. 3.6.28 AttributeBegin This method returns an iterator over all attributes of an XML node. The XML node is transferred to the method as input parameter. 3.6.29 AttributeFromIterator This method converts the current position of an iterator to an XML attribute object. The iterator is transferred to the method as input parameter. 3.6.30 AttributeName This method returns the name of a given attribute. The attribute is transferred to the method as input parameter. 3.6.31 Attributes This method is used to navigate through the DOM and returns an iterator for all attributes found at an XML node. The iterator can then be used for further navigation through the elements that were found. The node and a reference to the iterator are transferred to the method as input parameters. 3.6.32 AttributeText This method returns the text of a given attribute. The attribute is transferred to the method as input parameter. 3.6.33 Begin This method returns an iterator over all child elements of an XML node, always starting from the first child element. The XML node is transferred to the method as input parameter. 3.6.34 BeginByName This method returns an iterator over all child elements of an XML node, starting at a particular element. The XML node is transferred to the method as input parameter. 3.6.35 Child This method is used to navigate through the DOM. It returns a reference to the (first) child element of the current node. The start node is transferred to the method as input parameter. 3.6.36 ChildByAttribute This method is used to navigate through the DOM. It returns a reference to a child element in the XML document. The start node and the name and value of the attribute are transferred to the method as input parameters. 3.6.37 ChildByAttributeAndName This method is used to navigate through the DOM. It returns a reference to a child element in the XML document. The start node, the name and value of the attribute, and the name of the child element are transferred to the method as input parameters. 3.6.38 ChildByName This method is used to navigate through the DOM. It returns a reference to a child element in the XML document. The start node and the name of the element to be returned are transferred to the method as input parameters. 3.6.39 Children This method is used to navigate through the DOM. It returns an iterator for several child elements found in the XML document. The iterator can then be used for further navigation through the elements that were found. The start node and a reference to the iterator are transferred to the method as input parameters. 3.6.40 ChildrenByName This method is used to navigate through the DOM. It returns an iterator for several child elements found in the XML document. The iterator can then be used for further navigation through the elements that were found. The start node, the name of the child elements to be found and a reference to the iterator are transferred to the method as input parameters. 3.6.41 Compare This method checks two iterators for equality. 3.6.42 CopyAttributeText This method reads the value of an XML attribute and writes it to a variable of data type String. The XML attribute, the target variable and the length to be written are transferred to the method as input parameters. The method returns the actual size. 3.6.43 CopyDocument This method copies the contents of the DOM memory into a variable of the data type String. The length to be written and the variable into which the resulting string is to be written are transferred to the method as input parameters. The method returns the actually written length. Note that the size of the string variable is at least equal to the size of the XML document in the DOM. 3.6.44 CopyNodeText This method reads the value of an XML node and writes it to a variable of data type String. The XML node, the target variable and the length to be written are transferred to the method as input parameters. The method returns the actual size. 3.6.45 CopyNodeXml This method reads the XML structure of an XML node and writes it to a variable of data type String. The XML node, the target variable and the length to be written are transferred to the method as input parameters. The method returns the actual size. 3.6.46 FirstNodeByPath This method navigates through an XML document using a path that was transferred to the method. The path and the start node are transferred to the method as input parameters. The path is specified with "/" as separator. The method returns a reference to the XML node that was found. 3.6.47 GetAttributeTextLength This method returns the length of the value of an XML attribute. The XML attribute is transferred to the method as input parameter. 3.6.48 GetDocumentLength This method returns the length of an XML document in bytes. 3.6.49 GetDocumentNode This method returns the root node of an XML document. This is not the same as the first XML node in the document (the method GetRootNode() should be used for this). The method can also be used to create an empty XML document in the DOM. 3.6.50 GetNodeTextLength This method returns the length of the value of an XML node. The XML node is transferred to the method as input parameter. 3.6.52 GetRootNode This method returns a reference to the first XML node in the XML document. 3.6.53 InsertAttributeCopy This method adds an attribute to an XML node. The name and value of an existing attribute are copied. The attribute can be placed at a specific position. The XML node, the position and a reference to the existing attribute object are transferred to the method as input parameters. The method returns a reference to the newly added attribute. 3.6.54 InsertAttribute This method adds an attribute to an XML node. The attribute can be placed at a specific position. The XML node and the position and name of the new attribute are transferred to the method as input parameters. The method returns a reference to the newly added attribute. A value for the attribute can then be entered using the SetAttribute() method, for example. 3.6.55 InsertChild This method adds a node to an existing XML node. The new node can be placed at a specific location. The existing XML node and the position and name of the new node are transferred to the method as input parameters. The method returns a reference to the newly added node. A value for the node can then be entered using the SetChild() method, for example. 3.6.56 InsertCopy This method adds a new node to an existing XML node and copies an existing node. The new node can be placed anywhere in the existing node. The XML node, the position and a reference to the existing node object are transferred to the method as input parameters. The method returns a reference to the newly added node. 3.6.57 IsEnd This method checks whether a given XML iterator is at the end of the iteration that is to be performed. 3.6.58 LoadDocumentFromFile This method loads an XML document from a file. The absolute path to the file is transferred to the method as input parameter. A rising edge on the input parameter bExec triggers the loading procedure. Following the successful loading of a file, the return value of the method jumps to TRUE for one cycle and is then automatically reset by the driver. 3.6.59 NewDocument This method creates an empty XML document in the DOM memory. 3.6.60 Next This method sets an XML iterator for the next object that is to be processed. 3.6.61 NextAttribute This method returns the next attribute for a given XML attribute. 3.6.62 NextByName This method sets an XML iterator for the next object that is to be processed, which is identified by its name. 3.6.63 NextSibling This method returns the next direct node for a given XML node at the same XML level. 3.6.64 NextSiblingByName This method returns the next direct node for a given XML node with a particular name at the same XML level. 3.6.65 Node This method is used in conjunction with an iterator to navigate through the DOM. The iterator is transferred to the method as input parameter. The method then returns the current XML node as return value. 3.6.66 NodeAsBool This method returns the text of an XML node as data type Boolean. The XML node is transferred to the method as input parameter. 3.6.73 NodeName This method returns the name of an XML node. A reference to the XML node is transferred to the method as input parameter. 3.6.74 NodeText This method returns the text of an XML node. The XML node is transferred to the method as input parameter. 3.6.75 ParseDocument This method loads an XML document into the DOM memory for further processing. The XML document exists as a string and is transferred to the method as input parameter. A reference to the XML document in the DOM is returned to the caller. 3.6.76 RemoveChild This method removes an XML child node from a given XML node. The two XML nodes are transferred to the method as input parameters. The method returns TRUE if the operation was successful and the XML node was removed. 3.6.77 RemoveChildByName This method removes an XML child node from a given XML node. The node to be removed is addressed by its name. If there is more than one child node, the last child node is removed. The method returns TRUE if the operation was successful and the XML node was removed. 3.6.78 SaveDocumentToFile This method saves the current XML document in a file. The absolute path to the file is transferred to the method as input parameter. A rising edge at the input parameter bExec triggers the saving procedure. Following the successful saving of a file, the return value of the method jumps to TRUE for one cycle and is then automatically reset by the driver. 3.6.79 SetAttribute This method sets the value of an attribute. The value has the data type String. 3.6.80 SetAttributeAsBool This method sets the value of an attribute. The value has the data type Boolean. 3.6.82 SetAttributeAsFloat This method sets the value of an attribute. The value has the data type Float. 3.6.87 SetChild This method sets the value of an XML node. The value is transferred to the method as input parameter of data type String. The input parameter cdata indicates whether the value of the node is to be encapsulated in a CDATA function block, so that certain special characters such as "<" and ">" are allowed as values. 3.6.88 SetChildAsBool This method sets the value of an XML node. The value is transferred to the method as input parameter of data type Boolean. 3.7 FB_JwtEncode The function block enables the creation and signing of a JSON Web Token (JWT) 4 Interfaces 4.1 ITcJsonSaxHandler 4.1.1 OnBool This callback method is triggered if a value of the data type BOOL was found at the position of the SAX reader. The input parameter value contains the value found. The SAX parsing procedure is aborted by setting the return value HRESULT to S_FALSE. |
|