In the following list, the most important data items that flow through the process are responder-dn and association. The responder-dn item is used to authenticate the user by entering data through the Web server. The association item identifies the eDirectory object whose data is to be changed.
The company hires a new employee. The new employee's data is entered into the company's Human Resource (HR) system.
The Identity Manager driver for the HR system creates a new User object in eDirectory. User attributes include Given Name, Surname, and manager.
The following <add> event for the new User object is submitted to the Manual Task Service driver Subscriber channel:
<nds dtdversion="1.1" ndsversion="8.6"> <input> <add class-name="User" src-dn="\PERIN-TAO\novell\Provo\Joe" src-entry-id="281002" timestamp="1023314433#2"> <add-attr attr-name="Surname"> <value type="string">the Intern</value> <add-attr> <add-attr attr-name="Given Name"> <value type="string">Joe</value> <add-attr> <add-attr attr-name="manager"> <value type="dn">\PERIN-TAO\novell\Provo\phb</value> <add-attr> </add> </input> </nds>
The Subscriber Command Transformation policy uses the manager DN value to issue a query to eDirectory for the manager's e-mail address and the manager's assistant's DN.
If the manager has an assistant, the Subscriber Command Transformation issues a query to eDirectory for the assistant's e-mail address.
The Subscriber Command Transformation constructs a <mail> element and replaces the <add> command element with the <mail> element.
<nds dtdversion="1.1" ndsversion="8.6"> <input> <mail src-dn="\PERIN-TAO\novell\Provo\Joe"> <to>phb@company.com</to> <cc>carol@company.com</cc> <bcc>HR@company.com</bcc> <reply-to>HR@company.com</reply-to> <subject>Room Assignment Needed for: Joe the Intern</subject> <message mime-type="text/html"> <stylesheet>process_template.xsl</stylesheet> <template>html_msg_template.xml</template> <replacement-data> <item name="manager">JStanley</item> <item name="given-name">Joe</item> <item name="surname">the Intern</item> <url-data> <item name="file">process_template.xsl</item> <url-query> <item name="template">form_template.xml</item> <item name="responder-dn" protect="yes">\PERIN-TAO\novell\Provo\phb</item> <item name="responder-dn" protect="yes">\PERIN-TAO\novell\Provo\carol</item> <item name="subject-name">Joe the Intern</item> </url-query> </url-data> </replacement-data> <resource cid="css-1">novdocmain.css</resource> </message> </mail> </input> </nds>
The Manual Task Service driver Subscriber receives the <mail> element from Identity Manager.
The Subscriber generates an association value because the <mail> element has a src-dn attribute.
The Subscriber constructs a replacement data document from the data in the <mail> element for use in constructing the e-mail message. The URL has various data items in the query portion (that portion of the URL that follows the ‘?' character and is in bold). The Publisher channel Web server uses these data items when the URL is submitted to the Web server as an HTTP GET request.
<replacement-data> <item name="manager">JStanley</item> <item name="given-name">Joe</item> <item name="surname">the Intern</item> <item name="template">form_template.xml</item> <item name="responder-dn">\PERIN-TAO\novell\Provo\phb</item> <item name="responder-dn">\PERIN-TAO\novell\Provo\carol</item> <item name="subject-name">Joe the Intern</item> <item name="association">1671b2:ee4246a561:-7fff:192.168.0.1</item> <item name="url-base">https://192.168.0.1:8180</item> <item name="url-file">process_template.xsl</item> <item name="protected-data"> rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA 1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlw YXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cH VyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECEIBRohGPjxEAgEKdXEAfgAEAAAA uMSFqzHXwtMx8DkRCzkK1O46sEz1u51o3MDvHn+3+fE6SphHr3Hgjli4Jp3rUk H7y6dXvcu7iq21Vs+9o6iZVzljTIJX/jjRrVZlR5JOuRNhk8JHFZ8FhgsmiIAH /Fs61k4WmyEcmYfWmfqfBVeThr3Avwcim6ranS5Mm2U5i9Z/DBR13pIAobMpWY kMaz4+G9e6oovBsiPdp6jSPzbFxcgALI2AMBh4hf9jnx7zOU9Uvd9qXtaE2rR0 AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT</item> <item name="url-query">template=form_template.xml&responder-dn=%5CPERIN-TAO%5Cnovell%5Cprovo%5Cphb&responder-dn=%5CPERIN-TAO%5Cnovell%5Cprovo%5Ccarol&subject-name=Joe+the+Intern&association=1671b2%3Aee4246a561%3A-7fff%3A192.168.0.1&protected-data=rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB%2BAAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB%2BAAJ4cHVyAAJbQqzzF%2FgGCFTgAgAAeHAAAAAPMA0ECEIBRohGPjxEAgEKdXEAfgAEAAAAuMSFqzHXwtMx8DkRCzkK1O46sEz1u51o3MDvHn%2B3%2BfE6SphHr3Hgjli4Jp3rUkH7y6dXvcu7iq21Vs%2B9o6iZVzljTIJX%2FjjRrVZlR5JouRNhk8JHFZ8FhgsmiIAH%2FFs61k4WmyEcmYfWmfqfBVeThr3Avwcim6ranS5Mm2U5i9Z%2FDBR13pIAobMpWYkMaz4%2BG9e6oovBsiPdp6jSPzbFxcgALI2AMBh4hf9jnx7zOU9Uvd9qXtaE2rR0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT</item> <item name="url"> https://192.168.0.1:8180/process_template.xsl?template=form_template.xml&responder-dn=%5CPERIN-TAO%5Cnovell%5CProvo%5Cphb&responder-dn=%5CPERIN-TAO%5Cnovell%5Cprovo%5Ccarol&subject-name=Joe+the+Intern&association=1671b2%3Aee4246a561%3A-7fff%3A192.168.0.1&protected-data=rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB%2BAAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB%2BAAJ4cHVyAAJbQqzzF%2FgGCFTgAgAAeHAAAAAPMA0ECEIBRohGPjxEAgEKdXEAfgAEAAAAuMSFqzHXwtMx8DkRCzkK1O46sEz1u51o3MDvHn%2B3%2BfE6SphHr3Hgjli4Jp3rUkH7y6dXvcu7iq21Vs%2B9o6iZVzljTIJX%2FjjRrVZlR5JouRNhk8JHFZ8FhgsmiIAH%2FFs61k4WmyEcmYfWmfqfBVeThr3Avwcim6ranS5Mm2U5i9Z%2FDBR13pIAobMpWYkMaz4%2BG9e6oovBsiPdp6jSPzbFxcgALI2AMBh4hf9jnx7zOU9Uvd9qXtaE2rR0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREV </item> </replacement-data>
The Subscriber processes html_msg_template.xml with process_template.xsl. The replacement data document is passed as a parameter to the style sheet. The html_msg_template.xml document follows. The replacement tokens are replaced by the value of the corresponding <item> elements in the replacement data document.
<html xmlns:form="http://www.novell.com/dirxml/manualtask/form"> <head> </head> <body> <link href="cid:css-1" rel="style sheet" type="text/css"/> <p> Dear $manager$, </p> <p> This message is to inform you that your new employee <b>$given-name$ $surname$</b> has been hired. </p> <p> Please assign a room number for this individual. Click <a href="$url$">Here</a> to do this. </p> <p> Thank you,<br/> HR<br/> HR Department </p> </body> </html>
The generated e-mail document follows. The replacement tokens have been replaced with the values of the corresponding <item> elements from the replacement data document.
<html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <link href="cid:css-1" rel="style sheet" type="text/css"> <p> Dear J Stanley, </p> <p> This message is to inform you that your new employee <b>Joe the Intern</b> has been hired. </p> <p> Please assign a room number for this individual. Click <a href="https://192.168.0.1:8180/process_template.xsl?template=form_template.xml&responder-dn=%5CPERIN-TAO%5Cnovell%5CProvo%5Cphb&responder-dn=%5CPERIN-TAO%5Cnovell%5CProvo%5Ccarol&subject-name=Joe+the+Intern&association=45f0e3%3Aee45e07709%3A-7fff%3A192.168.0.1&protected-data=rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB%2BAAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB%2BAAJ4cHVyAAJbQqzzF%2FgGCFTgAgAAeHAAAAAPMA0ECIr9Z1iG%2BO3BAgEKdXEAfgAEAAAAuMU%2FSoFRkebvh2d5SqalF91ttjRY5lyyW5%2B%2FFIfOuDdYikYiDbOJb6607S0dPHjQzeVgu6ptIvGqaEQOEjBjDkY%2Bi4VoVjUSXS3a8fiXB8moMdPtLJ%2FGyE8QiwbT4xbkQy48i02k99F2vGmlenRpSP6dD31kZl3dpJ0mGgq2yL%2FeFaynKyqnjkHLMexcqD8WlVooaRl1k2RPk5vDYvC8o2bn22OKKbOnSRM5YlPS0iWzxo0JVcnVVyt0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT">Here</a> to do this. </p> <p> Thank you,<br> HR<br> HR Department </p> </body> </html>
The SMTP e-mail message is sent to the manager and to the manager's assistant.
The Subscriber returns an XML document containing a <status> element and an <add-association> element to Identity Manager.
The manager opens the e-mail message and clicks the
link.The manager's Web browser submits the URL to the Publisher channel Web server as an HTTP GET request.
The Web server constructs the following replacement data document. Most of the data items come from the query portion of the URL. The exceptions are the automatically generated items url and url-base.
<replacement-data> <item name="association">45f0e3:ee45e07709:-7fff:192.168.0.1</item> <item name="protected-data">rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHVyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECIr9Z1iG+O3BAgEKdXEAfgAEAAAAuMU/SoFRkebvh2d5SqalF91ttjRY5lyyW5+/FifOuDdYikYiDbOJb6607S0dPHjQzeVgu6ptIvGqaEQOEjBjDkY+i4VoVjUSXS3a8fiXB8moMdPtLJ/GyE8QiwbT4xbkQy48i02k99F2vGmlenRpSP6dD31kZl3dpJ0mGgq2yL/eFaynKyqnjkHLMexcqD8WlVooaRl1k2RPk5vDYvC8o2bn22OKKbOnSRM5YlPS0iWzxo0JVcnVVyt0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT</item> <item name="template">form_template.xml</item> <item name="responder-dn">\PERIN-TAO\novell\Provo\phb</item> <item name="responder-dn">\PERIN-TAO\novell\Provo\carol</item> <item name="subject-name">Joe the Intern</item> <item name="url-base">https://192.168.0.1:8180</item> <item name="url">https://192.168.0.1:8180</item> </replacement-data>
The Web server processes the form_templates.xml document with the process_template.xsl style sheet. Replacement tokens and action elements are in bold. Note that various data items are placed in hidden INPUT elements so that the data items are passed to the Web server as part of the HTML POST data.
In addition, there is a $query:roomNumber$ replacement token, which retrieves the current value of the employee's roomNumber attribute (if any).
<html xmlns:form="http://www.novell.com/dirxml/manualtask/form"> <head> <title>Enter room number for $subject-name$</title> </head> <body> <link href="novdocmain.css" rel="style sheet" type="text/css"/> <br/><br/><br/><br/> <form class="myform" METHOD="POST" ACTION="$url-base$/process_template.xsl"> <table cellpadding="5" cellspacing="10" border="1" align="center"> <tr><td> <input TYPE="hidden" name="template" value="post_form.xml"/> <input TYPE="hidden" name="subject-name" value="$subject-name$"/> <input TYPE="hidden" name="association" value="$association$"/> <input TYPE="hidden" name="response-style sheet" value="process_template.xsl"/> <input TYPE="hidden" name="response-template" value="post_response.xml"/> <input TYPE="hidden" name="auth-style sheet" value="process_template.xsl"/> <input TYPE="hidden" name="auth-template" value="auth_response.xml"/> <input TYPE="hidden" name="protected-data" value="$protected-data$"/> <form:if-single-item name="responder-dn"> You are:<br/> <input TYPE="hidden" name="responder-dn" value="$responder-dn$"/> $responder-dn$ </form:if-single-item> <form:if-multiple-items name="responder-dn"> Indicate your identity:<br/> <form:menu name="responder-dn"/> </form:if-multiple-items> </td></tr> <tr><td> Enter your password: <br/><input name="password" TYPE="password" SIZE="20" MAXLENGTH="40"/> </td></tr> <tr><td> Enter room number for $subject-name$:<br/> <input TYPE="text" NAME="room-number" SIZE="20" MAXLENGTH="20" value="$query:roomNumber$"/> </td></tr> <tr><td> <input TYPE="submit" value="Submit"/> <input TYPE="reset" value="Clear"/> </td></tr> </table> </form> </body> </html>
The following HTML page is the result:
<html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Enter room number for Joe the Intern</title> </head> <body> <link href="novdocmain.css" rel="style sheet" type="text/css"> <br><br><br><br> <form class="myform" METHOD="POST" ACTION="https://192.168.0.1:8180/process_template.xsl"> <table cellpadding="5" cellspacing="10" border="1" align="center"> <tr> <td> <input TYPE="hidden" name="template" value="post_form.xml"> <input TYPE="hidden" name="subject-name" value="Joe the Intern"> <input TYPE="hidden" name="association" value="45f0e3:ee45e07709:-7fff:192.168.0.1"> <input TYPE="hidden" name="response-style sheet" value="process_template.xsl"> <input TYPE="hidden" name="response-template" value="post_response.xml"> <input TYPE="hidden" name="auth-style sheet" value="process_template.xsl"> <input TYPE="hidden" name="auth-template" value="auth_response.xml"> <input TYPE="hidden" name="protected-data" value="rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHVyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECIr9Z1iG+O3BAgEKdXEAfgAEAAAAuMU/SoFRkebvh2d5SqalF91ttjRY5lyyW5+/FIfOuDdYikYiDbOJb6607S0dPHjQzeVgu6ptIvGqaEQOEjBjDkY+i4VoVjUSXS3a8fiXB8moMdPtLJ/GyE8QiwbT4xbkQy48i02k99F2vGmlenRpSP6dD31kZl3dpJ0mGgq2yL/eFaynKyqnjkHLMexcqD8WlVooaRl1k2RPk5vDYvC8o2bn22OKKbOnSRM5YlPS0iWzxo0JVcnVVyt0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT"> Indicate your identity:<br> <SELECT name="responder-dn"> <OPTION selected>\PERIN-TAO\novell\Provo\phb</OPTION> <OPTION>\PERIN-TAO\novell\Provo\carol</OPTION> </SELECT> </td> </tr> <tr> <td> Enter your password: <br> <input name="password" TYPE="password" SIZE="20" MAXLENGTH="40"> </td> </tr> <tr> <td> Enter room number for Joe the Intern:<br> <input TYPE="text" NAME="room-number" SIZE="20" MAXLENGTH="20" value=""> </td> </tr> <tr> <td> <input TYPE="submit" value="Submit"> <input TYPE="reset" value="Clear"> </td> </tr> </table> </form> </body> </html>
The manager selects his or her eDirectory DN from the Web page menu, enters the password, enters the room number for the new employee, and clicks
.The Web browser submits an HTTP POST request to the Web server.
The Web server constructs the following replacement data document from the POST data. Note the data that was in the various hidden <INPUT> elements.
<replacement-data> <item name="room-number">cubicle 1234</item> <item name="template">post_form.xml</item> <item name="response-template">post_response.xml</item> <item name="auth-template">auth_response.xml</item> <item name="association">45f0e3:ee45e07709:-7fff:192.168.0.1</item> <item name="password" is-sensitive="true"><!-content suppressed ?</item> <item name="protected-data">rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHVyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECIr9Z1iG+O3BAgEKdXEAfgAEAAAAuMU/SoFRkebvh2d5SqalF91ttjRY5lyyW5+/FifOuDdYikYiDbOJb6607S0dPHjQzeVgu6ptIvGqaEQOEjBjDkY+i4VoVjUSXS3a8fiXB8moMdPtLJ/GyE8QiwbT4xbkQy48i02k99F2vGmlenRpSP6dD31kZl3dpJ0mGgq2yL/eFaynKyqnjkHLMexcqD8WlVooaRl1k2RPk5vDYvC8o2bn22OKKbOnSRM5YlPS0iWzxo0JVcnVVyt0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT</item> <item name="responder-dn">\PERIN-TAO\novell\Provo\phb</item> <item name="auth-style sheet">process_template.xsl</item> <item name="response-style sheet">process_template.xsl</item> <item name="subject-name">Joe the Intern</item> <item name="url-base">https://192.168.0.1:8180</item> <item name="url">https://192.168.0.1:8180</item> </replacement-data>
The Web server verifies that the value of item responder-dn matches a responder-dn value contained in the protected data. If the value does not match, the Web server aborts the request. If the value does match, processing continues.
The Web server submits a <check-object-password> XDS request to Identity Manager on the Publisher channel to authenticate the user submitting the HTTP POST request.
<nds dtdversion="1.0" ndsversion="8.6"> <source> <product build="20020606_0824" instance="Manual Task Service Driver" version="1.1a">DirXML Manual Task Service Driver</product> <contact>Novell, Inc.</contact> </source> <input> <check-object-password dest-dn="\PERIN-TAO\novell\Provo\phb" event-id="chkpwd"> <password><!-- content suppressed --></password> </check-object-password> </input> </nds>
Identity Manager returns <status level=”success”>. If Identity Manager returns other than success, then the templates specified by the data item auth_template and the style sheet specified by the data item auth_stylesheet are used to construct a Web page that is returned as the result of the POST.
The Web server processes the post_form.xml template with the process_template.xsl style sheet to generate an XDS document.
<nds> <input> <modify class-name="User" src-dn="not-applicable" event-id=”wfmod”> <association>$association$</association> <modify-attr attr-name="roomNumber"> <remove-all-values/> <add-value> <value>$room-number$</value> </add-value> </modify-attr> </modify> </input> </nds>
The Publisher submits the created XDS document to Identity Manager.
<nds> <input> <modify class-name="User" src-dn="not-applicable" event-id=”wfmod”> <association>45f0e3:ee45e07709:-7fff:192.168.0.1</association> <modify-attr attr-name="roomNumber"> <remove-all-values/> <add-value> <value>cubicle 1234</value> </add-value> </modify-attr> </modify> </input> </nds>
Identity Manager returns a result document.
<nds dtdversion="1.1" ndsversion="8.6"> <source> <product version="2.0">Identity Manager</product> <contact>Novell, Inc.</contact> </source> <output> <status event-id="wfmod" level="success"></status> </output> </nds>
The Web server adds the replacement data item post-status (and possibly the replacement data item post-status-message) to the replacement data document.
<replacement-data>
<item name="room-number">cubicle 1234</item>
<item name="template">post_form.xml</item>
<item name="response-template">post_response.xml</item>
<item name="auth-template">auth_response.xml</item>
<item name="association">45f0e3:ee45e07709:-7fff:192.168.0.1</item>
<item name="password" is-sensitive=”true”><!-content suppressed ?</item>
<item name="protected-data">rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHVyAAJbQqzzF/gGCFTgAgAAeHAAAAAPMA0ECIr9Z1iG+O3BAgEKdXEAfgAEAAAAuMU/SoFRkebvh2d5SqalF91ttjRY5lyyW5+/FifOuDdYikYiDbOJb6607S0dPHjQzeVgu6ptIvGqaEQOEjBjDkY+i4VoVjUSXS3a8fiXB8moMdPtLJ/GyE8QiwbT4xbkQy48i02k99F2vGmlenRpSP6dD31kZl3dpJ0mGgq2yL/eFaynKyqnjkHLMexcqD8WlVooaRl1k2RPk5vDYvC8o2bn22OKKbOnSRM5YlPS0iWzxo0JVcnVVyt0AANQQkV0ABBQQkVXaXRoTUQ1QW5kREVT</item>
<item name="responder-dn">\PERIN-TAO\novell\Provo\phb</item>
<item name="auth-style sheet">process_template.xsl</item>
<item name="response-style sheet">process_template.xsl</item>
<item name="subject-name">Joe the Intern</item>
<item name="url-base">https://192.168.0.1:8180</item>
<item name="url">https://192.168.0.1:8180</item>
<status event-id="" level="success"></status>
<item name="post-status">success</item>
</replacement-data>
The Web server processes the post_response.xml template with the process_template.xsl style sheet.
<htm xmlns:form="http://www.novell.com/dirxml/manualtask/form"> <head> <title>Result of post for $subject-name$</title> </head> <body> <link href="novdocmain.css" rel="style sheet" type="text/css"/> <br/><br/><br/><br/> <table class="formtable" cellpadding="5" cellspacing="20" border="1" align="center"> <tr> <td> DirXML reported status = $post-status$ </td> </tr> <form:if-item-exists name="post-status-message"> <tr> <td> Status message was: $post-status-message$ </td> </tr> </form:if-item-exists> </table> </body> </html>
The resulting Web page is returned as the result of the HTTP POST. The second row of the table is not present because the post-status-message referred to by the <form:if-item-exists> element is not present in the replacement data document.
<html> <head> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Result of post for Joe the Intern</title> </head> <body> <link href="novdocmain.css" rel="style sheet" type="text/css"> <br><br><br><br> <table class="formtable" cellpadding="5" cellspacing="20" border="1" align="center"> <tr> <td> DirXML reported status = success </td> </tr> </table> </body> </html>