JSF: Is it possible to use .HTML instead of .XHTML? - html

When you are developing a JavaServer Faces application, are you bound to develop a web page in XHTML or is it possible to use HTML instead?
<?xml version="1.0" encoding="UTF-8"?>
<!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"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core">
The reason why I prefer to develop in HMTL is first and foremost that I am more used to it. And it's easier to implement add-ons like Bootstrap (at least when you are not used to XHTML). If it's possible to use HTML instead, how do I configure the tags get the same result if I used to default setup?

Related

HTML: How to initiate HTML document header

I am still pretty new to HTML and programming in general so this is more of a curiosity question but I am asking as I want to use it the right way.
Whenever I have to initiate an HTML document I start it as below and never observed any issues.
However, when I work in Adobe Dreamweaver and create a new document there it always shows me the below initiation.
Of course I can overwrite this but I would like to know what is the difference and when it would make sense to use any of Adobe's suggested attributes or to add something else to my first four lines.
Can someone help me with this ?
My current initiation:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!-- ... -->
HTML initiation shown in Dreamweaver:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- ... -->
Many thanks in advance,
Mike
<!DOCTYPE html>
This is HTML 5. The current standard.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
This is XHTML 1.0 Transitional. A standard from 2000 designed to combine the transition from HTML 3.2 (1997) to HTML 4 (1998) and XML (which never saw wide use, except while pretending to be HTML 4.
can you explain the single attributes that are different to mine and when it would make sense to use any of them ? Esp. regarding
"PUBLIC",
That isn't an attribute. The PUBLIC portion of a Doctype declaration tells the client where it can download the DTD. (As opposed to the SYSTEM portion which gives it an identifier that it can use to look it up from a local catalogue).
Browsers have never cared about DTDs.
"xmlns",
XML Namespace. It lets you distinguish between elements and attributes that have the same name but are from different specifications.
"http-equiv"
"This is equivalent to an HTTP header with this name"
It is largely a joke. Nothing really implements this except for the character encoding portion of the content-type header and HTML 5 gives much nicer syntax for specifying that.
"content".
The value of the above.
Your first declaration is a HTML5 declaration which is the current standard.
The declaration produces by Dreamweaver is a deprecated XHTML 1.0 Transitional declaration (maybe your Dreamweaver is not up-to-date ?).
See here for more information on doctype

JDeveloper 11 and ADF - change the page DTD to HTML5

I have an Oracle ADF / WebLogic project built by someone else with JDeveloper 11 (and the integrated WL server).
The problem is that the HTML DTD is outputted as:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
and I want to change it to HTML5 mode, and I don't know how (I'm a front-end developer):
<!doctype html>
The pages start with this:
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document id="d1">
....
Has anyone done this in JDev 11? I couldn't find the answer anywhere. Some people say that JDev 12 does it, but I'm not sure if I can import and build the project in v12 without a lot of changes.
Indeed, JDeveloper 12c uses HTML5, so an upgrade it will help.
I am not aware of any way of changing the doc type in ADF, but you can hack it by altering html response using Servlet Filter:
http://docs.oracle.com/javaee/5/tutorial/doc/bnagb.html

I need help in understating that, if I change the <!DOCTYPE> in the html page, will it affect some other functionality

Current DOCTYPE:
"!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
Required DOCTYPE:
"!DOCTYPE HTML"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd >
is to tell the browser that the document is XHTML 1.0
<!DOCTYPE HTML>
is to tell the browser that this document uses HTML5, the latest version of HTML available, also a 'living standard' from w3c
It is perfectly fine to change it, as HTML5 continue to support the older function.
(Just like 'opening a word 2003 file .doc' with Microsoft Word 2007)

Auto created teext when opening new html-page in Expression web

I'm learning to use Expression Web 4.0
When opening a new html-page, the following text is automatically created:
<!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">
Is this code redundant, is this needed (or demanded by owners), or what?
Bent
The doctype is used to tell the web browser the particular version of html used to create the web page. It's also responsible for triggering a particular browser rendering mode. It is standardized by World Wide Web Consortium (W3C)
check the list of DTD

How do I include the proper XML / HTML definitions in a file generated by XSL?

As I understand it, you need to include the following code at the top of your HTML files to make sure they're parsed properly:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
...
I'm generating an html file by transforming an XML file using an XSL file. This is going to be done using the MSXML tool, which produces a standard HTML file as output.
If I just do this:
<xsl:template match="/">
<html>
...
Everything is fine. But if I do this:
<xsl:template match="/">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
...
I get the error XML Parsing Error: XML or text declaration not at start of entity in Firefox, or Cannot have a DOCTYPE declaration outside of a prolog. in IE. Presumably this is because the parser is finding two <?xml definitions and getting confused.
How do I make the browser a) understand that I am using proper strict HTML, and b) make sure those declarations are put into the HTML output file that MSXML generates?
The doctype can be controlled using the xsl:output element.