Well,

JSF spec tell impls to provide a HTML 4.0.1 compliant RenderKit,
that's what MyFaces does. So currently there is no XHTML support,
AFIAK.

-Matthias

On 2/15/06, Jeffrey A Kenward <[EMAIL PROTECTED]> wrote:
>
> We're using MyFaces 1.1.1 in our applications.  We're using client-side
> state saving and the page is not validating as XHTML Transitional compliant
> (using the W3C service).
>
> Is there a work around for this to make it compliant?
>
> Thanks for any help!
>
> -Jeff
>
> Here's the faces-config.xml file:
>
> <?xml version="1.0"?>
>
> <!DOCTYPE faces-config PUBLIC
>   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
>   "http://java.sun.com/dtd/web-facesconfig_1_0.dtd";>
>
> <faces-config>
>
>   <application>
>
> <view-handler>org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl</view-handler>
>     <locale-config>
>       <default-locale>en</default-locale>
>      </locale-config>
>     <message-bundle>ApplicationMessages</message-bundle>
>   </application>
>
>   <navigation-rule>
>     <description> Left Navigation</description>
>     <navigation-case>
>       <description>User clicks List Users link</description>
>       <from-outcome>userList</from-outcome>
>       <to-view-id>/userList.jsp</to-view-id>
>     </navigation-case>
>   </navigation-rule>
>
>       <navigation-rule>
>         <description>Create a user </description>
>         <from-view-id>/createUser.jsp</from-view-id>
>         <navigation-case>
>             <description>User created successfully</description>
>             <from-outcome>userCreated</from-outcome>
>             <to-view-id>/userCreated.jsp</to-view-id>
>         </navigation-case>
>     </navigation-rule>
>
>      <navigation-rule>
>         <description> Confirmation page after user created</description>
>         <from-view-id>/userCreated.jsp</from-view-id>
>         <navigation-case>
>             <description>User clicks Select Users link</description>
>             <from-outcome>selectUsers</from-outcome>
>             <to-view-id>/selectUsers.jsp</to-view-id>
>         </navigation-case>
>     </navigation-rule>
>
>      <navigation-rule>
>         <description> List of users in a table</description>
>         <from-view-id>/userList.jsp</from-view-id>
>         <navigation-case>
>             <description>User clicks Create Another User</description>
>             <from-outcome>create</from-outcome>
>             <to-view-id>/createUser.jsp</to-view-id>
>         </navigation-case>
>         <navigation-case>
>             <description>User clicks the hyperlink for the
> group</description>
>             <from-outcome>group</from-outcome>
>             <to-view-id>/groupDetail.jsp</to-view-id>
>         </navigation-case>
>         <navigation-case>
>             <description>User clicks the hyperlink for the user
> id</description>
>             <from-outcome>user</from-outcome>
>             <to-view-id>/userDetail.jsp</to-view-id>
>         </navigation-case>
>        <navigation-case>
>          <description>User clicks the Select Users link</description>
>          <from-outcome>selectUsers</from-outcome>
>          <to-view-id>/selectUsers.jsp</to-view-id>
>        </navigation-case>
>     </navigation-rule>
>
>     <navigation-rule>
>         <description>Users displayed in various controls </description>
>         <from-view-id>/selectUsers.jsp</from-view-id>
>         <navigation-case>
>             <description>User clicks Create User button</description>
>             <from-outcome>create</from-outcome>
>             <to-view-id>/createUser.jsp</to-view-id>
>         </navigation-case>
>       <navigation-case>
>         <description>User clicks Save button</description>
>         <from-outcome>userSelected</from-outcome>
>         <to-view-id>/userSelected.jsp</to-view-id>
>       </navigation-case>
>     </navigation-rule>
>
>   <navigation-rule>
>     <description>Users selected page </description>
>     <from-view-id>/userSelected.jsp</from-view-id>
>     <navigation-case>
>       <description>User clicks the OK button</description>
>       <from-outcome>users</from-outcome>
>       <to-view-id>/userList.jsp</to-view-id>
>     </navigation-case>
>   </navigation-rule>
>
>       <navigation-rule>
>         <description>User detail page </description>
>         <from-view-id>/userDetail.jsp</from-view-id>
>         <navigation-case>
>             <description>User clicks the OK button</description>
>             <from-outcome>users</from-outcome>
>             <to-view-id>/userList.jsp</to-view-id>
>         </navigation-case>
>      </navigation-rule>
>
>        <navigation-rule>
>         <description>Group detail page </description>
>         <from-view-id>/groupDetail.jsp</from-view-id>
>         <navigation-case>
>             <description>User clicks the OK button</description>
>             <from-outcome>users</from-outcome>
>             <to-view-id>/userList.jsp</to-view-id>
>         </navigation-case>
>      </navigation-rule>
>
>     <!-- The main backing bean for this sample application.  This bean is in
> session scope -->
>     <managed-bean>
>         <description>
>           The bean that holds information to create a user and holds the
> list of users
>         </description>
>         <managed-bean-name>user</managed-bean-name>
>         <managed-bean-class>com.dteco.pib.view.UserBean</managed-bean-class>
>         <managed-bean-scope>request</managed-bean-scope>
>     </managed-bean>
>
>   <!-- The selectUser Bean backs the Select Users page.  -->
>   <managed-bean>
>     <description>
>           The bean that gets the list of all users
>     </description>
>     <managed-bean-name>userList</managed-bean-name>
>     <managed-bean-class>com.dteco.pib.view.UserListBean</managed-bean-class>
>     <managed-bean-scope>session</managed-bean-scope>
>   </managed-bean>
>
>   <!-- The selectUser Bean backs the Select Users page.  -->
>   <managed-bean>
>     <description>
>           The bean that holds the selected users
>     </description>
>     <managed-bean-name>selectUser</managed-bean-name>
>
> <managed-bean-class>com.dteco.pib.view.SelectUserBean</managed-bean-class>
>     <managed-bean-scope>request</managed-bean-scope>
>   </managed-bean>
>
>   <!-- the userDetails bean holds the user selected from the list of users
> -->
>   <managed-bean>
>     <managed-bean-name>userDetails</managed-bean-name>
>
> <managed-bean-class>com.dteco.pib.process.user.UserTO</managed-bean-class>
>     <managed-bean-scope>request</managed-bean-scope>
>   </managed-bean>
>
>   <!-- the userDetails bean holds the user selected from the list of users
> -->
>   <managed-bean>
>     <managed-bean-name>groupDetails</managed-bean-name>
>
> <managed-bean-class>com.dteco.pib.process.user.GroupTO</managed-bean-class>
>     <managed-bean-scope>request</managed-bean-scope>
>     <managed-property>
>       <property-name>group</property-name>
>       <null-value/>
>     </managed-property>
>   </managed-bean>
>
> </faces-config>
>
> Here's the relevant web.xml entries:
>
>   <context-param>
>     <param-name>javax.faces.CONFIG_FILES</param-name>
>     <param-value>
>             /WEB-INF/faces-config.xml
>     </param-value>
>     <description>
>             Comma separated list of URIs of (additional) faces config files.
>             (e.g. /WEB-INF/my-config.xml)
>             See JSF 1.0 PRD2, 10.3.2
>     </description>
>   </context-param>
>
>   <context-param>
>     <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
>     <param-value>client</param-value>
>     <description>
>             State saving method: "client" or "server" (= default)
>             See JSF Specification 2.5.2
>     </description>
>   </context-param>
>
>   <context-param>
>
> <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
>     <param-value>true</param-value>
>     <description>
>             This parameter tells MyFaces if javascript code should be
> allowed in the
>             rendered HTML output.
>             If javascript is allowed, command_link anchors will have
> javascript code
>             that submits the corresponding form.
>             If javascript is not allowed, the state saving info and nested
> parameters
>             will be added as url parameters.
>             Default: "true"
>     </description>
>   </context-param>
>
>   <context-param>
>
> <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
>     <param-value>false</param-value>
>     <description>
>             Default: "false"
>     </description>
>   </context-param>
>
>   <context-param>
>     <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
>     <param-value>false</param-value>
>     <description>
>             Default: "false"
>     </description>
>   </context-param>
>
>   <context-param>
>     <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
>     <param-value>true</param-value>
>     <description>
>             If true, rendered HTML code will be formatted, so that it is
> "human readable".
>             i.e. additional line separators and whitespace will be written,
> that do not
>             influence the HTML code.
>             Default: "true"
>     </description>
>   </context-param>
>
>
>   <!-- Tiles configuration definition files and a listener need to be
> defined.
>   the listener will initialize JspTilesViewHandlerImpl with tiles
> definitions.
>     -->
>   <context-param>
>     <param-name>tiles-definitions</param-name>
>     <param-value>/WEB-INF/tiles-def.xml</param-value>
>   </context-param>-->
>
>   <!-- Listener, that does all the startup work (configuration, init). -->
>   <listener>
>
> <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
>   </listener>
>
>   <!-- Faces Servlet -->
>   <servlet>
>     <servlet-name>Faces Servlet</servlet-name>
>     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
>     <load-on-startup>1</load-on-startup>
>   </servlet>
>
>   <!-- extension mapping -->
>   <servlet-mapping>
>     <servlet-name>Faces Servlet</servlet-name>
>     <url-pattern>*.faces</url-pattern>
>   </servlet-mapping>
>
>   <!-- The Welcome File List -->
>   <welcome-file-list>
>     <welcome-file>index.jsp</welcome-file>
>   </welcome-file-list>
>
>
> Here's the code source: (userList.jsp)
>
> <%@ taglib uri="http://java.sun.com/jsf/html"; prefix="h" %>
> <%@ taglib uri="http://java.sun.com/jsf/core"; prefix="f" %>
> <%@ taglib uri="http://myfaces.apache.org/tomahawk";
> prefix="t"%>
>
> <div id="pageBody">
> <f:subview id="userListSubview">
>   <h:form id="userListForm">
>
>   <h:outputText value="Here is the list of users in a table"
> styleClass="h3"/>
>
>        <h:dataTable frame="border" border="3" value="#{userList.userTable}"
> var="userTO">
>
>         <h:column>
>           <f:facet name="header">
>                         <h:outputText value="First Name"/>
>                       </f:facet>
>         <h:outputText value="#{userTO.firstName}"/>>
>         </h:column>
>
>         <h:column>
>           <f:facet name="header">
>                         <h:outputText value="Last Name"/>
>                       </f:facet>
>         <h:outputText value="#{userTO.lastName}"/>>
>         </h:column>
>
>         <h:column>
>           <f:facet name="header">
>             <h:outputText value="Group"/>
>           </f:facet>
>             <h:commandLink action="#{userList.getGroupDetails}">
>               <f:param name="selectedGroupName" value="#{userTO.group}"/>
>               <h:outputText value="#{userTO.group}"/>
>            </h:commandLink>
>         </h:column>
>
>         <h:column>
>           <f:facet name="header">
>                         <h:outputText value="User Id"/>
>                       </f:facet>
>            <h:commandLink action="#{userList.getUserDetails}" >
>              <h:outputText value="#{userTO.userId}"/>
>            </h:commandLink>
>         </h:column>
>
>       </h:dataTable>
>
>       <h:commandButton type="submit" value="Create User" action="create"/>
>       <h:commandLink value="Select Users" action="#{userList.getUsers}"/>
>
>     </h:form>
> </f:subview>
> </div>
>
> Here's the browser source:
>
>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
>
>  <html xmlns="http://www.w3.org/1999/xhtml"lang="en"; xml:lang="en">
>
>  <head>
>
>             <meta http-equiv="content-type"  content="text/html;
> charset=iso-8859-1" />
>         <meta http-equiv="Pragma"        content="no-cache" />
>         <meta http-equiv="Cache-Control" content="no-cache" />
>
>         <meta http-equiv="Cache-Control" content="max-age=0" />
>         <meta http-equiv="Cache-Control" content="s-max-age=0" />
>         <meta http-equiv="Cache-Control" content="must-revalidate" />
>         <meta http-equiv="Cache-Control" content="no-store" />
>         <meta http-equiv="expires"       content="0" />
>     <link type="text/css" rel="stylesheet"
> href="/pib/layout/css/scaffold.css"/>
>     <link type="text/css" rel="stylesheet"
> href="/pib/layout/css/examples.css"/>
>
>     <title>PIB: User List</title>
>
>
>  </head>
>
>  <body>
>
>   <div id="page">
>
>
>      <div id="bannerHeader">
>
>       <img src="layout/images/keys_blue_banner.jpg"
> width="575" height="79"
>         id="headerImage" alt="Application Name"/>
>       <img src="layout/images/blue_logo.gif" height="79"
> width="158" id="headerLogo"
>         alt="DTE Energy, Inc. Logo"/>
>
>       <div id="bannerTitleArea">
>
>        <h5 class="bannerTitleText">Project In A Baggie</h5>
>       </div>
>     </div>
>
>
>
>
>
>  <div id="secondaryNav">
>
>      <form id="secondaryNavView:secondaryNav"
> name="secondaryNavView:secondaryNav" method="post"
> action="/pib/userList.faces"
> enctype="application/x-www-form-urlencoded"><input
> type="hidden" name="jsf_tree_64" id="jsf_tree_64"
> value="H4sIAAAAAAAAAK1UzW7TQBCehoQKFNQWDhwQCARSKEJ26v6lRFwIKrQKLaIpAuUQbext4mKvt+txSC7cuPcBkLijPgFPwAmuvARXzuzGduJasZJKXKyd8cx838zOt2d/oOALeOGJjkY4MbtUcwdHxKS+NLljmwRtj2kNQekBisDEQNBXhJEOFQ/Gzprnco9Rhtvvb/7+svv3Vw7yTbjSMru2Ywnph91mXULoIYQeQegJCH1WiGodFlpmbNUc4vsI1+vHpEd0h7COLuNt1pFhxXHYjnUCnyDXhPmWQkaZcqOZyNlvH1MTq30eiIjq/5hG9ftZ6cfS59NvOYA+B4BLvqIBgfoWpD2XsgspGxCWFcm+FpIY9aN10XW0l/KzHyAPsG6zDwj5rudSnq6hDtcQij5xuSMpDhzqZwXlj8hJ5s95RcXyzMxk3+ImR7g/hfK2J1zFh5oes4gY7JGezCpNzjrc2SOuvM+ax5DYjAqExWTmW5t+TBNKjzWXQfiqKShBeuhTEZWQPB5NYS9v1yXMiibesq0NrlJvyXJc2G7Uj3LdRlgauw6Cdm8GrvkRkdluvkH7GPLYTJfOT4YacisjFGTOyooEupM1+ZrnBC4Lq29JZUSS0ZRktEgypz/ffV30l514xeeGcE/U1BEudymxqJiAW86Yw7mgtaFViSxjVDmBoQ5PJ6SuzrgTsv17We2/JoK4FNXKDWtW+ASgraFViqzNc4zXL8J4YxrjCRMyVpPohpFEN8oXQDfUHjycsnDPCZIGaTs03IjKWDOPZ9PMswBRyjhEXEtOM+5gPdZSMZCirNs+qsciVtNC7Iy1hHA36/LUu/DG85Dzf4ls1BfjBgAA"
> /><input type="hidden" name="jsf_state_64" id="jsf_state_64"
> value="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"
> /><input type="hidden" name="jsf_viewid" id="jsf_viewid"
> value="/userList.jsp" />
>
>
>
>        <a id="secondaryNavView:secondaryNav:home"
> href="/pib/home.faces">Home</a>
>
>
>
>
>        <a id="secondaryNavView:secondaryNav:sampleStyles"
> href="/pib/sample.faces">Sample Styles</a>
>
>
>
>        <a id="secondaryNavView:secondaryNav:faqs"
> href="/pib/faqs.faces">FAQs</a>
>
>
>
>        <a id="secondaryNavView:secondaryNav:javadoc"
> href="http://javadoc.dteco.com";>DTE Javadoc Repository</a>
>
>
>
>        <a id="secondaryNavView:secondaryNav:sdpc"
> href="http://sdpc.dteco.com";>SDPC</a>
>
>
>    <input type="hidden"
> name="secondaryNavView:secondaryNav_SUBMIT" value="1"
> /></form>
>
>  </div>
>
>
>
>  <div id="primaryNav">
>
>      <form id="primaryNavSubview:primaryNav"
> name="primaryNavSubview:primaryNav" method="post"
> action="/pib/userList.faces"
> enctype="application/x-www-form-urlencoded"><input
> type="hidden" name="jsf_tree_64" id="jsf_tree_64"
> value="H4sIAAAAAAAAAK1UzW7TQBCehoQKFNQWDhwQCARSKEJ26v6lRFwIKrQKLaIpAuUQbext4mKvt+txSC7cuPcBkLijPgFPwAmuvARXzuzGduJasZJKXKyd8cx838zOt2d/oOALeOGJjkY4MbtUcwdHxKS+NLljmwRtj2kNQekBisDEQNBXhJEOFQ/Gzprnco9Rhtvvb/7+svv3Vw7yTbjSMru2Ywnph91mXULoIYQeQegJCH1WiGodFlpmbNUc4vsI1+vHpEd0h7COLuNt1pFhxXHYjnUCnyDXhPmWQkaZcqOZyNlvH1MTq30eiIjq/5hG9ftZ6cfS59NvOYA+B4BLvqIBgfoWpD2XsgspGxCWFcm+FpIY9aN10XW0l/KzHyAPsG6zDwj5rudSnq6hDtcQij5xuSMpDhzqZwXlj8hJ5s95RcXyzMxk3+ImR7g/hfK2J1zFh5oes4gY7JGezCpNzjrc2SOuvM+ax5DYjAqExWTmW5t+TBNKjzWXQfiqKShBeuhTEZWQPB5NYS9v1yXMiibesq0NrlJvyXJc2G7Uj3LdRlgauw6Cdm8GrvkRkdluvkH7GPLYTJfOT4YacisjFGTOyooEupM1+ZrnBC4Lq29JZUSS0ZRktEgypz/ffV30l514xeeGcE/U1BEudymxqJiAW86Yw7mgtaFViSxjVDmBoQ5PJ6SuzrgTsv17We2/JoK4FNXKDWtW+ASgraFViqzNc4zXL8J4YxrjCRMyVpPohpFEN8oXQDfUHjycsnDPCZIGaTs03IjKWDOPZ9PMswBRyjhEXEtOM+5gPdZSMZCirNs+qsciVtNC7Iy1hHA36/LUu/DG85Dzf4ls1BfjBgAA"
> /><input type="hidden" name="jsf_state_64" id="jsf_state_64"
> value="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"
> /><input type="hidden" name="jsf_viewid" id="jsf_viewid"
> value="/userList.jsp" />
>
>
>
>        <a id="primaryNavSubview:primaryNav:createUser"
> href="/pib/createUser.faces">Create User</a>
>
>       <a href="#"
> onclick="clear_primaryNavSubview_3AprimaryNav();document.forms['primaryNavSubview:primaryNav'].elements['primaryNavSubview:primaryNav:_link_hidden_'].value='primaryNavSubview:primaryNav:_id6';if(document.forms['primaryNavSubview:primaryNav'].onsubmit){if(document.forms['primaryNavSubview:primaryNav'].onsubmit())
> document.forms['primaryNavSubview:primaryNav'].submit();}else{document.forms['primaryNavSubview:primaryNav'].submit();}return
> false;" id="primaryNavSubview:primaryNav:_id6">List
> Users</a>
>
>
>    <input type="hidden"
> name="primaryNavSubview:primaryNav_SUBMIT" value="1"
> /><input type="hidden"
> name="primaryNavSubview:primaryNav:_link_hidden_" /><script
> type="text/javascript"><!--
>  function clear_primaryNavSubview_3AprimaryNav() {
>   var f = document.forms['primaryNavSubview:primaryNav'];
>
> f.elements['primaryNavSubview:primaryNav:_link_hidden_'].value='';
>   f.target='';
>  }
>  clear_primaryNavSubview_3AprimaryNav();
>  //--></script></form>
>
>  </div>
>
>
>
>
>  <div id="pageBody">
>
>   <form id="userListSubview:userListForm"
> name="userListSubview:userListForm" method="post"
> action="/pib/userList.faces"
> enctype="application/x-www-form-urlencoded"><input
> type="hidden" name="jsf_tree_64" id="jsf_tree_64"
> value="H4sIAAAAAAAAAK1UzW7TQBCehoQKFNQWDhwQCARSKEJ26v6lRFwIKrQKLaIpAuUQbext4mKvt+txSC7cuPcBkLijPgFPwAmuvARXzuzGduJasZJKXKyd8cx838zOt2d/oOALeOGJjkY4MbtUcwdHxKS+NLljmwRtj2kNQekBisDEQNBXhJEOFQ/Gzprnco9Rhtvvb/7+svv3Vw7yTbjSMru2Ywnph91mXULoIYQeQegJCH1WiGodFlpmbNUc4vsI1+vHpEd0h7COLuNt1pFhxXHYjnUCnyDXhPmWQkaZcqOZyNlvH1MTq30eiIjq/5hG9ftZ6cfS59NvOYA+B4BLvqIBgfoWpD2XsgspGxCWFcm+FpIY9aN10XW0l/KzHyAPsG6zDwj5rudSnq6hDtcQij5xuSMpDhzqZwXlj8hJ5s95RcXyzMxk3+ImR7g/hfK2J1zFh5oes4gY7JGezCpNzjrc2SOuvM+ax5DYjAqExWTmW5t+TBNKjzWXQfiqKShBeuhTEZWQPB5NYS9v1yXMiibesq0NrlJvyXJc2G7Uj3LdRlgauw6Cdm8GrvkRkdluvkH7GPLYTJfOT4YacisjFGTOyooEupM1+ZrnBC4Lq29JZUSS0ZRktEgypz/ffV30l514xeeGcE/U1BEudymxqJiAW86Yw7mgtaFViSxjVDmBoQ5PJ6SuzrgTsv17We2/JoK4FNXKDWtW+ASgraFViqzNc4zXL8J4YxrjCRMyVpPohpFEN8oXQDfUHjycsnDPCZIGaTs03IjKWDOPZ9PMswBRyjhEXEtOM+5gPdZSMZCirNs+qsciVtNC7Iy1hHA36/LUu/DG85Dzf4ls1BfjBgAA"
> /><input type="hidden" name="jsf_state_64" id="jsf_state_64"
> value="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"
> /><input type="hidden" name="jsf_viewid" id="jsf_viewid"
> value="/userList.jsp" />
>
>   <span class="h3">Here is the list of users in a table</span>
>
>
>  <table>
>
> <thead>
>  <tr><th class="recordSeparator">First Name</th><th
> class="recordSeparator">Last Name</th><th
> class="recordSeparator">Group</th><th
> class="recordSeparator">User Id</th></tr></thead>
>  <tbody
> id="userListSubview:userListForm:_id8:tbody_element">
>  <tr class=""><td>sdfsdf</td><td>sdf</td><td><a href="#"
> onclick="clear_userListSubview_3AuserListForm();document.forms['userListSubview:userListForm'].elements['userListSubview:userListForm:_link_hidden_'].value='userListSubview:userListForm:_id8_0:_id17';document.forms['userListSubview:userListForm'].elements['selectedGroupName'].value='sdf';if(document.forms['userListSubview:userListForm'].onsubmit){if(document.forms['userListSubview:userListForm'].onsubmit())
> document.forms['userListSubview:userListForm'].submit();}else{document.forms['userListSubview:userListForm'].submit();}return
> false;"
> id="userListSubview:userListForm:_id8_0:_id17">sdf</a></td><td><a
> href="#"
> onclick="clear_userListSubview_3AuserListForm();document.forms['userListSubview:userListForm'].elements['userListSubview:userListForm:_link_hidden_'].value='userListSubview:userListForm:_id8_0:_id22';if(document.forms['userListSubview:userListForm'].onsubmit){if(document.forms['userListSubview:userListForm'].onsubmit())
> document.forms['userListSubview:userListForm'].submit();}else{document.forms['userListSubview:userListForm'].submit();}return
> false;"
> id="userListSubview:userListForm:_id8_0:_id22">sdf</a></td></tr>
>  <tr
> class="recordSeparator"><td>fghgh</td><td>fghfg</td><td><a
> href="#"
> onclick="clear_userListSubview_3AuserListForm();document.forms['userListSubview:userListForm'].elements['userListSubview:userListForm:_link_hidden_'].value='userListSubview:userListForm:_id8_1:_id17';document.forms['userListSubview:userListForm'].elements['selectedGroupName'].value='fg';if(document.forms['userListSubview:userListForm'].onsubmit){if(document.forms['userListSubview:userListForm'].onsubmit())
> document.forms['userListSubview:userListForm'].submit();}else{document.forms['userListSubview:userListForm'].submit();}return
> false;"
> id="userListSubview:userListForm:_id8_1:_id17">fg</a></td><td><a
> href="#"
> onclick="clear_userListSubview_3AuserListForm();document.forms['userListSubview:userListForm'].elements['userListSubview:userListForm:_link_hidden_'].value='userListSubview:userListForm:_id8_1:_id22';if(document.forms['userListSubview:userListForm'].onsubmit){if(document.forms['userListSubview:userListForm'].onsubmit())
> document.forms['userListSubview:userListForm'].submit();}else{document.forms['userListSubview:userListForm'].submit();}return
> false;"
> id="userListSubview:userListForm:_id8_1:_id22">fghfg</a></td></tr></tbody></table>
>
>
>
>       <input id="userListSubview:userListForm:_id24"
> name="userListSubview:userListForm:_id24" type="submit"
> value="Create User"
> onclick="clear_userListSubview_3AuserListForm();" />
>       <a href="#"
> onclick="clear_userListSubview_3AuserListForm();document.forms['userListSubview:userListForm'].elements['userListSubview:userListForm:_link_hidden_'].value='userListSubview:userListForm:_id25';if(document.forms['userListSubview:userListForm'].onsubmit){if(document.forms['userListSubview:userListForm'].onsubmit())
> document.forms['userListSubview:userListForm'].submit();}else{document.forms['userListSubview:userListForm'].submit();}return
> false;" id="userListSubview:userListForm:_id25">Select
> Users</a>
>
>     <input type="hidden"
> name="userListSubview:userListForm_SUBMIT" value="1"
> /><input type="hidden"
> name="userListSubview:userListForm:_link_hidden_" /><input
> type="hidden" name="selectedGroupName" /><script type="text/javascript"><!--
>  function clear_userListSubview_3AuserListForm() {
>   var f = document.forms['userListSubview:userListForm'];
>
> f.elements['userListSubview:userListForm:_link_hidden_'].value='';
>   f.elements['selectedGroupName'].value='';
>   f.target='';
>  }
>  clear_userListSubview_3AuserListForm();
>  //--></script></form>
>
>  </div>
>
>
>
>
>
>
>
>
>
>         <div id="footer">
>       Copyright 2006 DTE Energy, Inc.
>     </div>
>
>   </div>
>
>   </body>
>
>  </html>
>
>
>
> Here's the compliance issues:
>
> This page is not Valid XHTML 1.0 Transitional!
>
> Below are the results of checking this document for XML well-formedness and
> validity.
> 1.        Error Line 80 column 208: ID "jsf_tree_64" already defined.
> ...type="hidden" name="jsf_tree_64" id="jsf_tree_64"
> value="H4sIAAAAAAAAAK2RvWob
>
> An "id" is a unique identifier. Each time this attribute is used in a
> document it must have a different value. If you are using this attribute as
> a hook for style sheets it may be more appropriate to use classes (which
> group elements) than id (which are used to identify exactly one element).
>
> ✉
> 2.        Info Line 50 column 210: ID "jsf_tree_64" first defined here.
> ...type="hidden" name="jsf_tree_64" id="jsf_tree_64"
> value="H4sIAAAAAAAAAK2RvWob
> 3.        Error Line 80 column 857: ID "jsf_state_64" already defined.
> ...ype="hidden" name="jsf_state_64" id="jsf_state_64"
> value="H4sIAAAAAAAAALWWz28
>
> An "id" is a unique identifier. Each time this attribute is used in a
> document it must have a different value. If you are using this attribute as
> a hook for style sheets it may be more appropriate to use classes (which
> group elements) than id (which are used to identify exactly one element).
>
> ✉
> 4.        Info Line 50 column 859: ID "jsf_state_64" first defined here.
> ...ype="hidden" name="jsf_state_64" id="jsf_state_64"
> value="H4sIAAAAAAAAALWWz28
> 5.        Error Line 80 column 2309: ID "jsf_viewid" already defined.
> ... type="hidden" name="jsf_viewid" id="jsf_viewid" value="/home.jsp" />
>
> An "id" is a unique identifier. Each time this attribute is used in a
> document it must have a different value. If you are using this attribute as
> a hook for style sheets it may be more appropriate to use classes (which
> group elements) than id (which are used to identify exactly one element).
>
> ✉
> 6.        Info Line 50 column 2311: ID "jsf_viewid" first defined here.
> ... type="hidden" name="jsf_viewid" id="jsf_viewid" value="/home.jsp" />
> 7.        Error Line 114 column 7: document type does not allow element "ul"
> here; missing one of "object", "applet", "map", "iframe", "button", "ins",
> "del" start-tag.
>     <ul>
>
> The mentioned element is not allowed to appear in the context in which
> you've placed it; the other mentioned elements are the only ones that are
> both allowed there and can contain the element mentioned. This might mean
> that you need a containing element, or possibly that you've forgotten to
> close a previous element.
>
> One possible cause for this message is that you have attempted to put a
> block-level element (such as "<p>" or "<table>") inside an inline element
> (such as "<a>", "<span>", or "<font>").
>
>
>
>  *** PROPRIETARY, CONFIDENTIAL OR PRIVILEGED COMMUNICATION ***
>  This communication may contain proprietary, privileged or confidential
> information protected by law. It is solely for the use of the intended
> recipient named above. Any review, dissemination, distribution, forwarding,
> or copying of this communication by someone other than the intended
> recipient, or the employee responsible for delivering this communication to
> the intended recipient, is prohibited. If you have received this
> communication in error, please immediately notify the sender via email, then
> destroy the original message.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


--
Matthias Wessendorf
Zülpicher Wall 12, 239
50674 Köln
http://www.wessendorf.net
mwessendorf-at-gmail-dot-com

Reply via email to