atom feed2 messages in org.w3.xproc-devOSUtils
FromSent OnAttachments
Norman WalshJun 4, 2009 4:12 am 
Michael SokolovJun 4, 2009 3:29 pm 
Subject:OSUtils
From:Norman Walsh (nd@nwalsh.com)
Date:Jun 4, 2009 4:12:15 am
List:org.w3.xproc-dev

Along the same lines as fileutils, here's a proposal for some osutils:

<p:library xmlns:p="http://www.w3.org/ns/xproc" xmlns:cx="http://xmlcalabash.com/ns/extensions" xmlns:cxo="http://xmlcalabash.com/ns/extensions/osutils" xmlns:ml="http://xmlcalabash.com/ns/extensions/marklogic" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<p:documentation xmlns="http://www.w3.org/1999/xhtml"> <div> <h1>OS utils Library</h1> <h2>Version 1.0</h2> <p>The steps defined in this library provide information about the underlying operating system and its environment. </p> </div> </p:documentation>

<!-- ============================================================ -->

<p:documentation xmlns="http://www.w3.org/1999/xhtml"> <p>The <code>cxo:info</code> step returns information about the OS on which the processor is running. It returns a <code>c:result</code> element with attributes describing properties of the system. It <strong>should</strong> include the following properties:</p> <dl> <dt>file-separator</dt> <dd>The file separator; usually “/” on Unix, “\” on Windows.</dd> <dt>path-separator</dt> <dd>The path separator; usually “:” on Unix, “;” on Windows.</dd> <dt>os-architecture</dt> <dd>The operating system architecture, for example “i386”.</dd> <dt>os-name</dt> <dd>The name of the operating system, for example “Mac OS X”.</dd> <dt>os-version</dt> <dd>The version of the operating system, for example “10.5.6”.</dd> <dt>cwd</dt> <dd>The current working directory.</dd> <dt>user-name</dt> <dd>The login name of the effective user, for example “ndw”.</dd> <dt>user-home</dt> <dd>The home diretory of the effective user, for example “/home/ndw”.</dd> </dl> <p>The exact set of properties returned is implementation-dependent.</p> </p:documentation>

<p:declare-step type="cxo:info"> <p:output port="result"/> </p:declare-step>

<!-- ============================================================ -->

<p:documentation xmlns="http://www.w3.org/1999/xhtml"> <p>The <code>cxo:cwd</code> step returns a single <code>c:result</code> containing the current working directory. On systems which have no concept of a working directory, this step returns the empty sequence. </p> <p>(This step is exactly duplicates the <code>cwd</code> attribute on the <code>c:result</code> from <code>cxo:info</code>; it's just for convenience.)</p> </p:documentation>

<p:declare-step type="cxo:cwd"> <p:output port="result" sequence="true"/> </p:declare-step>

<!-- ============================================================ -->

<p:documentation xmlns="http://www.w3.org/1999/xhtml"> <p>The <code>cxo:env</code> step returns information about the environment. It returns a <code>c:result</code> containing zero or more <code>c:env</code> elements. Each <code>c:env</code> has <code>name</code> and <code>value</code> attributes containing the name and value of an environment variable.</p> <p>On systems which nave no concept of an environment, this step returns an empty <code>c:result</code>.</p> </p:documentation>

<p:declare-step type="cxo:env"> <p:output port="result"/> </p:declare-step>

</p:library>

On XML Calabash, cxo:info returns somethign like this:

<c:result xmlns:c="http://www.w3.org/ns/xproc-step" file-separator="/" path-separator=":" os-architecture="i386" os-name="Mac OS X" os-version="10.5.6" cwd="/projects/src/calabash" user-name="ndw" user-home="/Users/ndw"/>

and cxo:env returns:

<c:result xmlns:c="http://www.w3.org/ns/xproc-step"> <c:env name="LANG" value="en_US.UTF-8"/> <c:env name="EDITOR" value="emacs"/> <c:env name="Apple_PubSub_Socket_Render"
value="/tmp/launch-yriAWk/Render"/> <c:env name="PWD" value="/projects/src/calabash"/> <c:env name="JAVA_ARCH" value="i386"/> <c:env name="LOGNAME" value="ndw"/> <c:env name="MAIL" value="/var/mail/ndw"/> <c:env name="COMMAND_MODE" value="unix2003"/> <c:env name="INFOPATH" value="/usr/local/info:/usr/info:/share/info"/> <c:env name="JAVA_MAIN_CLASS_556" value="com.xmlcalabash.drivers.Main"/> <c:env name="PDFLIBRESOURCE" value="/Users/ndw/.pdflib.upr"/> <c:env name="GNUS" value="/Applications/Gnus.app/Contents/MacOS/Emacs"/> ... </c:result>

Be seeing you, norm