我有一个 csv 文件,它有两个主要情况
情况1:
“姓氏,givenName,id#”
案例#2
"组织名称,, id#"
我正在做一个标记化功能,以便在每次回车时将文件分解为文档节点。
<xsl:template match="/">
<!-- tokenize on line endings -->
<xsl:for-each select="str:tokenize(.,' ')">
<document>
<xsl:apply-templates select="." mode="new-document" />
</document>
</xsl:for-each>
</xsl:template>
所以我有这个:
<document>"Don Jackson,,19001"</document>
<document>"Frederick Guitars,,ed55555,,,O"</document>
<document>"Frederick Guitars,,ed11111,,,O"</document>
<document>"A WILLIAMS,JONES THOMPSON,141212"</document>
<document>"A RANJI,ALENA,741152"</document>
现在,我需要在文档节点中创建内容节点,但内容节点的名称将取决于文档节点的结构。基本上,如果第一个逗号后面的文本为空(意味着你得到',,'),那么第一个内容节点的名称将是“组织”。否则,第一个内容节点将称为“surname”,第二个内容节点的名称将是“givenName”。无论如何,第三个节点将是 ID_num。
似乎 xsl:choose 应该在这里工作,但我不确定如何实现它。有人可以提供一些建议吗?
谢谢