I think we'd be open to supporting such a renderkit.
Jeff, are you interested in providing patches to do so?

On 2/15/06, Matthias Wessendorf <[EMAIL PROTECTED]> wrote:
> 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="H4sIAAAAAAAAAMVYW28bRRQeO3bcpkG50YJ6AbelVLRonTjpLX2gjp0QS3ZS1U5BgLSd7E682653t7PjZANyBUhISLwgQStVAvUHtCAkHkBIIBBIPIEECB74ATxRnoEHysysL+t41/G6tbpSdid7OXO+833nzBnfuQuiFQwmXs5dhutQ0KBeEpZXLyOJnH33xxdvjVrPaGEAbBMAMFC5Cq4BdkQao5jpHBYGo9xAhaiakDMkqKFrf49d+mDynz8HQCQLdijQUiRDRjkQk4yKTvAmAeN80gSbNFEgWNVLZ3NgB/u3AkuIzRGlr69DrEKd8H9t8x49CAAEhJHObsVsAoYWi/mcOJcqZNMEPJKoWAjnVIsIly3u2UTTsxTGcJM9s9/4+cDN7+GHAyCUBRFLfRU5GDciLUiboxgBoxaSDF2GeHMJrl9U0YZpsqcjdIqx5hSLFGgemtHY7998u+fSTwMgvACGNAPKC1AiBs6CnUTByFIMTbbN585x48MbO+h5lP6FCEgyW7awBiVkCRtoFZqmsJJNG2XT0JFOirAkLCxfyM9fENOL2VxGzGYK7R4UEPki89b1G59/NjPA+NsYZhPUpqOTDLux2DajkGHZxZ7yGIQ8YrCnGQ022G0Sh/W6swsGLhNwYGuYZt03+DSjbbjD7PY4fzjR4muUgBibQzYkQomSTYk5D8umhgpkU0MWvbsGr7KLYpQRVcPwmoEllJWzuozsRmS4sucMQ0NQ/yGOX//1g3//CoPQSyC6DrUKZT9kmz5HIzJRHpmoR2T2eymGDQ5tjVFO1a8QcKhjjGYZkqCBoqRGRFWetNmjw+x0hCEiYCRhqqsJZtJxwQ9mC1TgiMAOgjXO0+E4Acc6o3Oz1yPKqTaUYxylY7rPOA/WcW7DIpNlj/iSPiwyk31G90Qd3ZHO6GpJ2SPA6TaAjyuEmLOJRM2uIBM6myDRstcvpE92ySMrOj3CnGmDubsGkxntEaPthZKuT2MmVsuOz4XK6npjgXrFx/lQB+eHmrZ6XB1EPvdeAva3uTXbvOPj2oCfa2EnriephxJGkKAVuti7gkzAeQOXBGhCSUFCedMpuhjRtQBfUYmgkDJdIOmJrVUX+G2E56CFhMVsJjO/JKaX8/nUEl1Vl86vFAtiYb7oHaBjnVDNihot86KiyjLSRXv7lSXMoxoOol6lrt6jHT1pRqlHCZ9olzAvRU3DD7ogRVuBlupAD3YOOVVFJ6E3ENCW4Lh7RZbqnZUgpghhupELhEJ7AdPOC+HM7T/OVX9Z/i4MwjkwKEoatGizMeZqXdPsFu1cJ8QN/onzudNFtza5tc7aNtcxOOqhU6QJeUQUQ55TdZm2w1m6moHmYZuNyNA8eOzwa41Ot4TISm1c5RwNsWGc096JGNOvlozUTbdUkrd7qCTDdUss43qsJe80askWt2bdxoPWkggBUbbWnqhdZxzBn3Yup1y6ZyfVuxod6+RRax2gqrGQRgWA5OexUTGXIO1Xt68NER6liEeUvDpRHq8bW7vOIm2Mza6yg3751CItinHVihMFxTWmI2MtzmBZcVWPwziBqxpiL4aVafpBkFy+zjq1FseYLZranaNISQlaverkTjrXqRrJU0mH3TMtVa3FeIgbDzvqdXYH/HmVJu3T3kl7kb3kl7O0YLoylQ046KoT7EF+Y7nOOs08THsCLBeQCTGkG0aXJCipz3o/7UIsPP4f198NkCahWuSm6N5qpuu96UIqPV8Ul1L5+YK3zUEFQbll7bZ9feMS/brbDKj5O8mLxq2uZT+0oGKqdZaVtdrYRaHyTcEvA8zuJz92+xNHe+z0KQETjpKKy8Iac5b5Wm1UEM9SzgYf3QfrTgf7ldcbnJT+8TcdkL+dOfjg6PutL/SNN+ijLUO37N25D/ZOPTT2TgZkL8qXxO6Z811i7jrtot/EvgtGuOb46dr1jEdsOI9vupuwfa1NGAeRQQSqmlXt2HiZXXX/W6Twn78UelTkSEORJeZ6lYO+6b2q+ybLvT4kCz2FhprJ4Zsdt3vPjmTyYWVHcipgdsRYJx/PyvefH6E9PeZHPWjTXeXF3vbNSeC0CF62Q0f7UrZHG0nCLlnZVbQ9hbnPrza9T6kcd7dQcxVCDJ2AQ9v1v8mZ7va23G3aqCa8G9WCyn4fTUlENfSWnSZoHqxjHXR290x6u9J8yPeSvpzRL6zKalklwbYD7zV+gdsW/4kA+NvU+Gi7Gi1nnzxc4DuyrnbK9v/yiFeCLRsAAA=="
> > /><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