Altova XMLSpy 2024 Enterprise Edition

Eine Erweiterungsfunktion kann dazu verwendet werden, um einen Java-Konstruktor aufzurufen. Alle Konstruktoren werden mit der Pseudofunktion new() aufgerufen.

 

Wenn das Ergebnis eines Java-Konstruktors implizit in XPath/XQuery-Datentypen konvertiert werden kann, dann gibt die Java-Erweiterungsfunktion eine Sequenz zurück, bei der es sich um einem XPath/XQuery-Datentyp handelt. Wenn das Ergebnis eines Konstruktoraufrufs nicht in einen passenden XPath/XQuery-Datentyp konvertiert werden kann, dann erstellt der Konstruktor ein wrapped Java-Objekt mit einem Typ, der den Namen der Klasse hat, die dieses Java-Objekt zurückgibt. Wenn z.B. ein Konstruktor für die Klasse java.util.Date aufgerufen wird (java.util.Date.new()), so wird ein Objekt vom Typ java.util.Date zurückgegeben. Das lexikalische Format des zurückgegebenen Objekts stimmt unter Umständen nicht mit dem lexikalischen Format des XPath-Datentyps überein und der Wert müsste daher in das lexikalische Format des erforderlichen XPath-Datentyps und anschließend in den erforderlichen XPath-Datentyp konvertiert werden.

 

Ein von einem Konstruktor erstelltes Java-Objekt kann für zwei Zwecke verwendet werden:

 

Es kann einer Variable zugewiesen werden:
<xsl:variable name="currentdate" select="date:new()" xmlns:date="java:java.util.Date" />

Es kann an eine Erweiterungsfunktion übergeben werden (siehe Instanzmethode und Instanzfelder):
<xsl:value-of select="date:toString(date:new())" xmlns:date="java:java.util.Date" />

 

© 2017-2023 Altova GmbH