Revision [860]
This is an old revision of CommandImport made by DavidLee on 2009-11-22 07:15:09.
Command import
Name
import imports a module or package into the default namespace or a named namespace.Synopsis
import module [prefix=]moduleimport package [prefix=]package [ [prefix=]package ...]
import commands [prefix=]command-subpackage [ [prefix=]command-subpackage ...]
Description Modules
The import command imports a module into the default namespace or a named namespace.See the Modules section for a description of Extension Modules.
If prefix is omited then the module is imported into the default namespace.
If prefix is specified then the module is imported into the named prefix and commands are accessed by using the prefix.
"module" is either the name of an extension module or the path to the module.xml file.
For named modules, the XMODPATH variable is searched. For each directory in XMODPATH, a child directory is searched with the name of the module, and if found the file "module.xml" is searched for in that directory. If found then that module.xml file is used for the module configuration.
If a URL is specified for "module" it is assumed to be the module configuration file (typically named "module.xml" but could be any name.
When located, the fully expanded URL for the module configuration file is used as the base URI for any dependant files (e.g jar files in the class path). Both the module.xml and its Dependant jars can be local files or on the network.
Commands are found by looking in that package for classes that extend the XCommand abstract class.
Commands may also be xmlsh scripts as resources within the specified package (and end with the .xsh extension).
Example
Load module calabash from /usr/local/xmlsh/calabash
$ XMODPATH=/usr/local/xmlsh/ext $ import module xp=calabsh $ xp:xproc xprocfile.xpl ...
Load module marklogic from /usr/local/markogic/module.xml
$ import module ml=/usr/local/marklogic/module.xml $ ml:list
Load module marklogic from a remote host at http://test.xmlsh.org/modules/marklogic/module.xml
where all jar files are located remotely
$ import module ml=http://test.xmlsh.org/modules/marklogic/module.xml
Description Packages
Commands that are already in the CLASSPATH (such as those builtin to xmlsh) may be imported by specifying just the package name using the "import package" command. A namespace prefix may be provided and optionally a symbolic name may be specifiedExample, to import the posix commands using the full package name and specifying the posix prefix
import package posix=org.xmlsh.commands.posix
Description Commands
To simplify importing sets of commands in the org.xmlsh.commands package, the "import commands" command may be used.This is equivalent to using "import package" giving "org.xmlsh.commands." as the prefix to the command.
Example, to import the posix commands using the full package name and specifying the posix prefix
import commands posix=posix
Example to import the experimental commands into the global namespace
import commands experimental
You can group commands together to include multiple command sets
import commands posix experimental
Commands
Modules