The valxml-withxsd | xsi command validates one or more XML instance documents according to the W3C XML Schema Definition Language (XSD) 1.0 and 1.1 specifications.
raptorxml valxml-withxsd | xsi [options] InputFile |
•The InputFile argument is the XML document to validate. The --schemalocation-hints option specifies what mechanism is used to find the schema. The --xsd=FILE option specifies the schema/s to use if the XML file contains no schema reference.
•To validate multiple documents, either: (i) list the files to be validated on the CLI, with each file separated from the next by a space; or (ii) list the files to be validated in a text file (.txt file), with one filename per line, and supply this text file as the InputFile argument together with the --listfile option set to true (see the Options list below).
Note: | If using the --script option to run Python scripts, make sure to also specify --streaming=false. |
Examples
Examples of the valxml-withxsd command:
•raptorxml valxml-withxsd --schemalocation-hints=load-by-schemalocation --xsd=c:\MyXSD.xsd c:\HasNoXSDRef.xml
•raptorxml xsi c:\HasXSDRef.xml
•raptorxml xsi --xsd-version=1.1 --listfile=true c:\FileList.txt
RaptorXML (and RaptorXMLServer for administration commands) on Windows raptorxml (and raptorxmlserver for administration commands) on Windows and Unix (Linux, Mac) * Note that lowercase (raptorxml and raptorxmlserver) works on all platforms (Windows, Linux, and Mac), while upper-lower (RaptorXML) works only on Windows and Mac. * Use forward slashes on Linux and Mac, backslashes on Windows. |
On Windows systems: When spaces or special characters occur in strings (for example in file or folder names, or company, person or product names), use quotes: for example, "My File". Note, however, that a backslash followed by a double-quotation mark (for example, "C:\My directory\") might not be read correctly. This is because the backslash character is also used to indicate the start of an escape sequence, and the escape sequence \" stands for the double-quotation mark character. If you want to escape this sequence of characters, use a preceding backslash, like this: \\". To summarize: If you need to write a file path that contains spaces or an end backslash, write it like this: "C:\My Directory\\". |
Options
Options are listed in short form (if available) and long form. You can use one or two dashes for both short and long forms. An option may or may not take a value. If it takes a value, it is written like this: --option=value. Values can be specified without quotes except in two cases: (i) when the value string contains spaces, or (ii) when explicitly stated in the description of the option that quotes are required. If an option takes a Boolean value and no value is specified, then the option's default value is TRUE. Use the --h, --help option to display information about the command.
--assessment-mode = lax|strict Specifies the schema-validity assessment mode as defined in the XSD specifications. Default value is strict. The XML instance document will be validated according to the mode specified with this option. |
--ct-restrict-mode = 1.0|1.1|default Specifies how to check complex type restrictions. A value of 1.0 checks complex type restrictions as defined in the XSD 1.0 specification—even in XSD 1.1 validation mode. A value of 1.1 checks complex type restrictions as defined in the XSD 1.1 specification—even in XSD 1.0 validation mode. A value of default checks complex type restrictions as defined in the XSD specification of the current validation mode (1.0 or 1.1). The default value is default. |
--listfile = true|false If true, treats the command's InputFile argument as a text file containing one filename per line. Default value is false. (An alternative is to list the files on the CLI with a space as separator. Note, however, that CLIs have a maximum-character limitation.) Note that the --listfile option applies only to arguments, and not to options. Note: Boolean option values are set to true if the option is specified without a value. |
--pa | --parallel-assessment = true|false If set to true, schema validity assessment is carried out in parallel. This means that if there are more than 128 elements at any level, these elements are processed in parallel using multiple threads. Very large XML files can therefore be processed faster if this option is enabled. Parallel assessment takes place on one hierarchical level at a time, but can occur at multiple levels within a single infoset. Note that parallel assessment does not work in streaming mode. For this reason, the --streaming option is ignored if --parallel-assessment is set to true. Also, memory usage is higher when the --parallel-assessment option is used. The default setting is false. Short form for the option is --pa. Note: Boolean option values are set to true if the option is specified without a value. |
--recurse = true|false Used to select files within sub-directories, including in ZIP archives. If true, the command's InputFile argument will select the specified file also in subdirectories. For example: "test.zip|zip\test.xml" will select files named test.xml at all folder levels of the zip folder. References to ZIP files must be given in quotes. The wildcard characters * and ? may be used. So, *.xml will select all .xml files in the (zip) folder. The option's default value is false. Note: Boolean option values are set to true if the option is specified without a value. |
--report-import-namespace-mismatch-as-warning = true|false Downgrades namespace or target-namespace mismatch errors when importing schemas with xs:import from errors to warnings. The default value is false. Note: Boolean option values are set to true if the option is specified without a value. |
--schema-imports = load-by-schemalocation | load-preferring-schemalocation | load-by-namespace | load-combining-both | license-namespace-only Specifies the behaviour of xs:import elements, each of which has an optional namespace attribute and an optional schemaLocation attribute: <import namespace="someNS" schemaLocation="someURL">. The option specifies whether to load a schema document or just license a namespace, and, if a schema document is to be loaded, which information should be used to find it. Default: load-preferring-schemalocation. The behavior is as follows: •load-by-schemalocation: The value of the schemaLocation attribute is used to locate the schema, taking account of catalog mappings. If the namespace attribute is present, the namespace is imported (licensed). •load-preferring-schemalocation: If the schemaLocation attribute is present, it is used, taking account of catalog mappings. If no schemaLocation attribute is present, then the value of the namespace attribute is used via a catalog mapping. This is the default value. •load-by-namespace: The value of the namespace attribute is used to locate the schema via a catalog mapping. •load-combining-both: If either the namespace or schemaLocation attribute has a catalog mapping, then the mapping is used. If both have catalog mappings, then the value of the --schema-mapping option (XML/XSD option) decides which mapping is used. If no catalog mapping is present, the schemaLocation attribute is used. •license-namespace-only: The namespace is imported. No schema document is imported. |
--schemalocation-hints = load-by-schemalocation | load-by-namespace | load-combining-both | ignore Specifies the behavior of the xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes: Whether to load a schema document, and, if yes, which information should be used to find it. Default: load-by-schemalocation. •The load-by-schemalocation value uses the URL of the schema location in the xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes in XML instance documents. This is the default value. •The load-by-namespace value takes the namespace part of xsi:schemaLocation and an empty string in the case of xsi:noNamespaceSchemaLocation and locates the schema via a catalog mapping. •If load-combining-both is used and if either the namespace part or the URL part has a catalog mapping, then the catalog mapping is used. If both have catalog mappings, then the value of the --schema-mapping option (XML/XSD option) decides which mapping is used. If neither the namespace nor URL has a catalog mapping, the URL is used. •If the option's value is ignore, then the xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes are both ignored. |
--schema-mapping = prefer-schemalocation | prefer-namespace If schema location and namespace are both used to find a schema document, specifies which of them should be preferred during catalog lookup. (If either the --schemalocation-hints or the --schema-imports option has a value of load-combining-both, and if the namespace and URL parts involved both have catalog mappings, then the value of this option specifies which of the two mappings to use (namespace mapping or URL mapping; the prefer-schemalocation value refers to the URL mapping).) Default is prefer-schemalocation. |
--script = FILE Executes the Python script in the submitted file after validation has been completed. Add the option multiple times to specify more than one script. |
--api, --script-api-version = 1; 2; 2.1 to 2.4; 2.4.1; 2.5 to 2.8; 2.8.1 to 2.8.6; 2.9.0; 2.10.0 Specifies the Python API version to be used for the script. The default value is the latest version, currently 2.10.0. Instead of integer values such as 1 and 2, you can also use the corresponding values 1.0 and 2.0. Similarly, you can use the three-digit 2.5.0 for the two-digit 2.5. Also see the topic Python API Versions. |
--script-output = FILE Writes the script's standard output to the file named in FILE. |
--script-param = KEY:VALUE Additional user-specified parameters that can be accessed during the execution of Python scripts. Add the option multiple times to specify more than one script parameter. |
--streaming = true|false Enables streaming validation. Default is true. In streaming mode, data stored in memory is minimized and processing is faster. The downside is that information that might be required subsequently—for example, a data model of the XML instance document—will not be available. In situations where this is significant, streaming mode will need to be turned off (by giving --streaming a value of false). When using the --script option with the valxml-withxsd command, disable streaming. Note that the --streaming option is ignored if --parallel-assessment is set to true. Note: Boolean option values are set to true if the option is specified without a value. |
--xinclude = true|false Enables XML Inclusions (XInclude) support. Default value is false. When false, XInclude's include elements are ignored. Note: Boolean option values are set to true if the option is specified without a value. |
--xml-mode = wf|id|valid Specifies the XML processing mode to use for the XML instance document: wf=wellformed check; id=wellformed with ID/IDREF checks; valid=validation. Default value is wf. Note that a value of valid requires that each instance document loaded during processing references a DTD. If no DTD exists, an error is reported. |
--xml-mode-for-schemas = wf|id|valid Specifies the XML processing mode to use for XML schema documents: wf=wellformed check; id=wellformed with ID/IDREF checks; valid=validation. Default value is wf. Note that a value of valid requires that each schema document loaded during processing references a DTD. If no DTD exists, an error is reported. |
--xsd = FILE Specifies one or more XML Schema documents to use for the validation of XML instance documents. Add the option multiple times to specify more than one schema document. |
--xsd-version = 1.0|1.1|detect Specifies the W3C Schema Definition Language (XSD) version to use. Default is 1.0. This option can also be useful to find out in what ways a schema which is 1.0-compatible is not 1.1-compatible. The detect option is an Altova-specific feature. It enables the version of the XML Schema document (1.0 or 1.1) to be detected by reading the value of the vc:minVersion attribute of the document's <xs:schema> element. If the value of the @vc:minVersion attribute is 1.1, the schema is detected as being version 1.1. For any other value, or if the @vc:minVersion attribute is absent, the schema is detected as being version 1.0. |
|
--catalog = FILE Specifies the absolute path to a root catalog file that is not the installed root catalog file. The default value is the absolute path to the installed root catalog file (<installation-folder>\Altova\RaptorXMLServer2025\etc\RootCatalog.xml). See the section, XML Catalogs, for information about working with catalogs. |
--user-catalog = FILE Specifies the absolute path to an XML catalog to be used in addition to the root catalog. See the section, XML Catalogs, for information about working with catalogs. |
--enable-globalresources = true|false Enables global resources. Default value is false. Note: Boolean option values are set to true if the option is specified without a value. |
|
--error-format = text|shortxml|longxml Specifies the format of the error output. Default value is text. The other options generate XML formats, with longxml generating more detail. |
--error-limit = N | unlimited Specifies the error limit with a value range of 1 to 9999 or unlimited. The default value is 100. Processing stops when the error limit is reached. Useful for limiting processor use during validation/transformation. |
--info-limit = N | unlimited Specifies the information message limit in the range 1-65535 or unlimited. Processing continues if the specified info limit is reached, but further messages are not reported. The default value is 100. |
--help Displays help text for the command. For example, valany --h. (Alternatively the help command can be used with an argument. For example: help valany.) |
--listfile = true|false If true, treats the command's InputFile argument as a text file containing one filename per line. Default value is false. (An alternative is to list the files on the CLI with a space as separator. Note, however, that CLIs have a maximum-character limitation.) Note that the --listfile option applies only to arguments, and not to options. Note: Boolean option values are set to true if the option is specified without a value. |
--log-output = FILE Writes the log output to the specified file URL. Ensure that the CLI has write permission to the output location. |
--network-timeout = VALUE Specifies the timeout in milliseconds for remote I/O operations. Default is: 40000. |
--recurse = true|false Used to select files within sub-directories, including in ZIP archives. If true, the command's InputFile argument will select the specified file also in subdirectories. For example: "test.zip|zip\test.xml" will select files named test.xml at all folder levels of the zip folder. References to ZIP files must be given in quotes. The wildcard characters * and ? may be used. So, *.xml will select all .xml files in the (zip) folder. The option's default value is false. Note: Boolean option values are set to true if the option is specified without a value. |
--verbose = true|false A value of true enables output of additional information during validation. Default value is false. Note: Boolean option values are set to true if the option is specified without a value. |
--verbose-output = FILE Writes verbose output to FILE. |
--version Displays the version of RaptorXML Server. If used with a command, place --version before the command. |
--warning-limit = N | unlimited Specifies the warning limit in the range 1-65535 or unlimited. Processing continues if this limit is reached, but further warnings are not reported. The default value is 100. |
|