Changements récents - Rechercher:

Tutoriel Filemaker

  1. Structure
  2. Modèles
  3. Opérations diverses
  4. Calculs
  5. Scripts
  6. Privilèges d'accès

Filemaker avancé

  1. Partage des données
  2. Astuces et Exemples
  3. Développement

Règles de nommage

Versions de FileMaker Pro

Liens utiles Contact Commentaires

edit SideBar

Pense-bête XSLT

Compilé par Pascal Magat sur le Forum

Petit récapitulatif XSLT en vrac à mettre de côté

pour le &:

&

une colonne : sans les quotes car le forum met un espace

<xsl:text disable-output-escaping="yes">'&nbsp;'</xsl:text>

entete avec image: (en passant l'ID de la fiche au template 'montemplate')

<td>
<div align="center">
<a>
<xsl:attribute name="href">
<xsl:call-template name="montemplate">
<xsl:with-param name="recordid" select="@record-id"/>
</xsl:call-template>
</xsl:attribute>
<img src="http://tonsite/modif.jpg" border="0"" />
</a>
</div>
</td>

fonction "si, alors" :

- on déclare une variable:

<xsl:variable name="mavar" select="fmrs:field[@name='rubriqueFMP']/fmrs:data" />
<xsl:choose>
<xsl:when test='$mavar != ""'> (on teste)
"fait un truc"
</xsl:when>
<xsl:when test='$mavar != ""'> (on teste)
"fait un autre truc"
</xsl:when>
<xsl:when test='$mavar != ""'> (on teste)
"fait encore un autre truc"
</xsl:when>
<xsl:otherwise>
"ou sinon va te coucher"
</xsl:otherwise>
</xsl:choose>

Gestion des cookies (il y a d'autres classes JS):

<script type="text/JavaScript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
function getcookie(c_name)
{
if (document.cookie.length>0)
{
c_start=document.cookie.indexOf(c_name + "=")
if (c_start!=-1)
{
c_start=c_start + c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if (c_end==-1) c_end=document.cookie.length
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
function setcookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
]]>
</xsl:text>
</script>

enregistrer un cookie en cliquant sur un lien par exemple

<a href="xxx.xsl" onclick="java script:setcookie('username','',365)"> Entrée </a>

Récupérer le cookie:

<script type="text/JavaScript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
username=getcookie('username');
document.write("<b>Bienvenue " + username + "</b>");// affiche le nom dans la page
]]>
</xsl:text>
</script>

Alternative: les sessions xslt

Pour obtenir les sessions (à mettre en haut des pages aprés les xml et xmlns:

<?xslt-cwp-buffer buffer-content="true" ?>

Création de la session:

<xsl:choose>
<xsl:when test="fmxslt:session_exists('masession')">
</xsl:when>
<xsl:otherwise>
<xsl:variable name="instantiating_session" select="fmxslt:create_session('masession')"/>
</xsl:otherwise>
</xsl:choose>

Enregistrer dans la session:

<xsl:variable name="a" select="fmxslt:set_session_object('masession', 'nom', $nomok)"/>
(ou $nomok est une variable déclarée précédement)

Mettre un objet de session

<xsl:value-of select="fmxslt:get_session_object('masession', 'nom')" />

Date en français :

<xsl:variable name="date_norm" select="$madate" />
<xsl:variable name="an" select="substring($date_norm, 7, 4)" />
<xsl:variable name="mois" select="substring($date_norm, 1, 2)" />
<xsl:variable name="jour" select="substring($date_norm, 4, 2)" />
<xsl:variable name="date_complete" select="concat($jour, '/', $mois, '/', $an)" />
<xsl:value-of select="$date_complete" />

Un head qui va bien

<head>
<meta http-equiv="Cache-Control" content="no-cache"/>
<title>xxx</title>
<style type="text/css" media="screen">
<xsl:comment>
@import url("http://tonsite.com/tafeuille.css");
</xsl:comment>
</style>
</head>

Gestion des token pour transmettre des valeurs de page en page (fonctionne en POST aussi)

Création du token par formulaire:

<input name="-token.mag" type="hidden">
<xsl:attribute name="value">
<xsl:value-of select="fmrs:field[@name='rubriqueFMP']/fmrs:data" />
</xsl:attribute>
</input>

ou par lien:

<xsl:variable name="adresse" select="concat('page.xsl?-lay=modele&-token.mag=',$nom,'-findall')" />
<a href="{fmxslt:session_encode_url($adresse)}"> cliquez </a>

attribuer un token à une variable

<xsl:variable name="mavar" select="$request-query/fmq:query/fmq:parameter[@name = '-token.mag']" />

afficher le token

<xsl:value-of select="$request-query/fmq:query/fmq:parameter[@name = '-token.mag']"/>

repasser le token par form:

<input name="-token.mag" type="hidden">
<xsl:attribute name="value">
<xsl:value-of select="$request-query/fmq:query/fmq:parameter[@name = '-token.mag']"/>
</xsl:attribute>
</input>

à suivre ...

Vous pouvez contribuer ....

Éditer - Historique - Imprimer - Changements récents - Rechercher
Page mise à jour le 20 octobre 2008 à 14h24