Made highlighting more semantic
diff --git a/Changes b/Changes
index a8ecb3d..22f4a94 100644
--- a/Changes
+++ b/Changes
@@ -27,6 +27,8 @@
on focussing (e.g., set by relations) (diewald)
- [bugfix] Hopefully fixing a resource related bug for
server instantiation (diewald)
+ - [bugfix] Changed attribute spans to contain element's width (margaretha)
+ - [feature] Improved highlighting to use semantic html5 (#193; diewald)
0.49.3 2015-02-03
- [documentation] Improved documentation for API classes (diewald)
diff --git a/src/main/java/de/ids_mannheim/korap/match/HighlightCombinatorElement.java b/src/main/java/de/ids_mannheim/korap/match/HighlightCombinatorElement.java
index 6432c0e..dbd3e0a 100644
--- a/src/main/java/de/ids_mannheim/korap/match/HighlightCombinatorElement.java
+++ b/src/main/java/de/ids_mannheim/korap/match/HighlightCombinatorElement.java
@@ -45,66 +45,68 @@
// Return html fragment for this combinator element
public String toHTML (KorapMatch match, FixedBitSet level, byte[] levelCache) {
- // Opening
- if (this.type == 1) {
- StringBuilder sb = new StringBuilder();
- if (this.number == -1) {
- sb.append("<span class=\"match\">");
- }
+ // Opening
+ if (this.type == 1) {
+ StringBuilder sb = new StringBuilder();
+ if (this.number == -1) {
+ sb.append("<mark>");
+ }
- else if (this.number < -1) {
- sb.append("<span xml:id=\"")
- .append(match.getPosID(
- match.getClassID(this.number)))
- .append("\">");
- }
+ else if (this.number < -1) {
+ sb.append("<span xml:id=\"")
+ .append(match.getPosID(match.getClassID(this.number)))
+ .append("\">");
+ }
- else if (this.number >= 256) {
- sb.append("<span ");
- if (this.number < 2048) {
- sb.append("title=\"")
- .append(match.getAnnotationID(this.number))
- .append('"');
- }
- else {
- Relation rel = match.getRelationID(this.number);
- sb.append("xlink:title=\"")
- .append(rel.annotation)
- .append("\" xlink:type=\"simple\" xlink:href=\"#")
- .append(match.getPosID(rel.ref))
- .append('"');
- };
- sb.append('>');
- }
+ else if (this.number >= 256) {
+ sb.append("<span ");
+ if (this.number < 2048) {
+ sb.append("title=\"")
+ .append(match.getAnnotationID(this.number))
+ .append('"');
+ }
+ else {
+ Relation rel = match.getRelationID(this.number);
+ sb.append("xlink:title=\"")
+ .append(rel.annotation)
+ .append("\" xlink:type=\"simple\" xlink:href=\"#")
+ .append(match.getPosID(rel.ref))
+ .append('"');
+ };
+ sb.append('>');
+ }
- // Highlight - < 256
- else {
- // Get the first free level slot
- byte pos;
- if (levelCache[this.number] != '\0') {
- pos = levelCache[this.number];
- }
- else {
- pos = (byte) level.nextSetBit(0);
- level.clear(pos);
- levelCache[this.number] = pos;
- };
- sb.append("<em class=\"class-")
- .append(this.number)
- .append(" level-")
- .append(pos)
- .append("\">");
- };
- return sb.toString();
- }
- // Closing
- else if (this.type == 2) {
- if (this.number <= -1 || this.number >= 256)
- return "</span>";
-
- if (this.terminal)
- level.set((int) levelCache[this.number]);
- return "</em>";
+ // Highlight - < 256
+ else {
+ // Get the first free level slot
+ byte pos;
+ if (levelCache[this.number] != '\0') {
+ pos = levelCache[this.number];
+ }
+ else {
+ pos = (byte) level.nextSetBit(0);
+ level.clear(pos);
+ levelCache[this.number] = pos;
+ };
+ sb.append("<mark class=\"class-")
+ .append(this.number)
+ .append(" level-")
+ .append(pos)
+ .append("\">");
+ };
+ return sb.toString();
+ }
+ // Closing
+ else if (this.type == 2) {
+ if (this.number < -1 || this.number >= 256)
+ return "</span>";
+
+ if (this.number == -1)
+ return "</mark>";
+
+ if (this.terminal)
+ level.set((int) levelCache[this.number]);
+ return "</mark>";
};
// HTML encode primary data
diff --git a/src/test/java/de/ids_mannheim/korap/highlight/TestHighlight.java b/src/test/java/de/ids_mannheim/korap/highlight/TestHighlight.java
index cb27c50..7e47153 100644
--- a/src/test/java/de/ids_mannheim/korap/highlight/TestHighlight.java
+++ b/src/test/java/de/ids_mannheim/korap/highlight/TestHighlight.java
@@ -59,7 +59,7 @@
assertEquals(km.getEndPos(), 2);
assertEquals(km.getStartPos(1), 1);
assertEquals(km.getEndPos(1), 2);
- assertEquals("<span class=\"context-left\">a</span><span class=\"match\"><em class=\"class-1 level-0\">b</em></span><span class=\"context-right\">c</span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\">a</span><mark><mark class=\"class-1 level-0\">b</mark></mark><span class=\"context-right\">c</span>", km.getSnippetHTML());
kr = ki.search((SpanQuery) kq.seq(kq._(1, kq.seg("s:b"))).append(kq._(2, kq.seg("s:c"))).toQuery());
km = kr.getMatch(0);
@@ -69,7 +69,7 @@
assertEquals(km.getEndPos(1), 2);
assertEquals(km.getStartPos(2), 2);
assertEquals(km.getEndPos(2), 3);
- assertEquals("<span class=\"context-left\">a</span><span class=\"match\"><em class=\"class-1 level-0\">b</em><em class=\"class-2 level-0\">c</em></span><span class=\"context-right\"></span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\">a</span><mark><mark class=\"class-1 level-0\">b</mark><mark class=\"class-2 level-0\">c</mark></mark><span class=\"context-right\"></span>", km.getSnippetHTML());
kr = ki.search((SpanQuery) kq.seq(kq._(1, kq.seq(kq.seg("s:a")).append(kq.seg("s:b")))).append(kq._(2, kq.seg("s:c"))).toQuery());
@@ -80,7 +80,7 @@
assertEquals(km.getEndPos(1), 2);
assertEquals(km.getStartPos(2), 2);
assertEquals(km.getEndPos(2), 3);
- assertEquals("<span class=\"context-left\"></span><span class=\"match\"><em class=\"class-1 level-0\">ab</em><em class=\"class-2 level-0\">c</em></span><span class=\"context-right\"></span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\"></span><mark><mark class=\"class-1 level-0\">ab</mark><mark class=\"class-2 level-0\">c</mark></mark><span class=\"context-right\"></span>", km.getSnippetHTML());
kr = ki.search((SpanQuery) kq._(3, kq.seq(kq._(1, kq.seq(kq.seg("s:a")).append(kq.seg("s:b")))).append(kq._(2, kq.seg("s:c")))).toQuery());
@@ -93,7 +93,7 @@
assertEquals(km.getEndPos(2), 3);
assertEquals(km.getStartPos(3), 0);
assertEquals(km.getEndPos(3), 3);
- assertEquals("<span class=\"context-left\"></span><span class=\"match\"><em class=\"class-3 level-0\"><em class=\"class-1 level-1\">ab</em><em class=\"class-2 level-1\">c</em></em></span><span class=\"context-right\"></span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\"></span><mark><mark class=\"class-3 level-0\"><mark class=\"class-1 level-1\">ab</mark><mark class=\"class-2 level-1\">c</mark></mark></mark><span class=\"context-right\"></span>", km.getSnippetHTML());
};
@Test
@@ -125,14 +125,14 @@
KorapResult kr = ki.search((SpanQuery) kq.seq(kq.seg("s:a")).append(kq.seg("s:b")).append(kq.seg("s:c")).toQuery());
KorapMatch km = kr.getMatch(0);
km.addHighlight(0, 1, (short) 7);
- assertEquals("<span class=\"context-left\"></span><span class=\"match\"><em class=\"class-7 level-0\">ab</em>c</span><span class=\"context-right\"></span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\"></span><mark><mark class=\"class-7 level-0\">ab</mark>c</mark><span class=\"context-right\"></span>", km.getSnippetHTML());
km.addHighlight(1, 2, (short) 6);
- assertEquals("<span class=\"context-left\"></span><span class=\"match\"><em class=\"class-7 level-0\">a<em class=\"class-6 level-1\">b</em></em><em class=\"class-6 level-1\">c</em></span><span class=\"context-right\"></span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\"></span><mark><mark class=\"class-7 level-0\">a<mark class=\"class-6 level-1\">b</mark></mark><mark class=\"class-6 level-1\">c</mark></mark><span class=\"context-right\"></span>", km.getSnippetHTML());
km.addHighlight(0, 1, (short) 5);
assertEquals("[{7:{5:a{6:b}}}{6:c}]", km.getSnippetBrackets());
- assertEquals("<span class=\"context-left\"></span><span class=\"match\"><em class=\"class-7 level-0\"><em class=\"class-5 level-1\">a<em class=\"class-6 level-2\">b</em></em></em><em class=\"class-6 level-2\">c</em></span><span class=\"context-right\"></span>", km.getSnippetHTML());
+ assertEquals("<span class=\"context-left\"></span><mark><mark class=\"class-7 level-0\"><mark class=\"class-5 level-1\">a<mark class=\"class-6 level-2\">b</mark></mark></mark><mark class=\"class-6 level-2\">c</mark></mark><span class=\"context-right\"></span>", km.getSnippetHTML());
};
@@ -287,7 +287,7 @@
assertEquals(kr.getTotalResults(),7);
assertEquals(kr.getStartIndex(),0);
assertEquals(kr.getMatch(0).getSnippetBrackets(),"... 2. Herkunft Die aus dem proto-semitischen [{15:Alphabet}] stammende Urform des Buchstaben ist wahrscheinlich ...");
- assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><span class=\"match\"><em class=\"class-15 level-0\">Alphabet</em></span><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
+ assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><mark><mark class=\"class-15 level-0\">Alphabet</mark></mark><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
json = getString(getClass().getResource("/queries/bugs/greater_highlights_16.jsonld").getFile());
@@ -298,7 +298,7 @@
assertEquals(kr.getTotalResults(),7);
assertEquals(kr.getStartIndex(),0);
assertEquals(kr.getMatch(0).getSnippetBrackets(),"... 2. Herkunft Die aus dem proto-semitischen [{16:Alphabet}] stammende Urform des Buchstaben ist wahrscheinlich ...");
- assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><span class=\"match\"><em class=\"class-16 level-0\">Alphabet</em></span><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
+ assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><mark><mark class=\"class-16 level-0\">Alphabet</mark></mark><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
// 127
json = getString(getClass().getResource("/queries/bugs/greater_highlights_127.jsonld").getFile());
@@ -309,7 +309,7 @@
assertEquals(kr.getTotalResults(),7);
assertEquals(kr.getStartIndex(),0);
assertEquals(kr.getMatch(0).getSnippetBrackets(),"... 2. Herkunft Die aus dem proto-semitischen [{127:Alphabet}] stammende Urform des Buchstaben ist wahrscheinlich ...");
- assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><span class=\"match\"><em class=\"class-127 level-0\">Alphabet</em></span><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
+ assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><mark><mark class=\"class-127 level-0\">Alphabet</mark></mark><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
// 255
json = getString(getClass().getResource("/queries/bugs/greater_highlights_255.jsonld").getFile());
@@ -320,7 +320,7 @@
assertEquals(kr.getTotalResults(),7);
assertEquals(kr.getStartIndex(),0);
assertEquals(kr.getMatch(0).getSnippetBrackets(),"... 2. Herkunft Die aus dem proto-semitischen [Alphabet] stammende Urform des Buchstaben ist wahrscheinlich ...");
- assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><span class=\"match\">Alphabet</span><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
+ assertEquals(kr.getMatch(0).getSnippetHTML(),"<span class=\"context-left\"><span class=\"more\"></span>2. Herkunft Die aus dem proto-semitischen </span><mark>Alphabet</mark><span class=\"context-right\"> stammende Urform des Buchstaben ist wahrscheinlich<span class=\"more\"></span></span>");
// 300
json = getString(getClass().getResource("/queries/bugs/greater_highlights_300.jsonld").getFile());
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java
index df4c8ae..abf2fad 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestClassIndex.java
@@ -68,7 +68,7 @@
assertEquals("EndPos (0)", 9, kr.getMatch(0).endPos);
assertEquals("SnippetBrackets (0)", "... bcabca[ba]c", kr.getMatch(0).getSnippetBrackets());
assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\">" +
- "</span>bcabca</span><span class=\"match\">ba</span><span class=\"context-right" +
+ "</span>bcabca</span><mark>ba</mark><span class=\"context-right" +
"\">c</span>", kr.getMatch(0).getSnippetHTML());
sq = new SpanTermQuery(new Term("base", "s:b"));
@@ -80,8 +80,8 @@
assertEquals("SnippetBrackets (0)", "a[b]cabcab ...", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0)", "<span class=\"context-left\">a</span><span class=\"match\">" +
- "b</span><span class=\"context-right\">cabcab<span class=\"more\"></span></span>",
+ assertEquals("SnippetHTML (0)", "<span class=\"context-left\">a</span><mark>" +
+ "b</mark><span class=\"context-right\">cabcab<span class=\"more\"></span></span>",
kr.getMatch(0).getSnippetHTML());
assertEquals("StartPos (1)", 4, kr.getMatch(1).startPos);
@@ -98,8 +98,8 @@
assertEquals("StartPos (0)", 1, kr.getMatch(0).startPos);
assertEquals("EndPos (0)", 2, kr.getMatch(0).endPos);
assertEquals("snippetBrackets (0)", "a[{1:b}]cabcab ...", kr.getMatch(0).getSnippetBrackets());
- assertEquals("snippetHTML (0)", "<span class=\"context-left\">a</span><span class=\"match\">" +
- "<em class=\"class-1 level-0\">b</em></span><span class=\"context-right\">cabcab<span " +
+ assertEquals("snippetHTML (0)", "<span class=\"context-left\">a</span><mark>" +
+ "<mark class=\"class-1 level-0\">b</mark></mark><span class=\"context-right\">cabcab<span " +
"class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
assertEquals("StartPos (1)", 4, kr.getMatch(1).startPos);
@@ -123,7 +123,7 @@
assertEquals("EndPos (0)", 2, kr.getMatch(0).endPos);
assertEquals("SnippetBrackets (0)", "[a{1:b}]cabcab ...", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0)", "<span class=\"context-left\"></span><span class=\"match\">a<em class=\"class-1 level-0\">b</em></span><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0)", "<span class=\"context-left\"></span><mark>a<mark class=\"class-1 level-0\">b</mark></mark><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
assertEquals("StartPos (1)", 3, kr.getMatch(1).startPos);
assertEquals("EndPos (1)", 5, kr.getMatch(1).endPos);
@@ -166,19 +166,19 @@
assertEquals("totalResults", kr.getTotalResults(), 1);
assertEquals("SnippetBrackets (0)", "abcabc[a{2:b{1:a}}]c", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0)", "<span class=\"context-left\">abcabc</span><span class=\"match\">a<em class=\"class-2 level-0\">b<em class=\"class-1 level-1\">a</em></em></span><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0)", "<span class=\"context-left\">abcabc</span><mark>a<mark class=\"class-2 level-0\">b<mark class=\"class-1 level-1\">a</mark></mark></mark><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
// Offset tokens
kr = ki.search(sq, 0, (short) 10, true, (short) 2, true, (short) 2);
assertEquals("totalResults", kr.getTotalResults(), 1);
assertEquals("SnippetBrackets (0)", "... bc[a{2:b{1:a}}]c", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\"></span>bc</span><span class=\"match\">a<em class=\"class-2 level-0\">b<em class=\"class-1 level-1\">a</em></em></span><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\"></span>bc</span><mark>a<mark class=\"class-2 level-0\">b<mark class=\"class-1 level-1\">a</mark></mark></mark><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
// Offset Characters
kr = ki.search(sq, 0, (short) 10, false, (short) 2, false, (short) 2);
assertEquals("totalResults", kr.getTotalResults(), 1);
assertEquals("SnippetBrackets (0)", "... bc[a{2:b{1:a}}]c", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\"></span>bc</span><span class=\"match\">a<em class=\"class-2 level-0\">b<em class=\"class-1 level-1\">a</em></em></span><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0)", "<span class=\"context-left\"><span class=\"more\"></span>bc</span><mark>a<mark class=\"class-2 level-0\">b<mark class=\"class-1 level-1\">a</mark></mark></mark><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
// System.err.println(kr.toJSON());
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestMatchIdentifier.java b/src/test/java/de/ids_mannheim/korap/index/TestMatchIdentifier.java
index e201de4..5d320e4 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestMatchIdentifier.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestMatchIdentifier.java
@@ -186,22 +186,22 @@
"<span class=\"more\">"+
"</span>"+
"</span>"+
- "<span class=\"match\">"+
- "<em class=\"class-2 level-0\">"+
+ "<mark>"+
+ "<mark class=\"class-2 level-0\">"+
"<span title=\"f/m:acht\">"+
"<span title=\"f/y:eight\">"+
"b"+
"</span>"+
"</span>"+
- "<em class=\"class-4 level-1\">"+
+ "<mark class=\"class-4 level-1\">"+
"<span title=\"f/m:neun\">"+
"<span title=\"f/y:nine\">"+
"a"+
"</span>"+
"</span>"+
- "</em>"+
- "</em>"+
- "</span>"+
+ "</mark>"+
+ "</mark>"+
+ "</mark>"+
"<span class=\"context-right\">"+
"<span class=\"more\">"+
"</span>"+
@@ -229,8 +229,8 @@
"<span class=\"more\">" +
"</span>" +
"</span>" +
- "<span class=\"match\">" +
- "<em class=\"class-2 level-0\">" +
+ "<mark>" +
+ "<mark class=\"class-2 level-0\">" +
"<span title=\"f/m:acht\">" +
"<span title=\"f/y:eight\">" +
"<span title=\"it/is:8\">" +
@@ -240,7 +240,7 @@
"</span>" +
"</span>" +
"</span>" +
- "<em class=\"class-4 level-1\">" +
+ "<mark class=\"class-4 level-1\">" +
"<span title=\"f/m:neun\">" +
"<span title=\"f/y:nine\">" +
"<span title=\"it/is:9\">" +
@@ -250,9 +250,9 @@
"</span>" +
"</span>" +
"</span>" +
- "</em>" +
- "</em>" +
- "</span>" +
+ "</mark>" +
+ "</mark>" +
+ "</mark>" +
"<span class=\"context-right\">" +
"<span class=\"more\">" +
"</span>" +
@@ -279,7 +279,7 @@
"<span class=\"more\">" +
"</span>" +
"</span>" +
- "<span class=\"match\">" +
+ "<mark>" +
"<span title=\"f/m:acht\">" +
"<span title=\"f/y:eight\">" +
"<span title=\"it/is:8\">" +
@@ -298,7 +298,7 @@
"</span>" +
"</span>" +
"</span>" +
- "</span>" +
+ "</mark>" +
"<span class=\"context-right\">" +
"<span class=\"more\">" +
"</span>" +
@@ -367,9 +367,9 @@
"<span class=\"more\">" +
"</span>" +
"</span>" +
- "<span class=\"match\">" +
+ "<mark>" +
"<span title=\"x/tag\">" +
- "<em class=\"class-2 level-0\">" +
+ "<mark class=\"class-2 level-0\">" +
"<span title=\"f/m:acht\">" +
"<span title=\"f/y:eight\">" +
"<span title=\"it/is:8\">" +
@@ -379,7 +379,7 @@
"</span>" +
"</span>" +
"</span>" +
- "<em class=\"class-4 level-1\">" +
+ "<mark class=\"class-4 level-1\">" +
"<span title=\"f/m:neun\">" +
"<span title=\"f/y:nine\">" +
"<span title=\"it/is:9\">" +
@@ -389,8 +389,8 @@
"</span>" +
"</span>" +
"</span>" +
- "</em>" +
- "</em>" +
+ "</mark>" +
+ "</mark>" +
"<span title=\"f/m:zehn\">" +
"<span title=\"f/y:ten\">" +
"<span title=\"it/is:10\">" +
@@ -401,7 +401,7 @@
"</span>" +
"</span>" +
"</span>" +
- "</span>" +
+ "</mark>" +
"<span class=\"context-right\">" +
"</span>",
km.getSnippetHTML());
@@ -427,7 +427,7 @@
assertEquals("SnippetBrackets (1)",
"<span class=\"context-left\">" +
"</span>" +
- "<span class=\"match\">" +
+ "<mark>" +
"<span xlink:title=\"x/rel:a\" " +
"xlink:type=\"simple\" " +
"xlink:href=\"#word-c1!d1-p3\">" +
@@ -449,7 +449,7 @@
"<span title=\"x/o:fünftens\">" +
"b" +
"</span>" +
- "</span>" +
+ "</mark>" +
"<span class=\"context-right\">" +
"<span class=\"more\">" +
"</span>" +
@@ -466,7 +466,7 @@
assertEquals("SnippetBrackets (1)",
"<span class=\"context-left\">" +
"</span>" +
- "<span class=\"match\">" +
+ "<mark>" +
"<span xlink:title=\"x/rel:a\" " +
"xlink:type=\"simple\" " +
"xlink:href=\"#word-c1!d1-p3\">" +
@@ -477,7 +477,7 @@
"<span title=\"x/o:zweitens\">" +
"b" +
"</span>" +
- "<em class=\"class-7 level-0\">" +
+ "<mark class=\"class-7 level-0\">" +
"<span title=\"x/o:drittens\">" +
"c" +
"</span>" +
@@ -486,11 +486,11 @@
"a" +
"</span>" +
"</span>" +
- "</em>" +
+ "</mark>" +
"<span title=\"x/o:fünftens\">" +
"b" +
"</span>" +
- "</span>" +
+ "</mark>" +
"<span class=\"context-right\">" +
"<span class=\"more\">" +
"</span>" +
@@ -572,7 +572,7 @@
assertEquals("SnippetHTML (2)",
"<span class=\"context-left\">" +
"</span>" +
- "<span class=\"match\">"+
+ "<mark>"+
"<span xlink:title=\"x/rel:a\" xlink:type=\"simple\" xlink:href=\"#word-c1!d1-p3\">"+
"<span title=\"f/m:eins\">"+
"<span title=\"f/y:one\">"+
@@ -607,7 +607,7 @@
"</span>"+
"</span>"+
"</span>"+
- "</span>"+
+ "</mark>"+
"<span class=\"context-right\">"+
"<span class=\"more\">"+
"</span>"+
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestMatchIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestMatchIndex.java
index 7de423b..c3ad7c7 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestMatchIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestMatchIndex.java
@@ -72,7 +72,7 @@
assertEquals("EndPos (0)", 9, kr.getMatch(0).endPos);
assertEquals("SnippetBrackets (0)", "... bcabca[b{1:a}]c", kr.getMatch(0).getSnippetBrackets());
- assertEquals("Test no 'more' context", "<span class=\"context-left\"><span class=\"more\"></span>bcabca</span><span class=\"match\">b<em class=\"class-1 level-0\">a</em></span><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("Test no 'more' context", "<span class=\"context-left\"><span class=\"more\"></span>bcabca</span><mark>b<mark class=\"class-1 level-0\">a</mark></mark><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
sq = new SpanFocusQuery(
new SpanNextQuery(
new SpanTermQuery(new Term("base", "s:b")),
@@ -102,13 +102,13 @@
assertEquals("SnippetBrackets (0)", "a[{3:b}]cabcab ...", kr.getMatch(0).getSnippetBrackets());
- assertEquals("<span class=\"context-left\">a</span><span class=\"match\"><em class=\"class-3 level-0\">b</em></span><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("<span class=\"context-left\">a</span><mark><mark class=\"class-3 level-0\">b</mark></mark><span class=\"context-right\">cabcab<span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
assertEquals("StartPos (1)", 4, kr.getMatch(1).startPos);
assertEquals("EndPos (1)", 5, kr.getMatch(1).endPos);
assertEquals("SnippetBrackets (1)", "abca[{3:b}]cabac", kr.getMatch(1).getSnippetBrackets());
- assertEquals("<span class=\"context-left\">abca</span><span class=\"match\"><em class=\"class-3 level-0\">b</em></span><span class=\"context-right\">cabac</span>", kr.getMatch(1).getSnippetHTML());
+ assertEquals("<span class=\"context-left\">abca</span><mark><mark class=\"class-3 level-0\">b</mark></mark><span class=\"context-right\">cabac</span>", kr.getMatch(1).getSnippetHTML());
assertEquals("StartPos (2)", 7, kr.getMatch(2).startPos);
assertEquals("EndPos (2)", 8, kr.getMatch(2).endPos);
@@ -132,7 +132,7 @@
assertEquals("totalResults", kr.getTotalResults(), 1);
assertEquals("SnippetBrackets (0)", "... bcabca[{2:b{1:a}}]c", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0) 1", "<span class=\"context-left\"><span class=\"more\"></span>bcabca</span><span class=\"match\"><em class=\"class-2 level-0\">b<em class=\"class-1 level-1\">a</em></em></span><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0) 1", "<span class=\"context-left\"><span class=\"more\"></span>bcabca</span><mark><mark class=\"class-2 level-0\">b<mark class=\"class-1 level-1\">a</mark></mark></mark><span class=\"context-right\">c</span>", kr.getMatch(0).getSnippetHTML());
// Offset tokens
kr = ki.search(sq, 0, (short) 10, true, (short) 2, true, (short) 2);
@@ -146,7 +146,7 @@
assertEquals("totalResults", kr.getTotalResults(), 1);
assertEquals("SnippetBrackets (0)", "... a[{2:b{1:a}}] ...", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0) 2", "<span class=\"context-left\"><span class=\"more\"></span>a</span><span class=\"match\"><em class=\"class-2 level-0\">b<em class=\"class-1 level-1\">a</em></em></span><span class=\"context-right\"><span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0) 2", "<span class=\"context-left\"><span class=\"more\"></span>a</span><mark><mark class=\"class-2 level-0\">b<mark class=\"class-1 level-1\">a</mark></mark></mark><span class=\"context-right\"><span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
sq = new SpanFocusQuery(
new SpanClassQuery(
@@ -241,26 +241,26 @@
kr = ki.search(sq, (short) 20);
assertEquals("totalResults", kr.getTotalResults(), 7);
- assertEquals("SnippetBrackets (0)", "<span class=\"context-left\"></span><span class=\"match\">a</span><span class=\"context-right\">bcabca<span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetBrackets (0)", "<span class=\"context-left\"></span><mark>a</mark><span class=\"context-right\">bcabca<span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
assertEquals("SnippetBrackets (0)", "[a]bcabca ...", kr.getMatch(0).getSnippetBrackets());
assertEquals("SnippetBrackets (1)", "ab[c]abcaba ...", kr.getMatch(1).getSnippetBrackets());
- assertEquals("SnippetBrackets (1)", "<span class=\"context-left\">ab</span><span class=\"match\">c</span><span class=\"context-right\">abcaba<span class=\"more\"></span></span>", kr.getMatch(1).getSnippetHTML());
+ assertEquals("SnippetBrackets (1)", "<span class=\"context-left\">ab</span><mark>c</mark><span class=\"context-right\">abcaba<span class=\"more\"></span></span>", kr.getMatch(1).getSnippetHTML());
assertEquals("SnippetBrackets (6)", "... abcaba[c]", kr.getMatch(6).getSnippetBrackets());
- assertEquals("SnippetBrackets (6)", "<span class=\"context-left\"><span class=\"more\"></span>abcaba</span><span class=\"match\">c</span><span class=\"context-right\"></span>", kr.getMatch(6).getSnippetHTML());
+ assertEquals("SnippetBrackets (6)", "<span class=\"context-left\"><span class=\"more\"></span>abcaba</span><mark>c</mark><span class=\"context-right\"></span>", kr.getMatch(6).getSnippetHTML());
kr = ki.search(sq, 0, (short) 20, true, (short) 0, true, (short) 0);
assertEquals("totalResults", kr.getTotalResults(), 7);
assertEquals("SnippetBrackets (0)", "[a] ...", kr.getMatch(0).getSnippetBrackets());
- assertEquals("SnippetHTML (0)", "<span class=\"context-left\"></span><span class=\"match\">a</span><span class=\"context-right\"><span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
+ assertEquals("SnippetHTML (0)", "<span class=\"context-left\"></span><mark>a</mark><span class=\"context-right\"><span class=\"more\"></span></span>", kr.getMatch(0).getSnippetHTML());
assertEquals("SnippetBrackets (1)", "... [c] ...", kr.getMatch(1).getSnippetBrackets());
- assertEquals("SnippetHTML (1)", "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\">c</span><span class=\"context-right\"><span class=\"more\"></span></span>", kr.getMatch(1).getSnippetHTML());
+ assertEquals("SnippetHTML (1)", "<span class=\"context-left\"><span class=\"more\"></span></span><mark>c</mark><span class=\"context-right\"><span class=\"more\"></span></span>", kr.getMatch(1).getSnippetHTML());
assertEquals("SnippetBrackets (6)", "... [c]", kr.getMatch(6).getSnippetBrackets());
- assertEquals("SnippetBrackets (6)", "<span class=\"context-left\"><span class=\"more\"></span></span><span class=\"match\">c</span><span class=\"context-right\"></span>", kr.getMatch(6).getSnippetHTML());
+ assertEquals("SnippetBrackets (6)", "<span class=\"context-left\"><span class=\"more\"></span></span><mark>c</mark><span class=\"context-right\"></span>", kr.getMatch(6).getSnippetHTML());
};
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestWithinIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestWithinIndex.java
index e0324d4..62821c7 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestWithinIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestWithinIndex.java
@@ -818,7 +818,7 @@
assertEquals("totalResults", kr.getTotalResults(), 1);
assertEquals("... schrie: [\"{3:Das war ich}!\"] und ...",kr.getMatch(0).getSnippetBrackets());
- assertEquals("<span class=\"context-left\"><span class=\"more\"></span>schrie: </span><span class=\"match\">"<em class=\"class-3 level-0\">Das war ich</em>!"</span><span class=\"context-right\"> und<span class=\"more\"></span></span>",kr.getMatch(0).getSnippetHTML());
+ assertEquals("<span class=\"context-left\"><span class=\"more\"></span>schrie: </span><mark>"<mark class=\"class-3 level-0\">Das war ich</mark>!"</mark><span class=\"context-right\"> und<span class=\"more\"></span></span>",kr.getMatch(0).getSnippetHTML());
kr = ki.search(sq, 0, (short) 15, true, (short) 0, true, (short) 0);
assertEquals("... [\"{3:Das war ich}!\"] ...",kr.getMatch(0).getSnippetBrackets());
diff --git a/src/test/java/de/ids_mannheim/korap/search/TestKorapResult.java b/src/test/java/de/ids_mannheim/korap/search/TestKorapResult.java
index debd89d..f07b184 100644
--- a/src/test/java/de/ids_mannheim/korap/search/TestKorapResult.java
+++ b/src/test/java/de/ids_mannheim/korap/search/TestKorapResult.java
@@ -79,7 +79,7 @@
assertEquals(1, res.at("/matches/0/UID").asInt());
assertEquals("doc-1", res.at("/matches/0/docID").asText());
assertEquals("match-doc-1-p0-1(1)0-0", res.at("/matches/0/ID").asText());
- assertEquals("<span class=\"context-left\"></span><span class=\"match\"><em class=\"class-1 level-0\">a</em></span><span class=\"context-right\">bab</span>", res.at("/matches/0/snippet").asText());
+ assertEquals("<span class=\"context-left\"></span><mark><mark class=\"class-1 level-0\">a</mark></mark><span class=\"context-right\">bab</span>", res.at("/matches/0/snippet").asText());
assertEquals("base", res.at("/matches/6/field").asText());
/*
@@ -90,7 +90,7 @@
assertEquals(2, res.at("/matches/6/UID").asInt());
assertEquals("doc-2", res.at("/matches/6/docID").asText());
assertEquals("match-doc-2-p2-3(1)2-2", res.at("/matches/6/ID").asText());
- assertEquals("<span class=\"context-left\">ab</span><span class=\"match\"><em class=\"class-1 level-0\">a</em></span><span class=\"context-right\"></span>", res.at("/matches/6/snippet").asText());
+ assertEquals("<span class=\"context-left\">ab</span><mark><mark class=\"class-1 level-0\">a</mark></mark><span class=\"context-right\"></span>", res.at("/matches/6/snippet").asText());
};
@@ -189,7 +189,7 @@
assertEquals(1, res.at("/matches/0/UID").asInt());
assertEquals("doc-1", res.at("/matches/0/docID").asText());
assertEquals("match-doc-1-p0-1", res.at("/matches/0/ID").asText());
- assertEquals("<span class=\"context-left\"></span><span class=\"match\">a</span><span class=\"context-right\">bab</span>", res.at("/matches/0/snippet").asText());
+ assertEquals("<span class=\"context-left\"></span><mark>a</mark><span class=\"context-right\">bab</span>", res.at("/matches/0/snippet").asText());
};