OFXAggregate Component
Properties Methods Events Config Settings Errors
The OFXAggregate component supports parsing of XML aggregates that can be retrieved from other components.
Syntax
TiboOFXAggregate
Remarks
The OFXAggregate component supports simple XML aggregate traversal functionality. Simply set the Aggregate property to the value received from any aggregate property of any component in the package (e.g. the TxAggregate property from BankStatement or CCStatement). You can then use XPath to walk the Document Object Model (DOM) tree.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
Aggregate | The full text of the current aggregate. |
Namespaces | Collection of namespaces in the current namespace stack. |
XChildren | Collection of child elements of the currently selected XML element. |
XElement | The name of the current element. |
XNamespace | The namespace of the current element. |
XParent | The parent of the current element. |
XPath | Provides a way to point to a specific element in the document. |
XPrefix | The prefix of the current element. |
XText | The text of the current element. |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
Config | Sets or retrieves a configuration setting. |
HasXPath | Checks whether a certain XPath exists inside the aggregate. |
Event List
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
Error | Information about errors during data delivery. |
Config Settings
The following is a list of config settings for the component with short descriptions. Click on the links for further details.
CacheContent | If true, the original XML is saved in a buffer. |
Charset | Specifies the charset used when encoding data. |
EOL | The characters to use for separating lines. |
ErrorOnEmptyAttr | If true, passing an invalid attribute to the Attr method will throw an exception. |
ExtraNameChars | Extra characters for the parser to consider as name characters. |
ExtraSpaceChars | Extra characters for the parser to consider as white space. |
FlushOnEOL | If set, the parser flushes its text buffer after every line of text. |
IgnoreBadAttributePrefixes | If true, bad (unknown) attribute prefixes are ignored. |
IgnoreBadElementPrefixes | If true, bad (unknown) element prefixes are ignored. |
IncludeElementPrefix | Whether to include the prefix in the element name. |
IncludeXMLDeclaration | Whether to include the XML declaration when writing XML. |
Indent | The characters to use for each indentation level. |
Offset | Current offset of the document being parsed. |
PreserveWhitespace | If true, leading and trailing whitespace in element text is preserved. |
QuoteChar | Quote character to use for attribute values. |
StringProcessingOptions | Defines options to use when processing string values. |
BuildInfo | Information about the product's build. |
CodePage | The system code page used for Unicode to Multibyte translations. |
LicenseInfo | Information about the current license. |
MaskSensitive | Whether sensitive data is masked in log messages. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |
Aggregate Property (OFXAggregate Component)
The full text of the current aggregate.
Syntax
property Aggregate: String read get_Aggregate write set_Aggregate;
Default Value
''
Remarks
Aggregate contains the full text of the XML aggregate currently being represented by the component's DOM. You may set this to a value obtained from any aggregate property of any other control (such as SignOnInfoAggregate from FIProfile). Once set, you can use XPath to walk the DOM tree. XElement and XText will retrieve the current element's name and contents, and XChildren can be used to get the number of children.
Namespaces Property (OFXAggregate Component)
Collection of namespaces in the current namespace stack.
Syntax
property Namespaces: TiboXMLNamespaceList read get_Namespaces write set_Namespaces;
Remarks
This property contains a collection of XML namespaces, which are standards for providing uniquely named elements and attributes in an XML instance.
This property is not available at design time.
XChildren Property (OFXAggregate Component)
Collection of child elements of the currently selected XML element.
Syntax
property XChildren: TiboXMLElementList read get_XChildren write set_XChildren;
Remarks
This property contains a collection of child elements of the currently selected XML element. The elements are provided in the collection in the same order they are found in the XML document.
This property is not available at design time.
XElement Property (OFXAggregate Component)
The name of the current element.
Syntax
property XElement: String read get_XElement write set_XElement;
Default Value
''
Remarks
The current element is specified via the XPath property.
XNamespace Property (OFXAggregate Component)
The namespace of the current element.
Syntax
property XNamespace: String read get_XNamespace write set_XNamespace;
Default Value
''
Remarks
The current element is specified via the XPath property.
XParent Property (OFXAggregate Component)
The parent of the current element.
Syntax
property XParent: String read get_XParent;
Default Value
''
Remarks
The current element is specified via the XPath property.
This property is read-only.
XPath Property (OFXAggregate Component)
Provides a way to point to a specific element in the document.
Syntax
property XPath: String read get_XPath write set_XPath;
Default Value
''
Remarks
XPath implements a subset of the XML XPath specification, allowing you to point to specific elements in the XML documents.
The path is a series of one or more element accessors separated by '/'. The path can be absolute (starting with '/') or relative to the current XPath location.
The following are possible values for an element accessor:
'name' | A particular element name |
name[i] | The i-th subelement of the current element with the given name |
[i] | The i-th subelement of the current element |
[last()] | The last subelement of the current element |
[last()-i] | The subelement located at the last location minus i in the current element |
name[@attrname="attrvalue"] | The subelement containing a particular value for a given attribute (supports single AND double quotes) |
.. | The parent of the current element |
BuildDOM must be set to True prior to parsing the document for the XPath functionality to be available.
Example (Setting XPath):
Document root | XML.XPath = "/" |
Specific Element | XML.XPath = "/root/SubElement1/SubElement2/" |
i-th Child | XML.XPath = "/root/SubElement1[i]" |
XPrefix Property (OFXAggregate Component)
The prefix of the current element.
Syntax
property XPrefix: String read get_XPrefix write set_XPrefix;
Default Value
''
Remarks
The current element is specified via the XPath property.
XText Property (OFXAggregate Component)
The text of the current element.
Syntax
property XText: String read get_XText write set_XText;
Default Value
''
Remarks
The current element is specified via the XPath property.
Config Method (OFXAggregate Component)
Sets or retrieves a configuration setting.
Syntax
function Config(ConfigurationString: String): String;
Remarks
Config is a generic method available in every component. It is used to set and retrieve configuration settings for the component.
These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.
To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).
To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.
HasXPath Method (OFXAggregate Component)
Checks whether a certain XPath exists inside the aggregate.
Syntax
function HasXPath(XPath: String): Boolean;
Remarks
Used when there is no assurance that a certain XPath exists inside an aggregate.
Error Event (OFXAggregate Component)
Information about errors during data delivery.
Syntax
type TErrorEvent = procedure ( Sender: TObject; ErrorCode: Integer; const Description: String ) of Object;
property OnError: TErrorEvent read FOnError write FOnError;
Remarks
The Error event is fired in case of exceptional conditions during message processing. Normally the component raises an exception.
ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.
XMLElement Type
An element contained within the XML document.
Remarks
This type describes an XML element. The fields for this type describe the element Name, Prefix, and Namespace of the given element.
The elements are inserted into the array in the same order they are found in the document.
Fields
Name String |
The Name property provides the local name (without prefix) of the element. |
Namespace String |
Namespace of the element. |
Prefix String |
Prefix of the element (if any). If the element does not have a prefix, this property is empty. |
XText String |
The inner text of the element. |
Constructors
constructor Create();
XMLNamespace Type
An XML namespace from the current namespace stack.
Remarks
This type describes an XML namespace from the current stack. It includes fields to denote the Prefix and the URI of the namespace being defined.
The default namespace exists at index 0. The Prefix field at index 0 is "xmlns", and the Name field contains the default namespace.
Fields
Prefix String |
|
URI String |
Namespace URI associated with the corresponding Prefix. This is usually a URL pointing to the XML schema for the namespace. |
Constructors
constructor Create();
Config Settings (OFXAggregate Component)
The component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.
XML Config Settings | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CacheContent: If true, the original XML is saved in a buffer.This config controls whether or not the component retains the entire original XML in a buffer. This is used to retain the original XML as opposed to returning generated XML after parsing. The default value is true. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Charset: Specifies the charset used when encoding data.This setting specifies the character set used when encoding data. This value will also be used when creating the XMLDeclaration. The default value is "utf-8". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EOL:
The characters to use for separating lines.If specified, the component will format the output XML, using the specified characters to
separate multiple lines for nested XML elements. The default value is CRLF ('#13#10')
.
This option should be combined with Indent for full effect. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ErrorOnEmptyAttr: If true, passing an invalid attribute to the Attr method will throw an exception.If an invalid attribute name is passed into the GetAttr method, the method will return with an empty string if this is set to false, otherwise an exception is thrown. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ExtraNameChars:
Extra characters for the parser to consider as name characters.Normally, the parser considers only the following characters as
part of an XML identifier: 'A' through 'Z', 'a' through 'z',
'0' through '9', and '.', '-', '_', ':'.
If you would like any other characters to be considered as name characters, you may set them as a string into this property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ExtraSpaceChars:
Extra characters for the parser to consider as white space.Normally, the parser considers only the following characters as
white space: ' ' (space), '\t' (tab), '\ n' (newline), '\r' (carriage
return), '\f' (form feed), and '\v' (vertical tab).
If you would like any other characters to be considered as white space, you may set them as a string into this property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FlushOnEOL: If set, the parser flushes its text buffer after every line of text.The FlushOnEOL property controls whether Characters events are fired for every line of the input text stream or not. Normally lines are buffered internally and delivered in batches, but if the FlushOnEOL flag is set, then a Characters event is fired for each line. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IgnoreBadAttributePrefixes: If true, bad (unknown) attribute prefixes are ignored.Normally a trappable error is generated when an unknown attribute prefix is encountered. This setting suppresses the error. The default value is True. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IgnoreBadElementPrefixes: If true, bad (unknown) element prefixes are ignored.Normally a trappable error is generated when an unknown element prefix is encountered. This setting suppresses the error. The default value is True. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IncludeElementPrefix:
Whether to include the prefix in the element name.This setting specifies whether to include the element prefix in the Element parameter of the StartElement and EndElement
events.
If False (default) and Validate is set to False the prefix is included in the Element parameter. For instance: ds:DigestMethod If True and Validate is set to False the prefix is not included in the Element parameter. For instance: DigestMethod This setting is only applicable when Validate is False. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IncludeXMLDeclaration:
Whether to include the XML declaration when writing XML.This setting specifies whether the XML declaration is included in the output XML when
writing XML. When set to True (default) the XML declaration will be included above
any user specified XML. For instance:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> ... |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Indent:
The characters to use for each indentation level.If specified, the component will format the output XML, using the specified characters to
denote each indentation level for nested XML elements.
This option should be combined with EOL for full effect. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Offset:
Current offset of the document being parsed.This property is useful for determining the location of
possible XML errors in the document.
Offset values start at 1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PreserveWhitespace: If true, leading and trailing whitespace in element text is preserved.Normally the leading and trailing whitespace from an element's text is trimmed. When this property is set to true, this leading and trailing whitespace is preserved. The default value is false. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QuoteChar: Quote character to use for attribute values.By default, the component will use double quotes around attribute values. This property can be used to specify a different character such as a single quote. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StringProcessingOptions:
Defines options to use when processing string values.This setting determines what additional processing is performed on string values fired through the Characters event..
Note: This only applies when BuildDOM is False. By default no additional processing is performed and the string is returned as is from the document. Strings may also be XML unescaped. Possible values are:
For instance, when set to 0 the following text may be fired through the Characters event: &"<> When set to 1 the following text would be fired through the Characters event: &'<> |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Base Config Settings | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BuildInfo: Information about the product's build.When queried, this setting will return a string containing information about the product's build. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CodePage:
The system code page used for Unicode to Multibyte translations.The default code page is Unicode UTF-8 (65001).
The following is a list of valid code page identifiers:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LicenseInfo:
Information about the current license.When queried, this setting will return a string containing information about the license this instance of a component is using. It will return the following information:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MaskSensitive:
Whether sensitive data is masked in log messages.In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to True to mask sensitive data. The default is True.
This setting only works on these components: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UseInternalSecurityAPI:
Tells the component whether or not to use the system security libraries or an internal implementation.
When set to False, the component will use the system security libraries by default to perform cryptographic functions where applicable.
Setting this setting to True tells the component to use the internal implementation instead of using the system security libraries. This setting is set to False by default on all platforms. |
Trappable Errors (OFXAggregate Component)
XML Errors
101 Invalid attribute index. | |
102 No attributes available. | |
103 Invalid namespace index. | |
104 No namespaces available. | |
105 Invalid element index. | |
106 No elements available. | |
107 Attribute does not exist. | |
201 Unbalanced element tag. | |
202 Unknown element prefix (can't find namespace). | |
203 Unknown attribute prefix (can't find namespace). | |
204 Invalid XML markup. | |
205 Invalid end state for parser. | |
206 Document contains unbalanced elements. | |
207 Invalid XPath. | |
208 No such child. | |
209 Top element does not match start of path. | |
210 DOM tree unavailable (set BuildDOM to true and reparse). | |
302 Can't open file. | |
401 Invalid XML would be generated. | |
402 An invalid XML name has been specified. |