Here's the XSLT code:
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet
exclude-result-prefixes="query cmd dncv" version="1.0"
xmlns:b64="http://www.novell.com/nxsl/java/com.novell.xml.util.Base64Codec"
xmlns:cmd="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsCommandProcessor"
xmlns:dncv="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.DNConverter"
xmlns:exslt="http://exslt.org/common"
xmlns:query="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsQueryProcessor"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- parameters passed in from the DirXML engine -->
<xsl:param name="srcQueryProcessor"/>
<xsl:param name="destQueryProcessor"/>
<xsl:param name="srcCommandProcessor"/>
<xsl:param name="destCommandProcessor"/>
<xsl:param name="dnConverter"/>
<xsl:param name="fromNds"/>
<!-- identity transformation template -->
<!-- in the absence of any other templates this will cause -->
<!-- the stylesheet to copy the input through unchanged to the output
-->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- add your custom templates here -->
<!-- Map departmentNumber attribute to container path -->
<xsl:template match="add[@class-name='User']">
<xsl:message>Department Number Placement</xsl:message>
<!-- read in placement table - via query so that we don't have
to restart the drivers each time the table is updated -->
<xsl:variable name="placementTable">
<xsl:call-template name="get-placement-table"/>
</xsl:variable>
<xsl:message>placement table is <xsl:value-of
select="$placementTable"/>
</xsl:message>
<xsl:variable name="department">
<xsl:value-of
select="add-attr[@attr-name='departmentNumber']"/>
</xsl:variable>
<xsl:variable name="DeptPath">
<xsl:value-of
select="exslt:node-set($placementTable)/PlacementTable/Department[DeptId='$department']/eDir_NIU-Development/@Placement"/>
</xsl:variable>
<xsl:copy>
<!-- set the dest-dn of the user to be created -->
<xsl:attribute name="dest-dn">
<xsl:value-of
select="concat($DeptPath,'\','CN=',add-attr[@attr-name='CN'])"/>
</xsl:attribute>
<!-- copy through the remainder of the document -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template name="get-placement-table">
<!-- build an xds query as a result tree fragment -->
<xsl:variable name="query">
<nds dtdversion="1.0" ndsversion="8.5">
<input>
<query scope="entry">
<xsl:attribute name="dest-dn">
<xsl:value-of
select="'NIU\DirXML\DS1\eDirDriver1\PlacementTable'"/>
</xsl:attribute>
<read-attr attr-name="xmlData"/>
</query>
</input>
</nds>
</xsl:variable>
<!--
query NDS
-->
<xsl:variable name="result"
select="query:query($srcQueryProcessor,$query)"/>
<!--
return an empty or non-empty result tree fragment depending on
result of query
-->
<!-- <xsl:value-of
select="b64:decode($result//instance/attr/value)"/> -->
<xsl:value-of select="$result//instance/attr/value"/>
</xsl:template>
</xsl:stylesheet>
I created a DirXML-Stylesheet object called
PlacementTable.eDirDriver1.DS1.DirXML.NIU and put a XML formatted table in it
that looks like this:
<?xml version="1.0" encoding="UTF-8"?><PlacementTable>
<Department DeptId="STUDENTS" DeptName="Students">
<MAD_Win2K Placement="OU=Students,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT Placement="OU=Students,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development Placement="OU=Students,O=NIU"/>
<eDir_NIU Placement="OU=Students,O=NIU"/>
</Department>
<Department DeptId="UB00000" DeptName="Information Services">
<MAD_Win2K
Placement="OU=AIS,OU=CTS,OU=DK,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT
Placement="OU=AIS,OU=CTS,OU=DK,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development Placement="OU=AIS,OU=CTS,OU=DK,O=NIU"/>
<eDir_NIU Placement="OU=AIS,OU=CTS,OU=DK,O=NIU"/>
</Department>
<Department DeptId="STUDENTS0" DeptName="Name">
<MAD_Win2K Placement="OU=0,OU=Students,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT Placement="OU=0,OU=Students,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development Placement="OU=0,OU=Students,O=NIU"/>
<eDir_NIU Placement="OU=0,OU=Students,O=NIU"/>
</Department>
[-snip lots of similar lines-]
<Department DeptId="XXX0000XXX">
<MAD_Win2K
Placement="OU=CarpentersPlace,OU=Outside,OU=DK,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT
Placement="OU=CarpentersPlace,OU=Outside,OU=DK,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development
Placement="OU=CarpentersPlace,OU=Outside,OU=DK,O=NIU"/>
<eDir_NIU
Placement="OU=CarpentersPlace,OU=Outside,OU=DK,O=NIU"/>
</Department>
</PlacementTable>
And here's the resulting level 3 trace:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify class-name="User" event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747"
timestamp="1121196779#3">
<modify-attr attr-name="departmentNumber">
<remove-value>
<value timestamp="1121194851#3" type="string">UB00X00</value>
</remove-value>
<add-value>
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-value>
</modify-attr>
</modify>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying event transformation policies.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying XSLT policy.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Query from policy
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<input>
<query dest-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" scope="entry">
<read-attr attr-name="niuDriverScope"/>
</query>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Pumping XDS to eDirectory.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Performing operation query for
\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Query from policy result
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="User" qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</attr>
</instance>
<status level="success"></status>
</output>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: xsl:message -> Got niuDriverScope
eDirDriver1 from eDir.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Policy returned:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify class-name="User" event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747"
timestamp="1121196779#3">
<modify-attr attr-name="departmentNumber">
<remove-value>
<value timestamp="1121194851#3" type="string">UB00X00</value>
</remove-value>
<add-value>
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-value>
</modify-attr>
</modify>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Subscriber processing modify for
\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER.
14:33:00 686F0 Drvrs: eDirDriver1 ST: No existing association, converting
<modify> to <add>.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Reading relevant attributes from
\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER.
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="User" dest-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER"
dest-entry-id="98747" scope="entry">
<read-attr attr-name="accessCardNumber"/>
<read-attr attr-name="assistant"/>
<read-attr attr-name="assistantPhone"/>
<read-attr attr-name="city"/>
<read-attr attr-name="CN"/>
<read-attr attr-name="co"/>
<read-attr attr-name="company"/>
<read-attr attr-name="costCenter"/>
<read-attr attr-name="costCenterDescription"/>
<read-attr attr-name="departmentNumber"/>
<read-attr attr-name="Description"/>
<read-attr attr-name="destinationIndicator"/>
<read-attr attr-name="directReports"/>
<read-attr attr-name="EMail Address"/>
<read-attr attr-name="employeeStatus"/>
<read-attr attr-name="employeeType"/>
<read-attr attr-name="Facsimile Telephone Number"/>
<read-attr attr-name="Full Name"/>
<read-attr attr-name="Generational Qualifier"/>
<read-attr attr-name="Given Name"/>
<read-attr attr-name="Group Membership"/>
<read-attr attr-name="GUID"/>
<read-attr attr-name="Higher Privileges"/>
<read-attr attr-name="Initials"/>
<read-attr attr-name="instantMessagingID"/>
<read-attr attr-name="internationaliSDNNumber"/>
<read-attr attr-name="Internet EMail Address"/>
<read-attr attr-name="jackNumber"/>
<read-attr attr-name="jobCode"/>
<read-attr attr-name="L"/>
<read-attr attr-name="Language"/>
<read-attr attr-name="Login Disabled"/>
14:33:00 686F0 Drvrs: <read-attr attr-name="Login Grace Limit"/>
<read-attr attr-name="Login Grace Remaining"/>
<read-attr attr-name="Login Maximum Simultaneous"/>
<read-attr attr-name="Mailbox ID"/>
<read-attr attr-name="Mailbox Location"/>
<read-attr attr-name="mailstop"/>
<read-attr attr-name="manager"/>
<read-attr attr-name="managerWorkforceID"/>
<read-attr attr-name="mobile"/>
<read-attr attr-name="niuBusinessUnit"/>
<read-attr attr-name="niuDateOfBirth"/>
<read-attr attr-name="niuDepartmentDescription"/>
<read-attr attr-name="niuDriverScope"/>
<read-attr attr-name="niuHomepage"/>
<read-attr attr-name="niuPwd"/>
<read-attr attr-name="niuRank"/>
<read-attr attr-name="niuSignature"/>
<read-attr attr-name="niuSSN"/>
<read-attr attr-name="NSCP:employeeNumber"/>
<read-attr attr-name="O"/>
<read-attr attr-name="otherPhoneNumber"/>
<read-attr attr-name="OU"/>
<read-attr attr-name="pager"/>
<read-attr attr-name="Password Allow Change"/>
<read-attr attr-name="Password Expiration Interval"/>
<read-attr attr-name="Password Expiration Time"/>
<read-attr attr-name="Password Minimum Length"/>
<read-attr attr-name="Password Required"/>
<read-attr attr-name="Password Unique Required"/>
<read-attr attr-name="Passwords Used"/>
<read-attr attr-name="personalTitle"/>
<read-attr attr-name="photo"/>
<read-attr attr-name="Physical Delivery Office Name"/>
<read-attr attr-name="Postal Address"/>
<read-attr attr-name="Postal Code"/>
<read-attr attr-name="Postal Office Box"/>
<read-attr attr-name="preferredDeliveryMethod"/>
14:33:00 686F0 Drvrs: <read-attr attr-name="preferredName"/>
<read-attr attr-name="Private Key"/>
<read-attr attr-name="Public Key"/>
<read-attr attr-name="registeredAddress"/>
<read-attr attr-name="roomNumber"/>
<read-attr attr-name="S"/>
<read-attr attr-name="SA"/>
<read-attr attr-name="Security Equals"/>
<read-attr attr-name="Security Flags"/>
<read-attr attr-name="See Also"/>
<read-attr attr-name="siteLocation"/>
<read-attr attr-name="Surname"/>
<read-attr attr-name="Telephone Number"/>
<read-attr attr-name="teletexTerminalIdentifier"/>
<read-attr attr-name="Timezone"/>
<read-attr attr-name="Title"/>
<read-attr attr-name="tollFreePhoneNumber"/>
<read-attr attr-name="UID"/>
<read-attr attr-name="uniqueID"/>
<read-attr attr-name="vehicleInformation"/>
<read-attr attr-name="workforceID"/>
<read-attr attr-name="x121Address"/>
<read-attr attr-name="x500UniqueIdentifier"/>
</query>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Pumping XDS to eDirectory.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Performing operation query for
\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Read result:
Tuesday, July 12, 2005
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="User" qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</attr>
<attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</attr>
<attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</attr>
<attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</attr>
<attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</attr>
<attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</attr>
<attr attr-name="Passwords Used"><!-- content suppressed -->
</attr>
<attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</attr>
<attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</attr>
<attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</attr>
<attr attr-name="Password Minimum Length">
<value timestamp="1120768171#32" type="int">8</value>
</attr>
<attr attr-name="Password Required">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#33" type="state">true</value>
</attr>
<attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</attr>
<attr attr-name="Private Key"><!-- content suppressed -->
</attr>
<attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</attr>
<attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</attr>
<attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</attr>
<attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</attr>
<attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</attr>
<attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</attr>
<attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</attr>
<attr attr-name="GUID">
<value timestamp="1120768171#56" type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</attr>
<attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</attr>
<attr attr-name="jobCode">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#17"
type="string">0105</value>
</attr>
<attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</attr>
<attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</attr>
<attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</attr>
<attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</attr>
<attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</attr>
<attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</attr>
<attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</attr>
</instance>
<status level="success"></status>
</output>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Synthetic add:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
<add-attr attr-name="Password Minimum Length">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: No object matching policies.
14:33:00 686F0 Drvrs: eDirDriver1 ST: No object creation policies.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying object placement policies.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying policy: STDTS Placement.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying to add #1.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Evaluating selection criteria for rule
'Student Employees Placement'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: (if-class-name equal "user") = TRUE.
14:33:00 686F0 Drvrs: eDirDriver1 ST: (if-op-attr 'niuBusinessUnit' equal
"STDTS") = FALSE.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Rule rejected.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Policy returned:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
<add-attr attr-name="Password Minimum Length">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying policy: GRADS Placement.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying to add #1.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Evaluating selection criteria for rule
'Graduate Assistants Placement'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: (if-class-name equal "user") = TRUE.
14:33:00 686F0 Drvrs: eDirDriver1 ST: (if-op-attr 'niuBusinessUnit' equal
"GRADS") = FALSE.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Rule rejected.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Policy returned:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
<add-attr attr-name="Password Minimum Length">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying policy: Test - Get Placement
Table.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying to add #1.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Policy returned:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
<add-attr attr-name="Password Minimum Length">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying XSLT policy.
14:33:00 686F0 Drvrs: eDirDriver1 ST: xsl:message -> Department Number Placement
14:33:00 686F0 Drvrs: eDirDriver1 ST: Query from policy
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="1.0" ndsversion="8.5"
xmlns:b64="http://www.novell.com/nxsl/java/com.novell.xml.util.Base64Codec"
xmlns:exslt="http://exslt.org/common">
<input>
<query dest-dn="NIU\DirXML\DS1\eDirDriver1\PlacementTable" scope="entry">
<read-attr attr-name="xmlData"/>
</query>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Pumping XDS to eDirectory.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Performing operation query for
NIU\DirXML\DS1\eDirDriver1\PlacementTable.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Query from policy result
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="DirXML-StyleSheet"
qualified-src-dn="O=NIU\OU=DirXML\CN=DS1\CN=eDirDriver1\CN=PlacementTable"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\DirXML\DS1\eDirDriver1\PlacementTable"
src-entry-id="98736">
<attr attr-name="XmlData">
14:33:00 686F0 Drvrs: <value timestamp="1121196659#7"
type="octet">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48UGxhY2VtZW50VGFibGU
[-snip-]
14:33:00 686F0 Drvrs:
hY2VtZW50PSJcTklVXERLXEFTXFBVQiIvPgoJCTxlRGlyX05JVSBQbGFjZW1lbnQ9IlxOSVVcREtcQVNcUFVCIi8+Cgk8L0RlcGFydG1lbnQ+Cgk8RGV
</attr>
</instance>
<status level="success"></status>
</output>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: xsl:message -> placement table is
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48UGxhY2VtZW50VGFibGU+Cgk8RGV
[-snip-]
14:33:00 686F0 Drvrs:
z4KCQk8ZURpcl9OSVUtRGV2ZWxvcG1lbnQgUGxhY2VtZW50PSJcTklVXERLXEFTXFBVQiIvPgoJCTxlRGlyX05JVSBQbGFjZW1lbnQ9IlxOSVVcREtcQVNcUFVCIi8+Cgk8L0RlcGFydG1lbnQ+Cgk8RGV
14:33:00 686F0 Drvrs: eDirDriver1 ST: Policy returned:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" dest-dn="\CN=CPARKER"
event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
14:33:00 686F0 Drvrs: <add-attr attr-name="Password Minimum Length">
<value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: Submitting add to subscriber shim.
14:33:00 686F0 Drvrs: eDirDriver1 ST: No command transformation policies.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Filtering out notification-only
attributes.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Fixing up association references.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Applying schema mapping policies to
output.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'CN' to 'CN'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Login Disabled' to
'Login Disabled'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Login Grace Limit' to
'Login Grace Limit'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Login Grace Remaining'
to 'Login Grace Remaining'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Login Maximum
Simultaneous' to 'Login Maximum Simultaneous'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'OU' to 'OU'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Passwords Used' to
'Passwords Used'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Password Allow Change'
to 'Password Allow Change'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Password Expiration
Interval' to 'Password Expiration Interval'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Password Expiration
Time' to 'Password Expiration Time'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Password Minimum
Length' to 'Password Minimum Length'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Password Required' to
'Password Required'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Password Unique
Required' to 'Password Unique Required'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Private Key' to
'Private Key'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Public Key' to 'Public
Key'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'SA' to 'SA'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Surname' to 'Surname'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Title' to 'Title'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Full Name' to 'Full
Name'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Given Name' to 'Given
Name'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'Initials' to
'Initials'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'GUID' to 'GUID'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'workforceID' to
'workforceID'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'jobCode' to 'jobCode'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'employeeStatus' to
'employeeStatus'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'employeeType' to
'employeeType'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'departmentNumber' to
'departmentNumber'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'niuSSN' to 'niuSSN'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'niuBusinessUnit' to
'niuBusinessUnit'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'niuDateOfBirth' to
'niuDateOfBirth'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping attr-name 'niuDriverScope' to
'niuDriverScope'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Mapping class-name 'User' to 'User'.
14:33:00 686F0 Drvrs: eDirDriver1 ST: No output transformation policies.
14:33:00 686F0 Drvrs: eDirDriver1 ST: Submitting document to subscriber shim:
14:33:00 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" dest-dn="\CN=CPARKER"
event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
14:33:00 686F0 Drvrs: <add-attr attr-name="Password Minimum Length">
<value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:00 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:00 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1: Need
new connection.
14:33:00 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Connecting to remote Publisher at 131.156.57.15:8196
14:33:00 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Creating an NTLSSocket
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1: Opening
connection...
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Connection opened.
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
handshake
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
send key
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Sending...
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Document sent.
14:33:01 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1: Waiting
for receive...
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Receiving...
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Received.
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
received key
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
connected with a DirXML 1.x driver
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Sending...
14:33:02 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add class-name="User" dest-dn="\CN=CPARKER"
event-id="SYNCTEST-NDS#20050712190051#1#3"
qualified-src-dn="O=NIU\OU=Users\CN=CPARKER"
src-dn="\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER" src-entry-id="98747">
<add-attr attr-name="CN">
<value naming="true" timestamp="1120768171#55" type="string">CPARKER</value>
</add-attr>
<add-attr attr-name="Login Disabled">
<value timestamp="1120768171#37" type="state">false</value>
</add-attr>
<add-attr attr-name="Login Grace Limit">
<value timestamp="1120768171#28" type="int">3</value>
</add-attr>
<add-attr attr-name="Login Grace Remaining">
<value timestamp="1120768171#29" type="counter">3</value>
</add-attr>
<add-attr attr-name="Login Maximum Simultaneous">
<value timestamp="1120768171#27" type="int">3</value>
</add-attr>
<add-attr attr-name="OU">
<value timestamp="1120768171#16" type="string">Information Services</value>
</add-attr>
<add-attr attr-name="Passwords Used"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Password Allow Change">
<value timestamp="1120768171#30" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Expiration Interval">
<value timestamp="1120768171#31" type="interval">11232000</value>
</add-attr>
<add-attr attr-name="Password Expiration Time">
<value timestamp="1120768176#8" type="time">694310400</value>
</add-attr>
14:33:02 686F0 Drvrs: <add-attr attr-name="Password Minimum Length">
<value timestamp="1120768171#32" type="int">8</value>
</add-attr>
<add-attr attr-name="Password Required">
<value timestamp="1120768171#33" type="state">true</value>
</add-attr>
<add-attr attr-name="Password Unique Required">
<value timestamp="1120768171#34" type="state">true</value>
</add-attr>
<add-attr attr-name="Private Key"><!-- content suppressed -->
</add-attr>
<add-attr attr-name="Public Key">
<value timestamp="1120768176#15"
type="octet">AQAAAAQAAAAeAFIAAADIAB4ANAB2AAAAAABPAFUAPQBVAHMAZQByAHMALgBPAD0ATgBJAFUAAABDAE4APQBDAFAAQQBSAEsARQBSAC4ATwBVAD0AVQBzAGUAcgBzAC4ATwA9AE4ASQBVAAAAAQAAAAMAAQBsAEJWBAAxLjAAQkMBAANCQQEAMEJMAgCkAU5ONQDvySX/lE2IBLs/Pww8Pg2t8+87dBc73VIduup50Q/omBPIELBVFtm9mv8AD+cI6NMp7+lSCUVOAwABAAFNQQgAdg0+XQ7VTHBkAFBVUlNBRg==</value>
</add-attr>
<add-attr attr-name="SA">
<value timestamp="1120768171#20" type="string">SP 310</value>
</add-attr>
<add-attr attr-name="Surname">
<value timestamp="1120768171#7" type="string">Parker</value>
</add-attr>
<add-attr attr-name="Title">
<value timestamp="1120768171#18" type="string">Applications Analyst
Senior</value>
</add-attr>
<add-attr attr-name="Full Name">
<value timestamp="1120768171#25" type="string">Charlie Parker</value>
</add-attr>
<add-attr attr-name="Given Name">
<value timestamp="1120768171#5" type="string">Charlie</value>
</add-attr>
<add-attr attr-name="Initials">
<value timestamp="1120768171#6" type="string">Y</value>
</add-attr>
<add-attr attr-name="GUID">
14:33:02 686F0 Drvrs: <value timestamp="1120768171#56"
type="octet">mSFLMcl+KUCseHAzy9IICQ==</value>
</add-attr>
<add-attr attr-name="workforceID">
<value timestamp="1120768171#4" type="string">129269</value>
</add-attr>
<add-attr attr-name="jobCode">
<value timestamp="1120768171#17" type="string">0105</value>
</add-attr>
<add-attr attr-name="employeeStatus">
<value timestamp="1120768171#14" type="string">A</value>
</add-attr>
<add-attr attr-name="employeeType">
<value timestamp="1120768171#24" type="string">H</value>
</add-attr>
<add-attr attr-name="departmentNumber">
<value timestamp="1121196779#3" type="string">UB00000</value>
</add-attr>
<add-attr attr-name="niuSSN">
<value timestamp="1120768171#9" type="string">988998775</value>
</add-attr>
<add-attr attr-name="niuBusinessUnit">
<value timestamp="1120768171#21" type="string">CSSTA</value>
</add-attr>
<add-attr attr-name="niuDateOfBirth">
<value timestamp="1120768171#8" type="string">19021011</value>
</add-attr>
<add-attr attr-name="niuDriverScope">
<value timestamp="1120768171#26" type="string">eDirDriver1</value>
</add-attr>
</add>
</input>
</nds>
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Document sent.
14:33:02 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1: Waiting
for receive...
14:33:05 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Receiving...
14:33:05 686F0 Drvrs: eDirDriver1 ST: NdsToNds Subscriber - eDirDriver1:
Received.
14:33:05 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="1.1" ndsversion="8.6">
<source>
<product version="1.1a">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="SYNCTEST-NDS#20050712190051#1#3" level="error">
<description>nameToID: -601 ERR_NO_SUCH_ENTRY</description>
<application>DirXML</application>
<module>eDirDriver1</module>
<object-dn>\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER (\CN=CPARKER)</object-dn>
<component>publisher</component>
<server>\NIU-DEVELOPMENT\NIU\dk\cts\cto\nw\NETOPS-DEV</server>
</status>
</output>
</nds>
14:33:05 686F0 Drvrs: eDirDriver1 ST: SubscriptionShim.execute() returned:
14:33:05 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="1.1" ndsversion="8.6">
<source>
<product version="1.1a">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="SYNCTEST-NDS#20050712190051#1#3" level="error">
<description>nameToID: -601 ERR_NO_SUCH_ENTRY</description>
<application>DirXML</application>
<module>eDirDriver1</module>
<object-dn>\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER (\CN=CPARKER)</object-dn>
<component>publisher</component>
<server>\NIU-DEVELOPMENT\NIU\dk\cts\cto\nw\NETOPS-DEV</server>
</status>
</output>
</nds>
14:33:05 686F0 Drvrs: eDirDriver1 ST: Applying input transformation policies.
14:33:05 686F0 Drvrs: eDirDriver1 ST: Applying XSLT policy.
14:33:05 686F0 Drvrs: eDirDriver1 ST: Policy returned:
14:33:05 686F0 Drvrs: eDirDriver1 ST:
<nds dtdversion="1.1" ndsversion="8.6">
<source>
<product version="1.1a">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="SYNCTEST-NDS#20050712190051#1#3" level="error">
<description>nameToID: -601 ERR_NO_SUCH_ENTRY</description>
<application>DirXML</application>
<module>eDirDriver1</module>
<object-dn>\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER (\CN=CPARKER)</object-dn>
<component>publisher</component>
<server>\NIU-DEVELOPMENT\NIU\dk\cts\cto\nw\NETOPS-DEV</server>
</status>
</output>
</nds>
14:33:05 686F0 Drvrs: eDirDriver1 ST: Applying schema mapping policies to input.
14:33:05 686F0 Drvrs: eDirDriver1 ST: Resolving association references.
14:33:05 686F0 Drvrs: eDirDriver1 ST: Processing returned document.
14:33:05 686F0 Drvrs: eDirDriver1 ST: Processing operation <status> for .
14:33:05 686F0 Drvrs: eDirDriver1 ST:
DirXML Log Event -------------------
Driver: \NIU-FLAT-DEVELOPMENT\NIU\DirXML\DS1\eDirDriver1
Channel: Subscriber
Object: \NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER
Status: Error
Message: <description>nameToID: -601 ERR_NO_SUCH_ENTRY</description>
<application>DirXML</application>
<module>eDirDriver1</module>
<object-dn>\NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER (\CN=CPARKER)</object-dn>
<component>publisher</component>
<server>\NIU-DEVELOPMENT\NIU\dk\cts\cto\nw\NETOPS-DEV</server>
14:33:05 686F0 Drvrs: eDirDriver1 ST: End transaction.
I had to trim the returned octets in the trace, otherwise it won't let me post
it here.
What's coming back from the query, with type="octet", looks like it's probably
my xml table, but I need it in a string, not in a series of octets. Is there a
way to fix the query so that it returns this as a string? Or, how do I parse the
octet return in to something useful? It's not base64, I already tried that using
Base64Codec:decode.
---------------------------------------------------------------------------
David Gersic dgersic_@_niu.edu
I'm tired of receiving rubbish in my mailbox, so the E-mail address is
munged to foil the junkmail bots. Humans will figure it out on their own.
>See the "type" attribute for read-attr:
>http://developer.novell.com/ndk/doc/dirxml/dirxmlbk/ref/ndsdtd/read-attr.html
You gave me hope for a minute there, but this doesn't work. The new trace shows
<read-attr attr-name="xmlData" type="xml"/> but the results coming back are
exactly the same as before.
Does this only work with string type attributes? xmlData is defined as a stream
file.
http://developer.novell.com/ndk/doc/dirxml/dirxmlbk/ref/ndsdtd/read-attr.html
--
Perin Blanchard, DevNet SysOp 43
Well, another way of doing it is using the custom nds URL schema and the
document function. Try this:
document('vnd.nds.stream://YOUR_TREE_NAME_HERE/NIU/DirXML/DS1/eDirDriver1/PlacementTable#XmlData')
The document call will return a node set, which is what you're looking for.
--
Perin Blanchard, DevNet SysOp 43
>No, it's supposed to work with any octet or stream attribute. Must be
>busted. It isn't used very often.
Oh. Great. Can I assume you'll queue it up to be fixed in an update?
>Well, another way of doing it is using the custom nds URL schema and the
>document function. Try this:
>
>document('vnd.nds.stream://YOUR_TREE_NAME_HERE/NIU/DirXML/DS1/eDirDriver1/PlacementTable#XmlData')
>
>The document call will return a node set, which is what you're looking for.
Am I being a complete bonehead here?
<xsl:variable name="department">
<xsl:value-of
select="add-attr[@attr-name='departmentNumber']"/>
</xsl:variable>
<xsl:variable name="placementTable2">
<xsl:value-of
select="document('vnd.nds.stream://NIU-FLAT-DEVELOPMENT/NIU/DirXML/DS1/eDirDriver1/PlacementTable#XmlData')"/>
</xsl:variable>
<xsl:variable name="DeptPath2">
(*Line 39*) <xsl:value-of
select="$placementTable2/PlacementTable/Department[DeptId='$department']/eDir_NIU-Development/@Placement"/>
</xsl:variable>
<xsl:copy>
<!-- set the dest-dn of the user to be created -->
<xsl:attribute name="dest-dn">
<xsl:value-of
select="concat($DeptPath2,'\','CN=',add-attr[@attr-name='CN'])"/>
</xsl:attribute>
<!-- copy through the remainder of the document -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
16:52:40 691B0 Drvrs: eDirDriver1 ST: Applying XSLT policy.
16:52:40 691B0 Drvrs: eDirDriver1 ST: xsl:message -> Department Number Placement
16:52:40 691B0 Drvrs: eDirDriver1 ST:
DirXML Log Event -------------------
Driver: \NIU-FLAT-DEVELOPMENT\NIU\DirXML\DS1\eDirDriver1
Channel: Subscriber
Object: \NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER
Status: Error
Message: Code(-9061) Error processing XSLT policy:
vnd.nds.stream://NIU-FLAT-DEVELOPMENT/NIU/DirXML/DS1/eDirDriver1/Subscriber/Department
Number Placement#XmlData (39): <xsl:value-of>: expression evaluation error: no
type may be converted to a node-set
16:52:40 691B0 Drvrs: eDirDriver1 ST:
DirXML Log Event -------------------
Driver: \NIU-FLAT-DEVELOPMENT\NIU\DirXML\DS1\eDirDriver1
Channel: Subscriber
Object: \NIU-FLAT-DEVELOPMENT\NIU\Users\CPARKER
Status: Error
Message: Code(-9037) One or more errors occurred while processing an XSLT policy
I can't find any reference to this one "no type may be converted to a node-set"?
What's that mean?
If I confirm it's actually broken, yes.
--
Do this instead:
<xsl:variable name="placementTable2"
select="document('vnd.nds.stream://NIU-FLAT-DEVELOPMENT/NIU/DirXML/DS1/eDirDriver1/PlacementTable#XmlData')"
/>
(Any time you put something in the content of an xsl:variable element,
you get a result-tree-fragment. Using the select XPATH expression gives
you a variable of whatever type the XPath expression results in, which
in this case, is a node-set).
--
Perin Blanchard, DevNet SysOp 43
>Assuming that $department is a reference to a variable named
>"department", get rid of the quotes around the reference.
Ah! It looks like that did it. Thanks!
David Gersic wrote:
> On Tue, 12 Jul 2005 22:09:59 GMT, "Perin Blanchard, DevNet SysOp 43"
> <devf...@novell.com> wrote:
>
>
>><xsl:variable name="placementTable2"
>>select="document('vnd.nds.stream://NIU-FLAT-DEVELOPMENT/NIU/DirXML/DS1/eDirDriver1/PlacementTable#XmlData')"
>
>
>
> Ok, so now I have a node-set. I'm going to beg one last question here... How the
> heck do I pull the "Placement" text out of it to make use of it? I've been
> Googling and trying various syntaxes for this all morning, and I'm not getting a
> result that I can use.
>
> I'm looking to build a variable that I can use:
>
> <xsl:variable name="DeptPath2">
> <xsl:value-of
> select="$placementTable2/PlacementTable/Department[@DeptId='$department']/eDir_NIU-Development/@Placement"/>
> </xsl:variable>
>
> I know the value of $department is correct, but I'm not getting what I expected
> out of this code. I'm getting nothing at all, at least nothing that xsl:message
> will display.
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <PlacementTable>
> <Department DeptId="STUDENTS" DeptName="Students">
> <MAD_Win2K Placement="OU=Students,DC=Win2K,DC=niu,DC=edu"/>
> <MAD_NIUNT Placement="OU=Students,DC=NIUNT,DC=niu,DC=edu"/>
> <eDir_NIU-Development Placement="\NIU\Students"/>
> <eDir_NIU Placement="\NIU\Students"/>
> </Department>
> <Department DeptId="UB00000" DeptName="Information Services">
> <MAD_Win2K Placement="OU=AIS,OU=CTS,OU=DK,DC=Win2K,DC=niu,DC=edu"/>
> <MAD_NIUNT Placement="OU=AIS,OU=CTS,OU=DK,DC=NIUNT,DC=niu,DC=edu"/>
> <eDir_NIU-Development Placement="\NIU\DK\CTS\AIS"/>
> <eDir_NIU Placement="\NIU\DK\CTS\AIS"/>
> </Department>
> [... etc. ...]
> <Department DeptId="XXX0000XXX">
> <MAD_Win2K
> Placement="OU=CarpentersPlace,OU=Outside,OU=DK,DC=Win2K,DC=niu,DC=edu"/>
> <MAD_NIUNT
> Placement="OU=CarpentersPlace,OU=Outside,OU=DK,DC=NIUNT,DC=niu,DC=edu"/>
> <eDir_NIU-Development Placement="\NIU\DK\Outside\CarpentersPlace"/>
> <eDir_NIU Placement="\NIU\DK\Outside\CarpentersPlace"/>
> </Department>
> </PlacementTable>
> >>No, it's supposed to work with any octet or stream attribute. Must be
> >>busted. It isn't used very often.
> >
> >
> > Oh. Great. Can I assume you'll queue it up to be fixed in an update?
>
>If I confirm it's actually broken, yes.
Ofer Gigi spotted it. If you query for "XmlData" it works. If you query for
"xmlData" it does not. Dunno if that's a bug, or a feature.
><xsl:variable name="placementTable2"
>select="document('vnd.nds.stream://NIU-FLAT-DEVELOPMENT/NIU/DirXML/DS1/eDirDriver1/PlacementTable#XmlData')"
Ok, so now I have a node-set. I'm going to beg one last question here... How the
heck do I pull the "Placement" text out of it to make use of it? I've been
Googling and trying various syntaxes for this all morning, and I'm not getting a
result that I can use.
I'm looking to build a variable that I can use:
<xsl:variable name="DeptPath2">
<xsl:value-of
select="$placementTable2/PlacementTable/Department[@DeptId='$department']/eDir_NIU-Development/@Placement"/>
</xsl:variable>
I know the value of $department is correct, but I'm not getting what I expected
out of this code. I'm getting nothing at all, at least nothing that xsl:message
will display.
<?xml version="1.0" encoding="UTF-8"?>
<PlacementTable>
<Department DeptId="STUDENTS" DeptName="Students">
<MAD_Win2K Placement="OU=Students,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT Placement="OU=Students,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development Placement="\NIU\Students"/>
<eDir_NIU Placement="\NIU\Students"/>
</Department>
<Department DeptId="UB00000" DeptName="Information Services">
<MAD_Win2K Placement="OU=AIS,OU=CTS,OU=DK,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT Placement="OU=AIS,OU=CTS,OU=DK,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development Placement="\NIU\DK\CTS\AIS"/>
<eDir_NIU Placement="\NIU\DK\CTS\AIS"/>
</Department>
[... etc. ...]
<Department DeptId="XXX0000XXX">
<MAD_Win2K
Placement="OU=CarpentersPlace,OU=Outside,OU=DK,DC=Win2K,DC=niu,DC=edu"/>
<MAD_NIUNT
Placement="OU=CarpentersPlace,OU=Outside,OU=DK,DC=NIUNT,DC=niu,DC=edu"/>
<eDir_NIU-Development Placement="\NIU\DK\Outside\CarpentersPlace"/>
<eDir_NIU Placement="\NIU\DK\Outside\CarpentersPlace"/>
</Department>
</PlacementTable>