Я создал несколько функтоидов на карте, чтобы проверить исходный узел «AdoptedDate» для значений по умолчанию (Equals defaultvalues в логическом ИЛИ до функтоида значения с новым значением по умолчанию. Затем логическое не ибо, если ни одно из Equals не верно, чтобы сопоставить исходный узел «AdoptedDate» со схемой назначения (xslt прилагается).
Что я хотел бы сделать, так это реализовать это для всех полей даты в исходной схеме, можно ли это сделать.
Текущий сгенерированный XSLT (только принятый)
<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>