!!! Overview
Be sure the [DirXML Script namespace definitions|DirXML Script namespace definitions|target='_blank'] are set within the policy where using the Java call.

Shows a [DirXML Example] and [XPATH Example] for working with [{$pagename}].

You will also need to place the [Java jar files in the correct location.|IDM Location of jar files|target='_blank']

!! Calling Java From [DirXML]
An example where we show how we did [UUID] Generation in [DirXML Calling Java Example] from a driver.

An example where we show how we used our [Unique Value Finder tool|Unique Value Finder with Driver|target='_blank'] from a driver

!! [DirXML] 3.01 and Earlier
Each of the following headings defines an [XML] [namespace] for an external Java method.  Add it as an attribute on your policy or XSLT template.

One or more examples of how to use the available methods follow each [XML namespace].

!xmlns:query="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsQueryProcessor"
{{{
		<actions>
			<do-set-local-variable name="userMembershipList">
				<arg-node-set>
					<token-xpath expression='query:readObject($srcQueryProcessor, "", @src-dn, "User", "Group Membership")'/>
				</arg-node-set>
			</do-set-local-variable>
		</actions>
}}}

!xmlns:date="http://www.novell.com/nxsl/java/java.util.Date"
{{{
		<actions>
			<do-set-local-variable name="timestamp">
				<arg-object>
					<token-xpath expression="date:new()"/>
				</arg-object>
			</do-set-local-variable>
			<do-set-local-variable name="timestamp">
				<arg-string>
					<token-xpath expression="round(date:getTime($timestamp) div 1000)"/>
				</arg-string>
			</do-set-local-variable>
		</actions>
}}}

! xmlns:jconvCase="http://www.novell.com/nxsl/java/convCase"
This calls out to a custom Java class.  You can view the [ConvCase.Java Source Code].
{{{
	<xsl:variable name="jconvCaseInstance" select="jconvCase:new()"/>
	<xsl:value-of select="jconvCase:toTitleCase($jconvCaseInstance,$toconvert)"/>
}}}

!xmlns:jstring="http://www.novell.com/nxsl/java/java.lang.String"
{{{
	<xsl:value-of select="jstring:toLowerCase($toconvert)"/>
}}}
{{{
	<xsl:value-of select="jstring:toUpperCase($toconvert)"/>
}}}
{{{
	<xsl:variable name="dn" select="jstring:new($src-dn)"/>
	<xsl:variable name="index" select="jstring:lastIndexOf($dn,'\')"/>
	<xsl:if test="$index != -1">
		<xsl:value-of select="jstring:substring($dn,$index + 1)"/>
	</xsl:if>
}}}

! xmlns:ncs="http://www.novell.com/nxsl/java/com.novell.ncs.dirxml.utilities.Utils"
{{{
	<!-- The ncs:getTimeString() function is a simple java function in the DirXMLNCUtils.jar file -->
	<!-- The function returns the system time in the following format yyyymmddhhmmss -->
	<!-- When the NDS timestamp is used, it must be converted from NDS time to a string -->
	<!-- NDS timestamps are stored as the number of seconds since 1/1/1970 followed by a # then a replica number -->
	<!-- The # and replica number are stripped out by the substring-before XSLT function -->
	<xsl:value-of select="ncs:getTimeString()"/>
}}}
{{{
	<!-- Here we simply write a message to the DSTrace screen or log if it's running -->
	<xsl:message>
logentry=<xsl:value-of select="ncs:writeLog($logfile,$logmessage)"/>
	</xsl:message>
}}}

!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]