Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Opening JSF Facelets page shows "This XML file does not appear to have any style information associated with it."

I'm trying to run my Eclipse JSF project on Apache Tomcat on other computer. I created a WAR file with this tutorial. However, when I deploy the WAR and open the Facelet page in Firefox, I'm getting only the following error message:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

This my first time when I try run my JSF app without Eclipse. How is this caused and how can I solve it?

I'm actually trying to open the following Facelet page:

<?xml version="1.0" encoding="UTF-8"?>
<ui:composition template="/WEB-INF/templates/template_a.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:define name="title">
        tytol
    </ui:define>
</ui:composition>
like image 752
Krzysztof Avatar asked Feb 11 '13 00:02

Krzysztof


People also ask

How do you fix this XML file does not appear to have any style information?

You need to make sure that the HTTP request URL, as you see in browser's address bar, matches the <url-pattern> of the FacesServlet as registered in webapp's web. xml , so that it will be invoked and be able to generate the desired HTML output based on the XHTML source code.

Why do I get this XML file does not appear to have any style information associated with it the document tree is shown below?

Answer: This occurs when the workstation or browser does not have a default RSS feed reader installed or enabled. You may notice in Chrome because Chrome does not have a default RSS reader, like Firefox or Internet Explorer.

How do I open a XML file in Chrome?

View an XML file in a browser In Chrome, just open a new tab and drag the XML file over. Alternatively, right click on the XML file and hover over "Open with" then click "Chrome". When you do, the file will open in a new tab.


2 Answers

This XML file does not appear to have any style information associated with it. The document tree is shown below.

You will get this message in the client side when the client (the web browser) for some reason interprets the HTTP response content representing a HTML document as text/xml instead of text/html and the parsed XML tree doesn't have any XML-stylesheet. In other words, the web browser parsed the retrieved HTTP response content as XML instead of as HTML due to a missing or incorrect HTTP response content type.

In case of JSF/Facelets files which have the default extension of .xhtml, that can in turn happen if the HTTP request hasn't invoked the FacesServlet and thus it wasn't able to parse the Facelets file and generate the desired HTML output based on the XHTML source code. Firefox is then merely guessing the HTTP response content type based on the .xhtml file extension which is in your Firefox configuration apparently by default interpreted as text/xml.

You need to make sure that the HTTP request URL, as you see in browser's address bar, matches the <url-pattern> of the FacesServlet as registered in webapp's web.xml, so that it will be invoked and be able to generate the desired HTML output based on the XHTML source code. If it's for example *.jsf, then you need to open the page by /some.jsf instead of /some.xhtml. Alternatively, you can also just change the <url-pattern> to *.xhtml. This way you never need to fiddle with virtual URLs.

See also:

  • Sometimes I see JSF URL is *.jsf, sometimes *.xhtml and sometimes /faces/*. Why?
  • JSF returns blank/unparsed page with plain/raw XHTML/XML/EL source instead of rendered HTML output

Note thus that you don't actually need a XML stylesheet. In your specific case it was just a misinterpretation from the webbrowser while trying to do its best to make something presentable out of the retrieved HTTP response content.

like image 59
BalusC Avatar answered Oct 17 '22 17:10

BalusC


Add xmlns="http://www.w3.org/2000/svg" atrribute to the begining of the svg tag like this: <svg xmlns="http://www.w3.org/2000/svg"

like image 17
Juan David Arce Avatar answered Oct 17 '22 17:10

Juan David Arce