3. The convertdoc command line tool
Prev | Chapter 5. Process commands | Next

## 3. The convertdoc command line tool

The convertdoc tool allows to execute XXE process commands from the command line, exactly as if these process commands were executed from XXE.

Just like XXE, the convertdoc command line tool scans directories for configurations and XML catalogs, loads image toolkit plug-ins, loads XSL-FO processor plug-ins, supports XInclude, etc.

Usage:

    convertdoc -l

or:

    convertdoc [-t XSLT_stylesheet_file_or_URL]?
         [-r|-ru resource_name resource_value]*
         [-p|-pu XSLT_stylesheet_param_name XSLT_stylesheet_param_value]*
         -v? -d? [-auth credentials]*
         process_command_name doc_file_or_URL
         [-s|-u process_command_arg]*

Converts XML document `doc_file_or_URL` using process command called `process_command_name`, found in any of the XXE configuration files scanned during the startup of convertdoc (see XMLmind XML Editor - Configuration and Deployment).

Options:

`-l`

  Print XXE configuration (XXE configuration files but also XML catalogs, plug-ins, spell-checker dictionaries, `CLASSPATH`) and exit.

`-t `XSLT_stylesheet_file_or_URL``

  Use this alternate XSLT style sheet instead of the one specified in the first `transform` child element of the process command.

  If specified process command has no `transform` child element but has `subProcess` child elements, these sub-processes are searched recursively for a `transform` child element.

`-r|-ru `resource_name` `resource_value``

  Copy specified resource rather than the one specified in the `<copyProcessResources name="resource_name">` child element of the process command.

  `-ru` is useful when the resource value is a relative filename that needs to be converted to an absolute "`file:`" URL.

`-p|-pu `XSLT_stylesheet_param_name` `XSLT_stylesheet_param_value``

  Add/replace corresponding XSLT style sheet parameter in the first `transform` child element of the process command.

  `-pu` is useful when the parameter value is a relative filename that needs to be converted to an absolute "`file:`" URL.

  If specified process command has no `transform` child element but has `subProcess` child elements, these sub-processes are searched recursively for a `transform` child element.

`-s`|`-u `process_command_arg` ... `-s`|`-u `process_command_arg```

  Pass these arguments to the process command as the values of process variables `%0`, `%1`, ..., `%9`.

  If `-s` (String) is specified, the argument is passed as is.

  If `-u` (URL) is specified, the argument, a file or directory name, is first converted to an URL.

`-v`

  Turn verbosity on.

`-d`

  Sets the `debug` attribute of the process command to value `true` (no matter what has been specified in the `process` element).

  This prevents the process command from deleting its work directory (`/tmp/xxe`NNNN`/`) at the end of the processing.

`-auth `credentials``

  This option can be used to specify authentication credentials for a given server. This allows to connect to the specified server without interactively asking the user to enter a username and a password.

  String `credentials` consists in 6 fields: `host`, `port`, `prompt`, `scheme`, `username`, `password`, in that order, separated by a newline character (`'\n'`). Fields `host`, `port`, `prompt`, `scheme` can be left empty, which means: match any. The UTF-8 bytes of the string are then encoded in base-64.

  Command-line utility "`java -cp xxe.jar com.xmlmind.netutil.SimpleAuthenticatorModule`" allows to generate such encoded string. Example: encode string "`\n\nDocument Store\n\nvictoria\nsecret`":

      /opt/xxe/bin$ java -cp xxe.jar com.xmlmind.netutil.SimpleAuthenticatorModule \
      victoria secret - "Document Store"
      CgpEb2N1bWVudCBTdG9yZQoKanZpY3RvcmlhCnNlY3JldA==

      /opt/xxe/bin$ convertdoc -auth CgpEb2N1bWVudCBTdG9yZQoKanZpY3RvcmlhCnNlY3JldA== \
      docb.toHTML http://www.acme.com/docstore/push_up.xml -u docs/

Prev | Up | Next
2.3. Convert ImageDemo document to HTML | Home | 3.1. Example 1: convert a DocBook document to multi-page HTML