# tFileInputXML Standard properties

These properties are used to configure tFileInputXML running in the Standard Job framework.

The Standard tFileInputXML component belongs to the File and the XML families.

The component in this framework is available in all Talend products.

## Basic settings

| Properties | Description |
| --- | --- |
| Property type | <ul> <li> <p>Either <span>Built-In</span> or <span>Repository</span>. </p> </li> <li> <p> <span>Built-In</span>: No property data stored centrally.</p> </li> <li> <p> <span>Repository</span>: Select the repository file where the            properties are stored.</p> </li> </ul> |
| Schema and Edit<br>Schema | <ul> <li> <p>A schema is a row description. It defines the number of fields            (columns) to be processed and passed on to the next component. When you create a Spark            Job, avoid the reserved word <kbd>line</kbd> when naming the            fields.</p> <p>Click <span>Edit        schema</span> to make changes to the schema. If the current schema is of the <span>Repository</span> type, three options are available:</p> <ul> <li> <p> <span>View schema</span>: choose this                option to view the schema only.</p> </li> <li> <p> <span>Change to built-in property</span>:                choose this option to change the schema to <span>Built-in</span> for local changes.</p> </li> <li> <p> <span>Update repository connection</span>:                choose this option to change the schema stored in the repository and decide whether                to propagate the changes to all the Jobs upon completion.</p> <p>If you just want to                propagate the changes to the current Job, you can select <span>No</span> upon completion and choose this schema metadata                again in the <span>Repository Content</span>                window.</p> </li> </ul> </li> <li> <p> <span>Built-In</span>: You create and store the schema locally for this component                only.</p> </li> <li> <p> <span>Repository</span>: You have already created the schema and stored it in the                Repository. You can reuse it in various projects and Job designs.</p> </li> </ul> |
| File name/Stream | File name: Name and path of the<br>file to be processed.<br><br>Information noteWarning: Use absolute path (instead of relative path) for<br>this field to avoid possible errors.<br><br><br>Stream: The data flow to be<br>processed. The data must be added to the flow in order for tFileInputXML to fetch these data via the<br>corresponding representative variable.<br><br>This variable could be already pre-defined in Talend Studio or provided by the context or the components you are using along with this<br>component, for example, the *INPUT\_STREAM* variable of<br>tFileFetch; otherwise, you could<br>define it manually and use it according to the design of your Job, for example,<br>using tJava or tJavaFlex.<br><br>In order to avoid the inconvenience of hand writing, you could<br>select the variable of interest from the auto-completion list<br>(Ctrl+Space) to fill the<br>current field on condition that this variable has been properly<br>defined.<br><br>Related scenario to<br>the input stream, see [Reading data from a remote file in streaming mode](https://help.qlik.com/talend/en-US/components/8.0/delimited/tfileinputdelimited-tfilefetch-tsleep-tlogrow-reading-data-from-remote-file-in-streaming-mode-standard-component-this). |
| Loop XPath query | Node of the tree, which the loop is based on. |
| Mapping | Column: Columns to map. They<br>reflect the schema as defined in the Schema type field.<br><br><br>XPath Query: Enter the fields to<br>be extracted from the structured input.<br><br><br>Get nodes: Select this check box<br>to recuperate the XML content of all current nodes specified in the<br>Xpath query list, or select the<br>check box next to specific XML nodes to recuperate only the content<br>of the selected nodes. These nodes are important when the output<br>flow from this component needs to use the XML structure, for<br>example, the Document data<br>type.<br><br>For further information about the Document type, see [Setting up Document type](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/setting-up-document-type).<br><br>Information noteNote:<br><br>The Get Nodes option<br>functions in the DOM4j and<br>SAX modes, although in<br>SAX mode namespaces are not<br>supported. For further information concerning the DOM4j and SAX modes, please see the properties noted in<br>the Generation mode list of the<br>Advanced Settings<br>tab. |
| Limit | Maximum number of rows to be processed. If Limit = 0, no row is<br>read nor processed. If -1, all rows are read or processed. |
| Die on error | Select the checkbox to stop the execution of the Job when an error<br>occurs.<br><br>Clear the checkbox to skip any rows on error and complete the process for<br>error-free rows. When errors are skipped, you can collect the rows on error using a Row &gt; Reject link. |

## Advanced settings

| Properties | Description |
| --- | --- |
| Ignore DTD file | Select this check box to ignore the DTD file indicated in the XML<br>file being processed. |
| Advanced separator (for number) | Select this check box to change the separator used for numbers. By default, the thousands separator is a comma (*,*) and the decimal separator is a period (*.*).<br><br><br>Thousands separator: define the<br>separators to use for thousands.<br><br><br>Decimal separator: define the<br>separators to use for decimals. |
| Ignore the namespaces | Select this check box to ignore name spaces.<br><br><br>Generate a temporary file: click<br>the [...] button to browse to the XML temporary file and set its<br>path in the field. |
| Use Separator for mode Xerces | Select this check box if you want to separate concatenated<br>children node values.<br><br>Information noteNote:<br><br>This field can only be used if the selected Generation mode is Xerces.<br><br>The following field displays:<br><br><br>Field separator: Define the<br>delimiter to be used to separate the children node values. |
| Encoding | Select the encoding from the list or select Custom<br>and define it manually. This field is compulsory for database data handling. The<br>supported encodings depend on the JVM that you are using. For more information, see<br>[https://docs.oracle.com](https://docs.oracle.com/). |
| Generation mode | From the drop-down list select the generation mode for the XML<br>file, according to the memory available and the desired speed:<br><br><ul> <li> <p> <span>Slow and memory-consuming											(Dom4j)</span> </p> <div><span>Information note</span><span>Note:</span> <p>This option allows you to use dom4j to process the XML											files of high complexity.</p> </div> </li> <li> <p> <span>Memory-consuming										(Xerces)</span>. </p> </li> <li> <p> <span>Fast with low memory consumption											(SAX)</span> </p> </li> </ul> |
| Validate date | Select this check box to check the date format strictly against<br>the input schema. |
| tStatCatcher Statistics | Select this check box to gather the Job processing metadata at a<br>Job level as well as at each component level. |

## Global Variables

| Variables | Description |
| --- | --- |
| Global Variables | ERROR\_MESSAGE: the error message generated by the<br>component when an error occurs. This is an After variable and it returns a string. This<br>variable functions only if the Die on error checkbox is<br>cleared, if the component has this checkbox.<br><br><br>NB\_LINE:<br>the number of rows processed. This is an After variable and it returns an integer.<br><br>A Flow variable functions during the execution of a component<br>while an After variable functions after the execution of the component.<br><br>To fill up a field or expression with a variable, press Ctrl+Space to access the variable list and choose the variable to use from<br>it.<br><br>For more information about variables, see [Using contexts and variables](https://help.qlik.com/talend/r/en-US/8.0/studio-user-guide/contexts-and-variables). |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | tFileInputXML is for use as an<br>entry componant. It allows you to create a flow of XML data using a<br>Row &gt; Main link. You can<br>also create a rejection flow using a Row &gt;<br>Reject link to filter the data which doesn't<br>correspond to the type defined. For an example of how to use these<br>two links, see [Procedure](https://help.qlik.com/talend/en-US/components/8.0/processing/textractxmlfield-tlogrow-tfileinputdelimited-tfileoutputdelimited-procedure-standard-component-drop). |