Altova XMLSpy 2024 Enterprise Edition

Java: Méthodes d'instance et Champs d'instance

Accueil Préc Haut Suivant

Une méthode d'instance a un objet Java qui lui est passé en tant que son premier argument de l'appel de méthode. Un tel objet Java est généralement créé en utilisant une fonction d'extension (par exemple un appel de constructeur) ou un paramètre/variable de feuille de style. Un exemple XSLT de ce type serait :

 

<xsl:stylesheet version="1.0" exclude-result-prefixes="date"

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  xmlns:date="java:java.util.Date"

  xmlns:jlang="java:java.lang"> 

  <xsl:param name="CurrentDateselect="date:new()"/>

  <xsl:template match="/">

      <enrollment institution-id="Altova School" 
                date="{date:toString(\$CurrentDate)}" 

                type="{jlang:Object.toString(jlang:Object.getClass( date:new() ))}">

      </enrollment>

  </xsl:template>

</xsl:stylesheet>

 

Dans l'exemple ci-dessus, la valeur du nœud enrollment/@type est créée comme suit :

 

1.Un objet est créé avec un constructeur pour la classe java.util.Date (avec le constructeur date:new()).

2.Cet objet Java est passé en tant que l'argument de la méthode jlang.Object.getClass.

3.L'objet obtenu par la méthode getClass est passé en tant que l'argument de la méthode jlang.Object.toString.

 

Le résultat (la valeur de @type) aura une chaîne avec la valeur : java.util.Date.

 

Un champ d'instance est théoriquement différent d'une méthode d'instance dans le sens où ce n'est pas un objet Java en soit qui est passé en tant qu'argument au champ d'instance. Au lieu, un paramètre ou une variable est passée en tant que l'argument. Néanmoins, le paramètre/variable peut contenir elle-même la valeur retournée par un objet Java. Par exemple, le paramètre CurrentDate prend la valeur retournée par un constructeur pour la classe java.util.Date. Cette valeur est ensuite passée en tant qu'un argument à la méthode d'instance date:toString afin de fournir la valeur de /enrollment/@date.

 

© 2017-2023 Altova GmbH