Hi

I have an odd issue where I seem to have disappearing attributes. I have
some XSLT code that also appends an XML element into the current
document. This is done as folows and the I19L1_UserID variable is being
passed through as I can trace it out.

I am effectively querying JDBC, pulling a value out and storing it in
jackNumber in the operation.

I can see jackNumber being set with the correct value. I then see the
policy progress to the matching rule. Once the matching rule returns no
match, I lose jackNumber as an available operational attribute???

Filter is set to SYNC on the Subscriber and Ignore on the Publisher.
Schema map maps the jackNumber to UserID in the database table to be
synched.

Any thoughts as this is drivin me nuts.

<xsl:template name="update-I19-tables" xmlns:jdbc="urn:dirxml:jdbc">
<xslaram name="I19L1_UserID"/>
<xslaram name="I19L1_Description"/>
<xsl:copy>
<xsl:attribute name="jdbcp-id">0</xsl:attribute>
<xsl:attribute name="jdbc:transaction-id">0</xsl:attribute>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
<xsl:element name="add-attr">
<xsl:attribute name="name">jackNumber</xsl:attribute>
<xsl:element name="value">
<xsl:value-of select="$I19L1_UserID"/>
</xsl:element>
</xsl:element>

I then see the following in a trace -

<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<add cached-time="20071127095114.845Z" class-name="User"
event-id="idvault#20071127095114#3#1" jdbcp-id="0"
jdbc:transaction-id="0" qualified-src-dn="O=COO\OU=USERS\CN=testdb55"
src-dn="\WORKFORCE\COO\USERS\testdb55" src-entry-id="34892"
timestamp="1196157074#24" xmlns:jdbc="urn:dirxml:jdbc">
<add-attr attr-name="CN">
<value timestamp="1196157074#24" type="string">testdb55</value>
</add-attr>
<add-attr attr-name="Description">
<value timestamp="1196157074#4" type="string">testing</value>
</add-attr>
<add-attr attr-name="Description">
<value>testing</value>
</add-attr>
<add-attr attr-name="Surname">
<value>db55</value>
</add-attr>
<add-attr attr-name="Given Name">
<value>test</value>
</add-attr>
<add-attr attr-name="Internet EMail Address">
<value/>
</add-attr>
<add-attr attr-name="Department">
<value/>
</add-attr>
</add>
<add-attr name="jackNumber">
<value>766</value>
</add-attr>
<jdbc:statement jdbcp-id="0" jdbc:transaction-id="0"
jdbc:transaction-type="manual" xmlns:jdbc="urn:dirxml:jdbc">
<jdbc:sql>UPDATE I19L1_Counter set CurrentID = 766+1;</jdbc:sql>
</jdbc:statement>
<jdbc:statement jdbcp-id="0" jdbc:transaction-id="0"
jdbc:transaction-type="manual" xmlns:jdbc="urn:dirxml:jdbc">
20:21:15 947B5BA0 Drvrs: <jdbc:sql>INSERT into I19L1 (I19L1ID,
Description, Surname, GivenName, OrgEmail, Department, I19R1ID) values
(766, 'testing', 'db55', 'test', '', '', 1);</jdbc:sql>
</jdbc:statement>
</input>
</nds>

20:21:15 947B5BA0 Drvrs: XXX ST:Subscriber processing add for
\WORKFORCE\XXX\USERS\testdb55.
20:21:15 947B5BA0 Drvrs: XXX ST:Applying object matching policies.
20:21:15 947B5BA0 Drvrs: XXX ST:Applying policy: Matching Rule.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying to add #1.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'User: Match on Surname, Given Name'.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-operation equal "add") = TRUE.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-class-name equal "User") = TRUE.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule selected.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying rule 'User: Match on Surname,
Given Name'.
20:21:15 947B5BA0 Drvrs: XXX ST: Action:
do-find-matching-object(scope="subtree",arg-match-attr("Surname"),arg-match-attr("Given
Name")).
20:21:15 947B5BA0 Drvrs: XXX ST: arg-match-attr("Surname")
20:21:15 947B5BA0 Drvrs: XXX ST: arg-match-attr("Given Name")
20:21:15 947B5BA0 Drvrs: XXX ST: Query from policy
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="User" scope="subtree">
<search-class class-name="User"/>
<search-attr attr-name="Surname">
<value>db55</value>
</search-attr>
<search-attr attr-name="Given Name">
<value>test</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Fixing up association references.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying schema mapping policies to output.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying policy: Schema+Mapping+Rule.
20:21:15 947B5BA0 Drvrs: XXX ST: Mapping class-name 'User' to 'users'.
20:21:15 947B5BA0 Drvrs: XXX ST: Mapping class-name 'User' to 'users'.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying output transformation policies.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying policy: Output Transformation.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying to query #1.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'User: Reformat fax number as string'.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-class-name equal "direct.view_usr")
= FALSE.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule rejected.
20:21:15 947B5BA0 Drvrs: XXX ST: Policy returned:
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="users" event-id="0" scope="subtree">
<search-class class-name="users"/>
<search-attr attr-name="Surname">
<value>db55</value>
</search-attr>
<search-attr attr-name="Given Name">
<value>test</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Applying policy: 'Email notifications
for failed password publications'.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying to query #1.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'Send e-mail for a failed publish password operation'.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-global-variable
'notify-user-on-password-dist-failure' equal "true") = FALSE.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule rejected.
20:21:15 947B5BA0 Drvrs: XXX ST: Policy returned:
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="users" event-id="0" scope="subtree">
<search-class class-name="users"/>
<search-attr attr-name="Surname">
<value>db55</value>
</search-attr>
<search-attr attr-name="Given Name">
<value>test</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Applying policy: Add Test User.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying to query #1.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'Testing'.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-operation equal "add") = FALSE.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule rejected.
20:21:15 947B5BA0 Drvrs: XXX ST: Policy returned:
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="users" event-id="0" scope="subtree">
<search-class class-name="users"/>
<search-attr attr-name="Surname">
<value>db55</value>
</search-attr>
<search-attr attr-name="Given Name">
<value>test</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Submitting document to subscriber shim:
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="users" event-id="0" scope="subtree">
<search-class class-name="users"/>
<search-attr attr-name="Surname">
<value>db55</value>
</search-attr>
<search-attr attr-name="Given Name">
<value>test</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Remote Interface Driver: Sending...
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<query class-name="users" event-id="0" scope="subtree">
<search-class class-name="users"/>
<search-attr attr-name="Surname">
<value>db55</value>
</search-attr>
<search-attr attr-name="Given Name">
<value>test</value>
</search-attr>
<read-attr/>
</query>
</input>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Remote Interface Driver: Document sent.
20:21:15 945EABA0 Drvrs: XXX :Remote Interface Driver: Waiting for
receive...
20:21:15 945EABA0 Drvrs: XXX :Remote Interface Driver: Received.
20:21:15 945EABA0 Drvrs: XXX :
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
<source>
<product build="20070918_0743" instance="XXX" version="3.5.2">DirXML
Driver for JDBC</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"></status>
</output>
</nds>
20:21:15 945EABA0 Drvrs: XXX :Remote Interface Driver: Received document
for subscriber channel
20:21:15 947B5BA0 Drvrs: XXX ST: SubscriptionShim.execute() returned:
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
<source>
<product build="20070918_0743" instance="XXX" version="3.5.2">DirXML
Driver for JDBC</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"></status>
</output>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Applying input transformation policies.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying policy: 'Email notifications
for failed password subscriptions'.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying to status #1.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'Send e-mail on a failure when subscribing to passwords'.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-global-variable
'notify-user-on-password-dist-failure' equal "true") = FALSE.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule rejected.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'Send e-mail on failure to reset connected system password using the IDM
data store password'.
20:21:15 947B5BA0 Drvrs: XXX ST: (if-global-variable
'notify-user-on-password-dist-failure' equal "true") = FALSE.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule rejected.
20:21:15 947B5BA0 Drvrs: XXX ST: Policy returned:
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
<source>
<product build="20070918_0743" instance="XXX" version="3.5.2">DirXML
Driver for JDBC</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"></status>
</output>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: Applying schema mapping policies to input.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying policy: Schema+Mapping+Rule.
20:21:15 947B5BA0 Drvrs: XXX ST: Resolving association references.
20:21:15 947B5BA0 Drvrs: XXX ST: Query from policy result
20:21:15 947B5BA0 Drvrs: XXX ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
<source>
<product build="20070918_0743" instance="XXX" version="3.5.2">DirXML
Driver for JDBC</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="0" level="success"></status>
</output>
</nds>
20:21:15 947B5BA0 Drvrs: XXX ST: No matches found.
20:21:15 947B5BA0 Drvrs: XXX ST: Evaluating selection criteria for rule
'Trace events'.
20:21:15 947B5BA0 Drvrs: XXX ST: Rule selected.
20:21:15 947B5BA0 Drvrs: XXX ST: Applying rule 'Trace events'.
20:21:15 947B5BA0 Drvrs: XXX ST: Action: do-trace-message("Jack Number
Value is "+token-op-attr("jackNumber")).
20:21:15 947B5BA0 Drvrs: XXX ST: arg-string("Jack Number Value is
"+token-op-attr("jackNumber"))
20:21:15 947B5BA0 Drvrs: XXX ST: token-text("Jack Number Value is ")
20:21:15 947B5BA0 Drvrs: XXX ST: token-op-attr("jackNumber")
20:21:15 947B5BA0 Drvrs: XXX ST: Token Value: "".
20:21:15 947B5BA0 Drvrs: XXX ST: Arg Value: "Jack Number Value is ".
20:21:15 947B5BA0 Drvrs: XXX ST:Jack Number Value is
20:21:15 947B5BA0 Drvrs: XXX ST:Policy returned:
20:21:15 947B5BA0 Drvrs: XXX ST: