[Umbraco] System.OverflowException: Value was either too large or too small for an Int32.

Umbraco ermöglicht es XSLT-Macros zu erstellen. In diesen können Variablen mit Werten belegt werden. Nun benötigt man häufig IDs von Seiten  um bspw. per

<a href="{umbraco.library:NiceUrl($IdEinerSeite)}">

zu verlinken.

$IdEinerSeite

soll nun per

<xsl:variable name="IdEinerSeite" select="Eigenschaft"/>

zugewiesen werden. Soweit so gut. Doch unerwarteter Weise erscheint die Fehlermeldung

System.OverflowException: Value was either too large or too small for an Int32

, obwohl tatsächlich eine korrekte Nummer in $IdEinerSeite enthalten ist.

Die Lösung ist einfach und mutet kurios an:

<xsl:if test="Eigenschaft!= '' ">
  <xsl:variable name="IdeinerSeite" select="Eigenschaft"/>
    <a href="{umbraco.library:NiceUrl($IdEinerSeite) }">Mehr Info</a>
</xsl:if>

Allein der Test auf das Vorhandensein eines Wertes verhindert bereits die Fehlermeldung.