我有一个源平面文件源模式,该模式只有一个节点,该节点将包含一个长字符串。
Demo
newDemo (length 10)
我有以下目标架构
Employee
FName
LName
现在,我正在从源模式的newDemo元素中提取字符串。但是我想为每个提取的字符串创建新的Employee记录。
示例:newDemo的值为abcdefghij
。首先,我为FName提取1,2,为LName提取3,5。我再次为FName提取6,7,为LName提取8,10。
所以我希望输出如下。
</Employee>
<FullName>
<FName>ab</>
<LName>cde</LName>
</Employee>
<Employee>
<FName>fg</>
<LName>hij</LName>
</Employee>
<xsl:variable name="var:v1" select="userCSharp:StringSubstring(string(Demo/text()) , "1" , "5")" />
<xsl:variable name="var:v2" select="userCSharp:LogicalExistence(string($var:v1))" />
<xsl:if test="$var:v2">
<xsl:variable name="var:v3" select="string(Demo/text())" />
<xsl:variable name="var:v4" select="userCSharp:StringSubstring($var:v3 , "1" , "5")" />
<xsl:variable name="var:v5" select="userCSharp:LogicalNe(string($var:v4) , "A")" />
<xsl:variable name="var:v6" select="userCSharp:StringSubstring($var:v3 , "6" , "8")" />
<xsl:variable name="var:v7" select="userCSharp:LogicalNe(string($var:v6) , "B")" />
<ns0:FullName>
<xsl:if test="string($var:v5)='true'">
<fname>
<xsl:value-of select="$var:v4" />
</fname>
</xsl:if>
<xsl:if test="string($var:v7)='true'">
<fname>
<xsl:value-of select="$var:v6" />
</fname>
</xsl:if>
<lname>
<xsl:value-of select="$var:v4" />
</lname>
<lname>
<xsl:value-of select="$var:v6" />
</lname>
</ns0:FullName>
</xsl:if>
它将全名和姓氏都放在一个全名下,而我要两个全名。