我在地图上创建了许多functoid来验证源节点' AdoptedDate'对于默认值(等于 defaultvalues 到逻辑OR到具有新默认值的值functoid。然后逻辑Not for如果两个Equals都不为true则映射源节点'采用日期到目标模式(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>
答案 0 :(得分:1)
您的选择
在所有情况下,您必须有一个与源和目标字段相关联的functoid。