Navigation Menu

Skip to content

Commit

Permalink
use proposed xml output format
Browse files Browse the repository at this point in the history
  • Loading branch information
Ryo Onodera committed Nov 30, 2009
1 parent 1a571e2 commit 67eb730
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 9 deletions.
5 changes: 3 additions & 2 deletions lib/db.c
Expand Up @@ -9665,7 +9665,8 @@ grn_select(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
grn_text_itoa(ctx, outbuf, ctx->rc);
break;
case GRN_CONTENT_XML:
GRN_TEXT_PUTS(ctx, outbuf, "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<SEGMENTS><SEGMENT><RESULTPAGE>");
GRN_TEXT_PUTS(ctx, outbuf, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<SEGMENTS>\n<SEGMENT>\n<RESULTPAGE>\n");
break;
case GRN_CONTENT_TSV:
grn_text_itoa(ctx, outbuf, ctx->rc);
Expand Down Expand Up @@ -9857,7 +9858,7 @@ grn_select(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
GRN_TEXT_PUTC(ctx, outbuf, '\n');
break;
case GRN_CONTENT_XML:
GRN_TEXT_PUTS(ctx, outbuf, "</RESULTPAGE></SEGMENT></SEGMENTS>\n");
GRN_TEXT_PUTS(ctx, outbuf, "</RESULTPAGE>\n</SEGMENT>\n</SEGMENTS>\n");
break;
case GRN_CONTENT_NONE:
break;
Expand Down
4 changes: 2 additions & 2 deletions lib/str.c
Expand Up @@ -2573,7 +2573,7 @@ grn_text_otoxml(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj, grn_obj_format *forma
case GRN_OBJ_FORMAT_XML_ELEMENT_RESULTSET:
GRN_TEXT_PUTS(ctx, bulk, "<HIT NO=\"");
grn_text_itoa(ctx, bulk, i);
GRN_TEXT_PUTS(ctx, bulk, "\">");
GRN_TEXT_PUTS(ctx, bulk, "\">\n");
for (j = 0; j < ncolumns; j++) {
GRN_TEXT_PUTS(ctx, bulk, "<FIELD NAME=\"");
GRN_BULK_REWIND(&buf);
Expand Down Expand Up @@ -2606,7 +2606,7 @@ grn_text_otoxml(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj, grn_obj_format *forma
}
switch (format->flags & GRN_OBJ_FORMAT_XML_ELEMENT_MASK) {
case GRN_OBJ_FORMAT_XML_ELEMENT_RESULTSET:
GRN_TEXT_PUTS(ctx, bulk, "</RESULTSET>");
GRN_TEXT_PUTS(ctx, bulk, "</RESULTSET>\n");
break;
case GRN_OBJ_FORMAT_XML_ELEMENT_NAVIGATIONENTRY:
GRN_TEXT_PUTS(ctx, bulk, "</NAVIGATIONELEMENTS></NAVIGATIONENTRY>");
Expand Down
18 changes: 13 additions & 5 deletions test/unit/http/test-http-select.rb
Expand Up @@ -662,19 +662,27 @@ def test_xml
populate_users

expected = <<EOF
<?xml version="1.0" encoding="utf-8" ?>
<SEGMENTS><SEGMENT><RESULTPAGE><RESULTSET OFFSET="0" LIMIT="10" NHITS="2">
<HIT NO="1"><FIELD NAME="_id">2</FIELD>
<?xml version="1.0" encoding="utf-8"?>
<SEGMENTS>
<SEGMENT>
<RESULTPAGE>
<RESULTSET OFFSET="0" LIMIT="10" NHITS="2">
<HIT NO="1">
<FIELD NAME="_id">2</FIELD>
<FIELD NAME="_key">hayamiz</FIELD>
<FIELD NAME="real_name">Yuto Hayamizu</FIELD>
<FIELD NAME="hp">200</FIELD>
</HIT>
<HIT NO="2"><FIELD NAME="_id">1</FIELD>
<HIT NO="2">
<FIELD NAME="_id">1</FIELD>
<FIELD NAME="_key">ryoqun</FIELD>
<FIELD NAME="real_name">Ryo Onodera</FIELD>
<FIELD NAME="hp">200</FIELD>
</HIT>
</RESULTSET></RESULTPAGE></SEGMENT></SEGMENTS>
</RESULTSET>
</RESULTPAGE>
</SEGMENT>
</SEGMENTS>
EOF
assert_select_xml(expected, :table => "users")
end
Expand Down

0 comments on commit 67eb730

Please sign in to comment.