我正在尝试将来自HTML Coversion的LI和TABLE重命名为
Document{-> RETAINTYPE(MARKUP)};
LI{->MARK(List)};
Document{-> RETAINTYPE};挺好的。但是当我对Table使用相同的脚本时,比如
DECLARE TableContent;
Document{-> RETAINTYPE(MARKUP)};
TABLE{->MARK(TableContent)};
Document{-> RETAINTYPE};它未加标签
输入文件
<table class="IM-Core-Table TableOverride-1" id="t1" border="1">
<colgroup><col /></colgroup>
<colgroup><col /></colgroup>
<colgroup><col /></colgroup>
<colgroup><col /></colgroup><tbody>
<tr class="IM-Core-Table _idGenTableRowColumn-1">
<td valign="top" style=""><p class="MsoNormal"><aname="para201">ICD-10</a></p>
</td>
<td valign="top" style=""><p class="MsoNormal"><a name="para202">Males</a></p>
</td>
<td valign="top" style=""><p class="MsoNormal"><a name="para203">Females</a></p>
</td>
<td valign="top" style=""><p class="MsoNormal"><a name="para204">Total</a></p>
</td>
</tr>
<tr class="IM-Core-Table _idGenTableRowColumn-1">情绪障碍(F30-F39)
2
10
12
Neurotic, stress-related and somatoform disorders (F40- F48)
0
5
5
Problems related to social environment (Z60)
0
2
2
</tbody>
</table>发布于 2016-08-23 21:36:43
问题是html包含空格和换行符。默认情况下,HtmlAnnotator为html元素的内容创建批注。这意味着,如果在开始标记后有换行符,则创建的注释将从换行符的偏移处开始。缺省情况下,诸如空格和标记之类的换行符是不可见的,并且所有以不可见内容开头的内容也是不可见的。最简单的解决方案是使它们暂时可见,并修剪任何不需要的/不可见的跨度的开始/结束,例如空格和换行符。
下面是我用来测试的脚本:
TYPESYSTEM utils.HtmlTypeSystem;
ENGINE utils.HtmlAnnotator;
EXEC(HtmlAnnotator, {TAG});
DECLARE TableContent;
RETAINTYPE(MARKUP, WS);
TABLE{-> TRIM(WS)};
TABLE{-> TableContent};
RETAINTYPE;当我使用HtmlAnnotator时,我通常会这样做:
RETAINTYPE(MARKUP, WS);
TAG{-> TRIM(MARKUP, WS)};
RETAINTYPE;免责声明:我是UIMA Ruta的开发者
https://stackoverflow.com/questions/39098416
复制相似问题