will silently add this element, thus potentially confusing scripts or style sheets. A.20. base vs. xml:base DO use the base element if you need to establish an alternate base URI for your document. DO NOT use the xml:base attribute. Rationale : Most XHTML Family markup languages do not even support xml:base , relying instead upon the (X)HTML element base . HTML user agents do not support xml:base at all. A.21. document.write DO NOT use the JavaScript methods document.write or document.writeln to change the document. DO use DOM manipulation to achieve the same effect. Rationale : Native XML user agents may not support this technique for modifying the content of the document. A.22. Updating a document using innerHTML DO NOT use the the JavaScript innerHTML method (supported by some user agents) to update a document dynamically. DO use standard DOM manipulation techniques instead. If you choose to use this method, ensure that it is available in the user agent and then ensure that any content inserted via the method is well-formed AND conforms to these guidelines so it is HTML 4 compatible. Rationale : There are many other standard Document Object Model methods for updating a document that will do so more portably than this non-standard method. A.23. Scripts and missing tbody elements DO ensure that if tbody elements are omitted from table elements, scripts that examine the document tree are capable of working both with and without the element. A.25. noscript Element Rationale : The contents of this element are