Fórum

problem getting xsl articles in jboss

thumbnail
Filippo Boatto, modificado 14 Anos atrás.

problem getting xsl articles in jboss

Regular Member Postagens: 107 Data de Entrada: 01/02/07 Postagens Recentes
i have a structure

<root>
  <dynamic-element name="titoloTesto" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="titoloLink" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="testoBreve" type="text_box" repeatable="false"></dynamic-element>
  <dynamic-element name="testoEsteso" type="text_area" repeatable="false"></dynamic-element>
  <dynamic-element name="immaginePiccola" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="immagineDettaglio1" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="testoImmagineDettaglio1" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="immagineDettaglio2" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="testoImmagineDettaglio2" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="immagineDettaglio3" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="testoImmagineDettaglio3" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment1" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment1" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment2" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment2" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment3" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment3" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment4" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment4" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment5" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment5" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment6" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment6" type="text" repeatable="false"></dynamic-element>
</root>



and an xsl template

<!--?xml version="1.0"?-->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:java="http://xml.apache.org/xslt/java" exclude-result-prefixes="java">

    <xsl:template name="articlePreview" match="/">
      <!-- visualizza solo primo elemento (il più recente, di cui va fatta la preview) -->
      <xsl:variable name="queryLastArticle" select="concat('http://@portal_url@/c/journal/get_articles?groupId=@group_id@&amp;type=marketing&amp;templateId=NEWS-DETAIL&amp;delta=1','&amp;orderBy=display-date')" />
     
      <xsl:variable name="article" select="document($queryLastArticle)/result-set/result" />
	  
      <xsl:for-each select="$article">

        <div id="news_sx">
        	<xsl:variable name="articleId" select="root/dynamic-element[@name='reserved-article-id']/dynamic-content" />
        	<xsl:variable name="titoloTesto" select="root/dynamic-element[@name='titoloTesto']/dynamic-content" />
        	<xsl:variable name="testoBreve" select="root/dynamic-element[@name='testoBreve']/dynamic-content" />
        	<xsl:variable name="immaginePiccola" select="root/dynamic-element[@name='immaginePiccola']/dynamic-content" />

			<xsl:variable name="immaginePiccolaVisibile">
        		<xsl:if test="$immaginePiccola != ''">S</xsl:if>
			    <xsl:if test="$immaginePiccola = ''">N</xsl:if>
			</xsl:variable>


        	<xsl:variable name="titoloLink" select="root/dynamic-element[@name='titoloLink']/dynamic-content" />
        	
        	<xsl:variable name="articleUrl">
        		<xsl:if test="$titoloLink != ''"><xsl:value-of select="root/dynamic-element[@name='titoloLink']/dynamic-content" /></xsl:if>
			    <xsl:if test="$titoloLink = ''"><xsl:value-of select="concat('/web/4ws-trade/news-detail/4ws-trade/news-detail/-/journal_content/56_INSTANCE_8Rjo/@group_id@/', $articleId)" /></xsl:if>
			</xsl:variable>
        	
        	<xsl:variable name="target">
			   <xsl:if test="$titoloLink != ''">_blank</xsl:if>
			   <xsl:if test="$titoloLink = ''"></xsl:if>
			</xsl:variable>

        	
        	<div class="testo">
        		<p>
	        		</p><h2 class="titolo_news">
						<a>
							<xsl:attribute name="href">
								<xsl:copy-of select="$articleUrl" />
						    </xsl:attribute>
							<xsl:attribute name="target">
								<xsl:copy-of select="$target" />
						    </xsl:attribute>	          	
			          		<xsl:copy-of select="$titoloTesto" />
			          	</a>
			        </h2>
	        	    <!-- testo della news attiva-->
	        	    <xsl:if test="$immaginePiccolaVisibile = 'S'">
	        	    	<h4 style="width:292px">
							<xsl:copy-of select="$testoBreve" />
		          		</h4>	        	    	
	        	    </xsl:if>
	        	    <xsl:if test="$immaginePiccolaVisibile = 'N'">
	        	    	<h4 style="width:400px">
							<xsl:copy-of select="$testoBreve" />
		          		</h4>	        	    	
	        	    </xsl:if>
	          	<p></p>
	          	
				<a>
					<xsl:attribute name="href">
						<xsl:value-of select="$articleUrl" />
				    </xsl:attribute>
					<xsl:attribute name="target">
						<xsl:value-of select="$target" />
				    </xsl:attribute>	          	
	          		per saperne di più
	          	</a>
   			</div>        
			<div class="immagine">
				<a>
					<xsl:attribute name="href">
						<xsl:value-of select="$articleUrl" />
				    </xsl:attribute>
					<xsl:attribute name="target">
						<xsl:value-of select="$target" />
				    </xsl:attribute>
				    <img>
						<xsl:attribute name="src">
							<xsl:copy-of select="$immaginePiccola" />
					    </xsl:attribute>
						<xsl:attribute name="style">max-width: 120px;max-height: 120px;</xsl:attribute>
						<xsl:attribute name="border">0</xsl:attribute>
				    
				</a>
			</div>        
        </div>

      </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>


with the same article content, in tomcat works fine
in jboss i have this error:


2009-06-11 15:50:54,295 ERROR [root] (http-0.0.0.0-8082-5) []
SystemId sconosciuto; Riga #9; Colonna #92; Impossibile caricare il documento richiesto: The element type "P" must be terminated by the matching end-tag "<p></p>"




should be a problem of the xml parser in jboss??
thumbnail
Filippo Boatto, modificado 14 Anos atrás.

RE: problem getting xsl articles in jboss

Regular Member Postagens: 107 Data de Entrada: 01/02/07 Postagens Recentes
Solved using liferay 5.2.3 and velocity template

Structure:

<root>
  <dynamic-element name="titoloTesto" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="titoloLink" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="testoBreve" type="text_box" repeatable="false"></dynamic-element>
  <dynamic-element name="testoEsteso" type="text_area" repeatable="false"></dynamic-element>
  <dynamic-element name="immaginePiccola" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="immagineDettaglio1" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="testoImmagineDettaglio1" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="immagineDettaglio2" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="testoImmagineDettaglio2" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="immagineDettaglio3" type="image" repeatable="false"></dynamic-element>
  <dynamic-element name="testoImmagineDettaglio3" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment1" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment1" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment2" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment2" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment3" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment3" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment4" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment4" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment5" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment5" type="text" repeatable="false"></dynamic-element>
  <dynamic-element name="attachment6" type="document_library" repeatable="false"></dynamic-element>
  <dynamic-element name="descrizioneAttachment6" type="text" repeatable="false"></dynamic-element>
</root>


Template (to show the last news of type "marketing"):

<!-- Questo template estrae l'ultima news di tipo marketing 
     e visualizza i campi della propria struttura 
-->

#set ($document = $saxReaderUtil.readURL("http://@portal_url@/c/journal/get_articles?groupId=@group_id@&amp;type=[b]marketing[/b]&amp;delta=[b]1[/b]&amp;approved=true&amp;expired=false&amp;orderBy=display-date"))
#set ($root = $document.getRootElement())
#set ($articles = $root.selectNodes("/result-set/result/root"))

#foreach ($article IN $articles)
  #set ($articleId = $article.selectSingleNode("dynamic-element[@name='reserved-article-id']/dynamic-content"))
  #set ($articleTitle = $article.selectSingleNode("dynamic-element[@name='reserved-article-title']/dynamic-content"))
  #set ($articleModifiedDate = $article.selectSingleNode("dynamic-element[@name='reserved-article-modified-date']/dynamic-content"))
  #set ($articleAuthorName = $article.selectSingleNode("dynamic-element[@name='reserved-article-author-name']/dynamic-content"))

  <!-- recupero i dati della struttura -->
  #set ($article_TitoloLink= $article.selectSingleNode("dynamic-element[@name='titoloLink']/dynamic-content"))
  #set ($article_TitoloTesto = $article.selectSingleNode("dynamic-element[@name='titoloTesto']/dynamic-content"))
  #set ($article_ImmaginePiccola = $article.selectSingleNode("dynamic-element[@name='immaginePiccola']/dynamic-content"))
  #set ($article_TestoBreve = $article.selectSingleNode("dynamic-element[@name='testoBreve']/dynamic-content"))

<div id="news_sx">
   <div class="testo">
       <p>
       <!-- titolo della news attiva-->
       	  #if ($article_TitoloLink.getData()!="")  
       	     #set ($articleUrl = "$article_TitoloLink.getData()")
             #set ($target = "_blank")
       	  #else
             #set ($articleUrl = "http://@portal_url@/web/4ws-trade/news-detail/-/journal_content/56_INSTANCE_8Rjo/@group_id@/$articleId.getData()")
            #set ($target = "_top")
       	  #end
       	  </p><h2 class="titolo_news"><a href="$articleUrl" target="$target">$article_TitoloTesto.getData()</a></h2>
          <!-- testo della news attiva-->
          #if ($article_ImmaginePiccola.getData()!="")
          	<h4 style="width:292px">
          		$article_TestoBreve.getData()
          	</h4>
          #else
          	<h4 style="width:400px">
          		$article_TestoBreve.getData()
          	</h4>
          #end
       <p></p>
   </div>
   #if ($article_ImmaginePiccola.getData()!="")
      <div class="immagine">
         <a href="$articleUrl" target="$target"><img src="$article_ImmaginePiccola.getData()" style="max-width: 120px;	max-height: 120px;" border="0"></a>
      </div>
   #end
</div>
#end