ソース ノード 'AdoptedDate' のデフォルト値を検証するために、マップ上に多数の Functoid を作成しました ( defaultvaluesは、新しいデフォルト値を持つ値 Functoid への論理 OR に等しくなります。次に、どちらの Equals も等しくない場合は、Logical Not になります)。ソース ノード 'AdoptedDate' を宛先スキーマ (xslt で囲まれている) にマップする場合は true ではありません。
私がやりたいことは、ソーススキーマのすべての日付フィールドにこれを実装することです.これは可能ですか.
現在生成されている XSLT (Adopted のみ)
<xsl:for-each select="Form/SDetails">
<xsl:variable name="var:v17" select="userCSharp:LogicalEq(string(NameDetails/AdoptedDate/text()) , "1900-09-09")" />
<xsl:variable name="var:v18" select="string(NameDetails/AdoptedDate/text())" />
<xsl:variable name="var:v19" select="userCSharp:LogicalEq($var:v18 , "1800-09-09")" />
<xsl:variable name="var:v20" select="userCSharp:LogicalOr(string($var:v17) , string($var:v19))" />
<xsl:variable name="var:v22" select="userCSharp:LogicalNot(string($var:v20))" />
<xsl:if test="string($var:v20)='true'">
<xsl:variable name="var:v21" select=""1901-01-01"" />
<p:AdoptedDate>
<xsl:value-of select="$var:v21" />
</p:AdoptedDate>
</xsl:if>
<xsl:if test="string($var:v22)='true'">
<xsl:variable name="var:v23" select="NameDetails/AdoptedDate/text()" />
<p:AdoptedDate>
<xsl:value-of select="$var:v23" />
</p:AdoptedDate>
</xsl:if>