!!! 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' }]