Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle skin.20220209.FORMS

Le rendu des champs de type "date" et "datetime" a changé dans la XSL du plugin.

 

Avant 

Après 

 date

 jquery date

date html5 

 datetime

 text simple

 datetime html5

Concernant la xsl docbook2html.xsl, les templates concernés sont les suivants

  1. <xsl:template match="html:label">
  2. <xsl:template match="html:input">
  3. <xsl:template name="form-input">
  4. <xsl:template name="form-input-confirmation">
  5. <xsl:template match="html:input[@type='text']" mode="form-check">
  6. <xsl:template name="form-input-text-date-script">

<xsl:template match="html:label">

Retirer tout le bloc <xsl:if> qui teste @regexptype='date'. (4 lignes environ)

<xsl:template match="html:input">

Retirer l'appel au template "form-input-text-date-script" (1 ligne).

<xsl:template name="form-input">

Remplacer la ligne

<xsl:if test="@type = 'text' and @regexptype = 'date'"><xsl:attribute name="maxlength">10</xsl:attribute></xsl:if>

par

            <xsl:if test="@type = 'text' and @regexptype = 'date'">
                <xsl:attribute name="type">date</xsl:attribute>
                <xsl:if test="@minvalue and @minvalue != ''">
                    <xsl:attribute name="min"><xsl:value-of select="@minvalue"/></xsl:attribute>
                </xsl:if>
                <xsl:if test="@maxvalue and @maxvalue != ''">
                    <xsl:attribute name="max"><xsl:value-of select="@maxvalue"/></xsl:attribute>
                </xsl:if>
            </xsl:if>

et aussi, remplacer

<xsl:if test="@type = 'text' and @regexptype = 'datetime'"><xsl:attribute name="maxlength">16</xsl:attribute></xsl:if>

par

            <xsl:if test="@type = 'text' and @regexptype = 'datetime'">
                <xsl:attribute name="type">datetime-local</xsl:attribute>
                <xsl:if test="@minvalue and @minvalue != ''">
                    <xsl:attribute name="min"><xsl:value-of select="translate(@minvalue, ' ', 'T')"/></xsl:attribute>
                </xsl:if>
                <xsl:if test="@maxvalue and @maxvalue != ''">
                    <xsl:attribute name="max"><xsl:value-of select="translate(@maxvalue, ' ', 'T')"/></xsl:attribute>
                </xsl:if>
            </xsl:if>

<xsl:template name="form-input-confirmation">

Faire la même opération que ci-dessus

<xsl:template match="html:input[@type='text']" mode="form-check">

Supprimer le bloc <xsl:when test="@regexptype = 'date'"> (31 lignes environ).
Supprimer le bloc <xsl:when test="@regexptype = 'datetime'"> (31 lignes environ).

<xsl:template name="form-input-text-date-script">

Ce template n'existe plus dans le noyau. Vous pouvez le supprimer de votre XSL.

Retour en haut