La définition du context esup-lecture doit être fait dans le server.xml de tomcat et pas dans un fichier tomcat/conf/Catalina/localhost/LecturePortlet.xml
Si vous obtener ce message en mode portlet : java.lang.ClassCastException: org.esupportail.lecture.portlet.FacesPortlet cannot be cast to javax.portlet.Portlet
C'est vraisemblablement parce que vous avez fait un déploiement en mode servlet avant sans avoir fait un clean avant de redéployer en mode portlet.
Pour résoudre ce problème très rapidement il suffit de :
Le but du fichier mapping.xml est double :
Pour chaque entrée de <mapping> du fichier mapping.xml on va trouver un attribut qui va nous permettre de sélectionner une feuille de transformation XSL. Ce sera sourceURL, DTD, xmlType, xmlns ou rootElement (dans cet ordre de priorité).
ourceURL --> Si la source correspond à cette url ou dont l'url commence par cette valeur alors c'est ce mapping qui est pris en compte
dtd --> Si la source a une dtd et que cette dtd correspond à cet attribut dtd alors c'est ce mapping qui est pris en compte
xmlType --> Si la source a un xsd et que ce xsd correspond à cet attribut xmlType alors c'est ce mapping qui est pris en compte
xmlns --> Si l'élément root du XML de ta source est dans un espace de nom qui correspond à cet attribut xmlns alors c'est ce mapping qui est pris en compte
rootElement --> Si l'élément root du XML de ta source correspond à cet attribut rootElement alors c'est ce mapping qui est pris en compte
Dans une source de données on a plusieurs items que l'on veut faire apparaitre de façon distincte dans esup-lecture.
Pour cela on dispose de l'attribut itemXPath. Il sert comme XPath pour définir quels éléments répétables dans le XML de la source vont former les Items à afficher.
Mais cette information ne suffit pas si la source contient des espaces de noms différents pour les différentes balises XML la constituant. Ces espace de noms, s'il sont utilisés dans itemXPath, doivent être définis dans une ou n balise <XPathNameSpace>.
itemXPath="/rdf:RDF/default:item" Dans ce cas il faut préciser à quoi correspondent les espaces de noms rdf: et default: pour que le moteur XPath fonctionne sur le XML de ta source : <XPathNameSpace prefix="rdf" uri="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/> <XPathNameSpace prefix="default" uri="http://purl.org/rss/1.0/" /> |