This page should only be used if script asks you to manually migrate skin.20220209.FORMS

The rendering of "date" and "datetime" fields has been changed at XSL plugin .

 

Before 

After 

 date

 jquery date

date html5 

 datetime

 simple text

 datetime html5

Concerning xsl docbook2html.xsl, the templates concerned are as follows

  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">

Remove call to template "form-input-text-date-script" (1 line).

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

Replace line

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

by

            <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>

and also replace

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

by

            <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">

Carry out the same operation as above

<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">

This template no longer exists in the kernel. You can remove it from your XSL.

Back to top