1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

'v3.3.4.1'

This commit is contained in:
gnosygnu
2016-03-27 23:44:59 -04:00
parent de67253a9c
commit baaef32df2
903 changed files with 13339 additions and 8695 deletions

View File

@@ -164,7 +164,7 @@ public class Xop_ctx {
case Xop_tkn_itm_.Tid_xnde:
Xop_xnde_tkn xnde_tkn = (Xop_xnde_tkn)tkn;
switch (xnde_tkn.Tag().Id()) {
case Xop_xnde_tag_.Tid_table:
case Xop_xnde_tag_.Tid__table:
return (Xop_tblw_tkn)tkn;
}
break;
@@ -185,11 +185,11 @@ public class Xop_ctx {
case Xop_tkn_itm_.Tid_xnde:
Xop_xnde_tkn xnde_tkn = (Xop_xnde_tkn)tkn;
switch (xnde_tkn.Tag().Id()) {
case Xop_xnde_tag_.Tid_table:
case Xop_xnde_tag_.Tid_tr:
case Xop_xnde_tag_.Tid_td:
case Xop_xnde_tag_.Tid_th:
case Xop_xnde_tag_.Tid_caption:
case Xop_xnde_tag_.Tid__table:
case Xop_xnde_tag_.Tid__tr:
case Xop_xnde_tag_.Tid__td:
case Xop_xnde_tag_.Tid__th:
case Xop_xnde_tag_.Tid__caption:
return (Xop_tblw_tkn)tkn;
}
break;

View File

@@ -65,7 +65,7 @@ public class Xop_parser { // NOTE: parsers are reused; do not keep any read-writ
tmpl_props.OnlyInclude_exists = false; int subs_len = root.Subs_len();
for (int i = 0; i < subs_len; i++)
root.Subs_get(i).Tmpl_compile(ctx, src, tmpl_props);
boolean only_include_chk = Bry_find_.Find_fwd(src, Xop_xnde_tag_.Name_onlyinclude, 0, src.length) != Bry_find_.Not_found;
boolean only_include_chk = Bry_find_.Find_fwd(src, Xop_xnde_tag_.Bry__onlyinclude, 0, src.length) != Bry_find_.Not_found;
if (only_include_chk) tmpl_props.OnlyInclude_exists = true;
tmpl.Init_by_new(ns, name, src, root, tmpl_props.OnlyInclude_exists);
} private Xot_compile_data tmpl_props = new Xot_compile_data();

View File

@@ -62,33 +62,37 @@ public class Xop_tkn_mkr {
public Xop_bry_tkn Bry_raw(int bgn, int end, byte[] bry) {return new Xop_bry_tkn(bgn, end, bry);}
public Xop_bry_tkn Bry_mid(byte[] src, int bgn, int end) {return new Xop_bry_tkn(bgn, end, Bry_.Mid(src, bgn, end));}
public Xop_under_tkn Under(int bgn, int end, int v) {return new Xop_under_tkn(bgn, end, v);}
public gplx.xowa.xtns.xowa_cmds.Xop_xowa_cmd Xnde_xowa_cmd() {return new gplx.xowa.xtns.xowa_cmds.Xop_xowa_cmd();}
public gplx.xowa.xtns.poems.Poem_nde Xnde_poem() {return new gplx.xowa.xtns.poems.Poem_nde();}
public Ref_nde Xnde_ref() {return new Ref_nde();}
public References_nde Xnde_references() {return new References_nde();}
public gplx.xowa.xtns.math.Math_nde Xnde_math() {return new gplx.xowa.xtns.math.Math_nde();}
public gplx.xowa.xtns.gallery.Gallery_xnde Xnde_gallery() {return new gplx.xowa.xtns.gallery.Gallery_xnde();}
public gplx.xowa.xtns.imaps.Imap_xnde Xnde_imageMap() {return new gplx.xowa.xtns.imaps.Imap_xnde();}
public gplx.xowa.xtns.hieros.Hiero_xnde Xnde_hiero() {return new gplx.xowa.xtns.hieros.Hiero_xnde();}
public gplx.xowa.xtns.graphs.Graph_xnde Xnde_graph() {return new gplx.xowa.xtns.graphs.Graph_xnde();}
public gplx.xowa.xtns.proofreadPage.Pp_pages_nde Xnde_pages() {return new gplx.xowa.xtns.proofreadPage.Pp_pages_nde();}
public gplx.xowa.xtns.proofreadPage.Pp_pagelist_nde Xnde_pagelist() {return new gplx.xowa.xtns.proofreadPage.Pp_pagelist_nde();}
public gplx.xowa.xtns.proofreadPage.Pp_pagequality_nde Xnde_pagequality() {return new gplx.xowa.xtns.proofreadPage.Pp_pagequality_nde();}
public gplx.xowa.xtns.lst.Lst_section_nde Xnde_section() {return new gplx.xowa.xtns.lst.Lst_section_nde();}
public gplx.xowa.xtns.categoryList.Xtn_categorylist_nde Xnde_categoryList() {return new gplx.xowa.xtns.categoryList.Xtn_categorylist_nde();}
public gplx.xowa.xtns.dynamicPageList.Dpl_xnde Xnde_dynamicPageList() {return new gplx.xowa.xtns.dynamicPageList.Dpl_xnde();}
public gplx.xowa.xtns.syntax_highlights.Synh_xtn_nde Xnde_syntaxHighlight() {return new gplx.xowa.xtns.syntax_highlights.Synh_xtn_nde();}
public gplx.xowa.xtns.templateData.Xtn_templateData_nde Xnde_templateData() {return new gplx.xowa.xtns.templateData.Xtn_templateData_nde();}
public gplx.xowa.xtns.rss.Rss_xnde Xnde_rss() {return new gplx.xowa.xtns.rss.Rss_xnde();}
public gplx.xowa.xtns.quiz.Quiz_xnde Xnde_quiz() {return new gplx.xowa.xtns.quiz.Quiz_xnde();}
public gplx.xowa.xtns.indicators.Indicator_xnde Xnde_indicator() {return new gplx.xowa.xtns.indicators.Indicator_xnde();}
public gplx.xowa.xtns.xowa_cmds.Xox_xowa_html_cmd Xnde_xowa_html() {return new gplx.xowa.xtns.xowa_cmds.Xox_xowa_html_cmd();}
public gplx.xowa.xtns.listings.Listing_xnde Xnde_listing(int tag_id) {return new gplx.xowa.xtns.listings.Listing_xnde(tag_id);}
public gplx.xowa.xtns.scores.Score_xnde Xnde_score() {return new gplx.xowa.xtns.scores.Score_xnde();}
public gplx.xowa.xtns.inputBox.Xtn_inputbox_nde Xnde_inputbox() {return new gplx.xowa.xtns.inputBox.Xtn_inputbox_nde();}
public gplx.xowa.xtns.translates.Xop_translate_xnde Xnde_translate() {return new gplx.xowa.xtns.translates.Xop_translate_xnde();}
public gplx.xowa.xtns.translates.Xop_languages_xnde Xnde_languages() {return new gplx.xowa.xtns.translates.Xop_languages_xnde();}
public gplx.xowa.xtns.translates.Xop_tvar_tkn Tvar(int tkn_bgn, int tkn_end, int key_bgn, int key_end, int txt_bgn, int txt_end, byte[] wikitext) {return new gplx.xowa.xtns.translates.Xop_tvar_tkn(tkn_bgn, tkn_end, key_bgn, key_end, txt_bgn, txt_end, wikitext);}
public gplx.xowa.xtns.xowa_cmds.Xop_xowa_cmd Xnde__xowa_cmd() {return new gplx.xowa.xtns.xowa_cmds.Xop_xowa_cmd();}
public gplx.xowa.xtns.poems.Poem_nde Xnde__poem() {return new gplx.xowa.xtns.poems.Poem_nde();}
public Ref_nde Xnde__ref() {return new Ref_nde();}
public References_nde Xnde__references() {return new References_nde();}
public gplx.xowa.xtns.math.Math_nde Xnde__math() {return new gplx.xowa.xtns.math.Math_nde();}
public gplx.xowa.xtns.gallery.Gallery_xnde Xnde__gallery() {return new gplx.xowa.xtns.gallery.Gallery_xnde();}
public gplx.xowa.xtns.imaps.Imap_xnde Xnde__imageMap() {return new gplx.xowa.xtns.imaps.Imap_xnde();}
public gplx.xowa.xtns.hieros.Hiero_xnde Xnde__hiero() {return new gplx.xowa.xtns.hieros.Hiero_xnde();}
public gplx.xowa.xtns.graphs.Graph_xnde Xnde__graph() {return new gplx.xowa.xtns.graphs.Graph_xnde();}
public gplx.xowa.xtns.proofreadPage.Pp_pages_nde Xnde__pages() {return new gplx.xowa.xtns.proofreadPage.Pp_pages_nde();}
public gplx.xowa.xtns.proofreadPage.Pp_pagelist_nde Xnde__pagelist() {return new gplx.xowa.xtns.proofreadPage.Pp_pagelist_nde();}
public gplx.xowa.xtns.proofreadPage.Pp_pagequality_nde Xnde__pagequality() {return new gplx.xowa.xtns.proofreadPage.Pp_pagequality_nde();}
public gplx.xowa.xtns.lst.Lst_section_nde Xnde__section() {return new gplx.xowa.xtns.lst.Lst_section_nde();}
public gplx.xowa.xtns.categoryList.Xtn_categorylist_nde Xnde__categoryList() {return new gplx.xowa.xtns.categoryList.Xtn_categorylist_nde();}
public gplx.xowa.xtns.dynamicPageList.Dpl_xnde Xnde__dynamicPageList() {return new gplx.xowa.xtns.dynamicPageList.Dpl_xnde();}
public gplx.xowa.xtns.syntax_highlights.Synh_xtn_nde Xnde__syntaxHighlight() {return new gplx.xowa.xtns.syntax_highlights.Synh_xtn_nde();}
public gplx.xowa.xtns.templateData.Xtn_templateData_nde Xnde__templateData() {return new gplx.xowa.xtns.templateData.Xtn_templateData_nde();}
public gplx.xowa.xtns.rss.Rss_xnde Xnde__rss() {return new gplx.xowa.xtns.rss.Rss_xnde();}
public gplx.xowa.xtns.quiz.Quiz_xnde Xnde__quiz() {return new gplx.xowa.xtns.quiz.Quiz_xnde();}
public gplx.xowa.xtns.indicators.Indicator_xnde Xnde__indicator() {return new gplx.xowa.xtns.indicators.Indicator_xnde();}
public gplx.xowa.xtns.xowa_cmds.Xox_xowa_html_cmd Xnde__xowa_html() {return new gplx.xowa.xtns.xowa_cmds.Xox_xowa_html_cmd();}
public gplx.xowa.xtns.listings.Listing_xnde Xnde__listing(int tag_id) {return new gplx.xowa.xtns.listings.Listing_xnde(tag_id);}
public gplx.xowa.xtns.scores.Score_xnde Xnde__score() {return new gplx.xowa.xtns.scores.Score_xnde();}
public gplx.xowa.xtns.inputBox.Xtn_inputbox_nde Xnde__inputbox() {return new gplx.xowa.xtns.inputBox.Xtn_inputbox_nde();}
public gplx.xowa.xtns.translates.Xop_translate_xnde Xnde__translate() {return new gplx.xowa.xtns.translates.Xop_translate_xnde();}
public gplx.xowa.xtns.translates.Xop_languages_xnde Xnde__languages() {return new gplx.xowa.xtns.translates.Xop_languages_xnde();}
public gplx.xowa.xtns.wikias.Random_selection_xnde Xnde__random_selection() {return new gplx.xowa.xtns.wikias.Random_selection_xnde();}
public gplx.xowa.xtns.wikias.Tabber_xnde Xnde__tabber() {return new gplx.xowa.xtns.wikias.Tabber_xnde();}
public gplx.xowa.xtns.wikias.Tabview_xnde Xnde__tabview() {return new gplx.xowa.xtns.wikias.Tabview_xnde();}
public gplx.xowa.xtns.translates.Xop_tvar_tkn Tvar(int tkn_bgn, int tkn_end, int key_bgn, int key_end, int txt_bgn, int txt_end, byte[] wikitext) {return new gplx.xowa.xtns.translates.Xop_tvar_tkn(tkn_bgn, tkn_end, key_bgn, key_end, txt_bgn, txt_end, wikitext);}
// public void Clear() {
// space_tkns_len = txt_tkns_len = 0;
// }

View File

@@ -34,7 +34,7 @@ public class Xop_hdr_wkr implements Xop_ctx_wkr {
if (bgn_pos == Xop_parser_.Doc_bgn_bos) bgn_pos = 0; // do not allow -1 pos
ctx.Apos().EndFrame(ctx, root, src, bgn_pos, false);
Close_open_itms(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos);
ctx.Para().Process_block__bgn__nl_w_symbol(ctx, root, src, bgn_pos, cur_pos, Xop_xnde_tag_.Tag_h2); // pass h2; should pass h# where # is correct #, but for purpose of Para_wkr, <h2> tag does not matter
ctx.Para().Process_block__bgn__nl_w_symbol(ctx, root, src, bgn_pos, cur_pos, Xop_xnde_tag_.Tag__h2); // pass h2; should pass h# where # is correct #, but for purpose of Para_wkr, <h2> tag does not matter
int new_pos = Bry_find_.Find_fwd_while(src, cur_pos, src_len, Xop_hdr_lxr.Hook); // count all =
int hdr_len = new_pos - cur_pos + 1; // +1 b/c Hook has 1 eq: "\n="
switch (hdr_len) {
@@ -73,7 +73,7 @@ public class Xop_hdr_wkr implements Xop_ctx_wkr {
if (dirty)
hdr.Hdr_bgn_manual_(bgn_manual).Hdr_end_manual_(end_manual).Hdr_level_(hdr_len);
cur_pos = Find_fwd_while_ws_hdr_version(src, cur_pos, src_len); // NOTE: hdr gobbles up trailing ws; EX: "==a== \n\t \n \nb" gobbles up all 3 "\n"s; otherwise para_wkr will process <br/>
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_h2);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__h2);
hdr.Subs_move(root);
hdr.Src_end_(cur_pos);
if (ctx.Parse_tid() == Xop_parser_.Parse_tid_page_wiki)

View File

@@ -472,10 +472,10 @@ public class Mwh_atr_parser { // REF.MW:Sanitizer.php|decodeTagAttributes;MW_ATT
return Bry_find_.Not_found;
}
private static final Hash_adp_bry xnde_hash = Hash_adp_bry.ci_a7()
.Add_bry_bry(Xop_xnde_tag_.Tag_nowiki.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag_noinclude.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag_includeonly.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag_onlyinclude.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag__nowiki.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag__noinclude.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag__includeonly.Name_bry())
.Add_bry_bry(Xop_xnde_tag_.Tag__onlyinclude.Name_bry())
;
public static final int Key_tid__unknown = -1;
}

View File

@@ -41,9 +41,9 @@ public class Mwh_doc_parser_tst {
@Test public void Node__single_only() {
fxt.Test_parse("<b>a<br>b</b>c"
, fxt.Make_nde_head("<b>")
, fxt.Make_txt("a", Xop_xnde_tag_.Tid_b)
, fxt.Make_txt("a", Xop_xnde_tag_.Tid__b)
, fxt.Make_nde_head("<br>")
, fxt.Make_txt("b", Xop_xnde_tag_.Tid_b) // <b> not <br>
, fxt.Make_txt("b", Xop_xnde_tag_.Tid__b) // <b> not <br>
, fxt.Make_nde_tail("</b>")
, fxt.Make_txt("c", Xop_xnde_tag_.Tid__null)
);
@@ -51,9 +51,9 @@ public class Mwh_doc_parser_tst {
@Test public void Node__pre() {
fxt.Test_parse("<pre>a<div>b</pre>c"
, fxt.Make_nde_head("<pre>")
, fxt.Make_txt("a", Xop_xnde_tag_.Tid_pre)
, fxt.Make_txt("a", Xop_xnde_tag_.Tid__pre)
, fxt.Make_nde_head("<div>")
, fxt.Make_txt("b", Xop_xnde_tag_.Tid_pre) // <pre> not <div>
, fxt.Make_txt("b", Xop_xnde_tag_.Tid__pre) // <pre> not <div>
, fxt.Make_nde_tail("</pre>")
, fxt.Make_txt("c", Xop_xnde_tag_.Tid__null)
);

View File

@@ -30,7 +30,7 @@ public class Xop_list_wkr implements Xop_ctx_wkr {
// NOTE: list_tkns can not be explicitly closed, so auto-close will happen for all items
MakeTkn_end(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, (Xop_list_tkn)tkn, Bool_.Y_byte);
Reset(listId + 1);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_ul);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__ul);
}
public int MakeTkn_bgn(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos) {// REF.MW: Parser|doBlockLevels
if (bgn_pos == Xop_parser_.Doc_bgn_bos) bgn_pos = 0; // do not allow -1 pos
@@ -47,7 +47,7 @@ public class Xop_list_wkr implements Xop_ctx_wkr {
symByt = src[cur_pos - 1]; // NOTE: get symByt again b/c cur_pos may have changed; EX: "#*"; # may have triggered list, but last symByt should be *
if (SymAry_fill_overflow) return ctx.Lxr_make_txt_(cur_pos);
PrvItm_compare();
ctx.Para().Process_block__bgn__nl_w_symbol(ctx, root, src, bgn_pos, cur_pos - 1, Xop_xnde_tag_.Tag_li); // -1 b/c cur_pos includes sym_byte; EX: \n*; pass li; should pass correct tag, but for purposes of para_wkr, <li> doesn't matter
ctx.Para().Process_block__bgn__nl_w_symbol(ctx, root, src, bgn_pos, cur_pos - 1, Xop_xnde_tag_.Tag__li); // -1 b/c cur_pos includes sym_byte; EX: \n*; pass li; should pass correct tag, but for purposes of para_wkr, <li> doesn't matter
if (prvSymMatch) {
PopTil(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, Bool_.N_byte);
posBldr.MoveNext();
@@ -101,7 +101,7 @@ public class Xop_list_wkr implements Xop_ctx_wkr {
Xop_tkn_itm end_tkn = tkn_mkr.List_end(bgn_pos, bgn.List_itmTyp()).List_path_(bgn.List_path()).List_uid_(listId).List_sub_last_(sub_last);
ctx.Subs_add(root, end_tkn);
// if (empty_ignored) ctx.Empty_ignore(root, bgn.Tkn_sub_idx()); // commented; code was incorrectly deactivating "*a" when "<li>" encountered; PAGE:en.w:Bristol_Bullfinch DATE:2014-06-24
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_ul);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__ul);
}
private Xop_list_tkn PopTil(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos, byte subLast) {
int acs_pos = ctx.Stack_idx_find_but_stop_at_tbl(Xop_tkn_itm_.Tid_list);

View File

@@ -36,4 +36,4 @@ public class Xop_lnke_wkr_dangling_tst {
@Test public void Dangling_gt() {
fxt.Test_parse_page_wiki("[irc://a>b c]", fxt.tkn_lnke_(0, 13).Lnke_typ_(Xop_lnke_tkn.Lnke_typ_brack).Subs_(fxt.tkn_txt_(8, 10), fxt.tkn_space_(10, 11), fxt.tkn_txt_(11, 12)));
}
}
}

View File

@@ -30,7 +30,7 @@ public class Xop_link_parser {
switch (tmp_url.Protocol_tid()) {
case Gfo_protocol_itm.Tid_http: case Gfo_protocol_itm.Tid_https: // "http:" or "https:"; check if to offline wiki and redirect
byte[] wiki_bry = tmp_url.Wiki_bry(), page_bry = tmp_url.Page_bry();
if ( !tmp_url.Wiki_is_missing() // https://www.a.org and others will be marked "missing" by Xoa_url_parser
if ( !tmp_url.Wiki_is_missing() // https://www.a.org and others will be marked "missing" by Xow_url_parser
&&( Bry_.Eq(wiki_bry, wiki.Domain_bry()) // link is to this wiki; check if alias
|| app.Xwiki_mgr__exists(wiki_bry) // link is to an xwiki
)

View File

@@ -129,7 +129,7 @@ public class Xop_lnki_arg_parser {
size_trie.Add((byte)(i + Byte_ascii.Num_0), Byte_obj_val.new_(Key_dim_num));
int len = digit_mgr.Len(); // NOTE: add non-english numbers; EX: ۲۰۰px; DATE:2015-07-18
for (int i = 0; i < len; ++i) {
KeyVal kv = digit_mgr.Get_at(i);
Keyval kv = digit_mgr.Get_at(i);
int num = (byte)Int_.parse_or(kv.Key(), -1); if (num == -1) continue; // ignore separators; EX: "," "."
size_trie.Add((byte[])kv.Val(), Byte_obj_val.new_((byte)num)); // NOTE: num corresponds to dim_d0 -> d9 below
}
@@ -144,7 +144,7 @@ public class Xop_lnki_arg_parser {
px_trie.Add(word_bry, Byte_obj_val.new_(Tid_dim));
}
}
public static final byte[] Bry_upright = Bry_.new_a7("upright"), Bry_thumbtime = Bry_.new_a7("thumbtime");
public static final byte[] Bry_upright = Bry_.new_a7("upright"), Bry_thumbtime = Bry_.new_a7("thumbtime"), Bry_target = Bry_.new_a7("target");
public static final byte
Tid_unknown = 0, Tid_thumb = 1, Tid_left = 2, Tid_right = 3, Tid_none = 4, Tid_center = 5, Tid_frame = 6, Tid_frameless = 7, Tid_upright = 8, Tid_border = 9
, Tid_alt = 10, Tid_link = 11, Tid_baseline = 12, Tid_sub = 13, Tid_super = 14, Tid_top = 15, Tid_text_top = 16, Tid_middle = 17, Tid_bottom = 18, Tid_text_bottom = 19
@@ -153,6 +153,7 @@ public class Xop_lnki_arg_parser {
, Tid_page = 23
, Tid_noplayer = 24, Tid_noicon = 25, Tid_thumbtime = 26
, Tid_class = 27
, Tid_target = 28
;
private static final byte[] X_bry = Bry_.new_a7("x");
private static final byte // NOTE: d0 - d9 must match 0 - 9; DATE:2015-07-18

View File

@@ -51,9 +51,10 @@ public class Xop_lnki_tkn extends Xop_tkn_itm_base {
public boolean Pipe_count_is_zero() {return pipe_count++ == 0;}
public boolean Xtn_sites_link() {return xtn_sites_link;} public void Xtn_sites_link_(boolean v) {xtn_sites_link = v;} private boolean xtn_sites_link;
public Xoh_file_img_wkr Lnki_file_wkr() {return lnki_file_wkr;} public void Lnki_file_wkr_(Xoh_file_img_wkr v) {lnki_file_wkr = v;} private Xoh_file_img_wkr lnki_file_wkr;
public byte[] Target;
public byte[] Ttl_ary() {
return ttl.ForceLiteralLink() || ns_id != Xow_ns_.Tid__main // if [[:]] or non-main (Category, Template)
? ttl.Full_txt() // use full_txt (no initial colon; capitalize first)
? ttl.Full_txt_w_ttl_case() // use full_txt (no initial colon; capitalize first)
: ttl.Raw(); // use raw (preserve case, white-spaces)
}
public boolean Caption_exists() {

View File

@@ -98,6 +98,10 @@ public class Xop_lnki_wkr implements Xop_ctx_wkr, Xop_arg_wkr {
int bgn = arg.Val_tkn().Dat_bgn(), end = arg.Val_tkn().Dat_end();
if (arg.KeyTkn_exists()) {bgn = arg.Key_tkn().Dat_bgn(); end = arg.Key_tkn().Dat_end();}
arg_tid = ctx.Wiki().Lang().Lnki_arg_parser().Identify_tid(src, bgn, end, lnki);
if (arg_tid == Xop_lnki_arg_parser.Tid_caption && ctx.Wiki().Domain_itm().Domain_type_id() == gplx.xowa.wikis.domains.Xow_domain_tid_.Int__other) {
if (end > bgn && Bry_.Eq(src, bgn, end, Xop_lnki_arg_parser.Bry_target))
arg_tid = Xop_lnki_arg_parser.Tid_target;
}
switch (arg_tid) {
case Xop_lnki_arg_parser.Tid_none: lnki.Align_h_(Xop_lnki_type.Id_none); break;
case Xop_lnki_arg_parser.Tid_border: lnki.Border_(Bool_.Y_byte); break;
@@ -116,6 +120,7 @@ public class Xop_lnki_wkr implements Xop_ctx_wkr, Xop_arg_wkr {
case Xop_lnki_arg_parser.Tid_text_bottom: lnki.Align_v_(Xop_lnki_align_v_.TextBottom); break;
case Xop_lnki_arg_parser.Tid_baseline: lnki.Align_v_(Xop_lnki_align_v_.Baseline); break;
case Xop_lnki_arg_parser.Tid_class: lnki.Lnki_cls_(Xop_lnki_wkr_.Val_extract(src, arg)); break;
case Xop_lnki_arg_parser.Tid_target: lnki.Target = Xop_lnki_wkr_.Val_extract(src, arg); break;
case Xop_lnki_arg_parser.Tid_alt: lnki.Alt_tkn_(arg);
lnki.Alt_tkn().Tkn_ini_pos(false, arg.Src_bgn(), arg.Src_end());
break;

View File

@@ -66,8 +66,8 @@ public class Xop_lnki_wkr__xwiki_tst {
Tfds.Eq(0, fxt.Page().Slink_list().Count());
}
@Test public void Simple_and_english() { // PURPOSE: s.w xwiki links to en were not working b/c s.w and en had same super lang of English; PAGE:s.q:Anonymous DATE:2014-09-10
Xoae_app app = Xoa_app_fxt.app_();
Xowe_wiki wiki = Xoa_app_fxt.wiki_(app, "simple.wikipedia.org");
Xoae_app app = Xoa_app_fxt.Make__app__edit();
Xowe_wiki wiki = Xoa_app_fxt.Make__wiki__edit(app, "simple.wikipedia.org");
fxt = new Xop_fxt(app, wiki); // change fxt to simple.wikipedia.org
Reg_xwiki_alias("en", "en.wikipedia.org"); // register "en" alias
fxt.Test_parse_page_wiki_str // test nothing printed
@@ -77,8 +77,8 @@ public class Xop_lnki_wkr__xwiki_tst {
Tfds.Eq(1, fxt.Page().Slink_list().Count()); // test 1 xwiki lang
}
@Test public void Species_and_commons() { // PURPOSE: species xwiki links to commons should not put link in wikidata langs; PAGE:species:Scarabaeidae DATE:2014-09-10
Xoae_app app = Xoa_app_fxt.app_();
Xowe_wiki wiki = Xoa_app_fxt.wiki_(app, "species.wikimedia.org");
Xoae_app app = Xoa_app_fxt.Make__app__edit();
Xowe_wiki wiki = Xoa_app_fxt.Make__wiki__edit(app, "species.wikimedia.org");
fxt = new Xop_fxt(app, wiki); // change fxt to species.wikimedia.org
Reg_xwiki_alias("commons", "commons.wikimedia.org"); // register "en" alias
fxt.Test_parse_page_wiki_str // test something printed
@@ -88,8 +88,8 @@ public class Xop_lnki_wkr__xwiki_tst {
Tfds.Eq(0, fxt.Page().Slink_list().Count()); // no xwiki langs
}
@Test public void Wiktionary_and_wikipedia() { // PURPOSE: do not create xwiki links if same lang and differet type; PAGE:s.d:water DATE:2014-09-14
Xoae_app app = Xoa_app_fxt.app_();
Xowe_wiki wiki = Xoa_app_fxt.wiki_(app, "simple.wiktionary.org");
Xoae_app app = Xoa_app_fxt.Make__app__edit();
Xowe_wiki wiki = Xoa_app_fxt.Make__wiki__edit(app, "simple.wiktionary.org");
fxt = new Xop_fxt(app, wiki); // change fxt to simple.wiktionary.org
Reg_xwiki_alias("w", "simple.wikipedia.org"); // register "w" alias
fxt.Test_parse_page_wiki_str // test something printed
@@ -99,8 +99,8 @@ public class Xop_lnki_wkr__xwiki_tst {
Tfds.Eq(0, fxt.Page().Slink_list().Count()); // test 0 xwiki lang
}
@Test public void Species_and_wikipedia() { // PURPOSE: species creates xwiki links to wikipedia; PAGE:species:Puccinia DATE:2014-09-14
Xoae_app app = Xoa_app_fxt.app_();
Xowe_wiki wiki = Xoa_app_fxt.wiki_(app, "species.wikimedia.org");
Xoae_app app = Xoa_app_fxt.Make__app__edit();
Xowe_wiki wiki = Xoa_app_fxt.Make__wiki__edit(app, "species.wikimedia.org");
fxt = new Xop_fxt(app, wiki); // change fxt to species.wikimedia.org
Reg_xwiki_alias("fr", "fr.wikipedia.org"); // register "fr" alias
fxt.Test_parse_page_wiki_str // nothing printed

View File

@@ -33,7 +33,7 @@ public class Xop_log_mgr implements GfoInvkAble {
private Db_conn Conn() {
if (conn == null) {
if (log_dir == null) log_dir = app.Usere().Fsys_mgr().App_temp_dir();
Xob_db_file db_file = Xob_db_file.new__temp_log(log_dir);
Xob_db_file db_file = Xob_db_file.New__temp_log(log_dir);
conn = db_file.Conn();
}
return conn;

View File

@@ -35,10 +35,10 @@ public class Xop_hr_lxr implements Xop_lxr {
cur_pos = Bry_find_.Find_fwd_while(src, cur_pos, src_len, Hook_byt); // gobble consecutive dashes
if (!bos)
ctx.Para().Process_nl(ctx, root, src, bgn_pos, bgn_pos); // simulate \n in front of ----
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag_hr); // para=n; block=y
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag__hr); // para=n; block=y
int hr_len = cur_pos - bgn_pos + nl_adj; // TODO: syntax_check if > 4
ctx.Subs_add(root, tkn_mkr.Hr(bgn_pos, cur_pos, hr_len));
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_hr); // block=n; para=y;
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__hr); // block=n; para=y;
return cur_pos;
} private static final byte Hook_byt = Byte_ascii.Dash;
public static final int Hr_len = 4;

View File

@@ -59,11 +59,11 @@ public class Xop_nl_lxr implements Xop_lxr {
case Xop_tkn_itm_.Tid_hdr: // last tkn was hdr; close it; EX: \n==a==\nb; "\n" should close 2nd "=="; DATE:2014-02-17
int acs_pos = ctx.Stack_idx_typ(Xop_tkn_itm_.Tid_hdr);
ctx.Stack_pop_til(root, src, acs_pos, true, bgn_pos, cur_pos, Xop_tkn_itm_.Tid_newLine);
para_wkr.Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_h2);
para_wkr.Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__h2);
break;
case Xop_tkn_itm_.Tid_list: // close list
Xop_list_wkr_.Close_list_if_present(ctx, root, src, bgn_pos, cur_pos);
para_wkr.Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_li);
para_wkr.Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__li);
break;
case Xop_tkn_itm_.Tid_lnke: // close lnke
if (ctx.Stack_idx_typ(Xop_tkn_itm_.Tid_tmpl_invk) == -1) // only close if no tmpl; MWR: [[SHA-2]]; * {{cite journal|title=Proposed

View File

@@ -59,7 +59,7 @@ public class Xop_para_wkr implements Xop_ctx_wkr {
public void Process_block_lnki_div() { // bgn_lhs is pos of [[; end_lhs is pos of ]]
if (prv_ws_bgn > 0) // if pre at start of line; ignore it b/c of div; EX: "\n\s[[File:A.png|thumb]]" should not produce thumb; also [[File:A.png|right]]; DATE:2014-02-17
prv_ws_bgn = 0;
this.Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_div);
this.Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__div);
}
private void Process_block(Xop_xnde_tag tag, boolean bgn, boolean end) {
if (prv_ws_bgn > 0) {
@@ -69,7 +69,7 @@ public class Xop_para_wkr implements Xop_ctx_wkr {
block_is_bgn_xnde = bgn;
block_is_end_xnde = end;
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_blockquote:
case Xop_xnde_tag_.Tid__blockquote:
if (bgn) block_is_bgn_blockquote = true;
if (end) block_is_end_blockquote = true;
break;
@@ -268,7 +268,7 @@ public class Xop_para_wkr implements Xop_ctx_wkr {
}
}
private void Add_br(Xop_ctx ctx, Xop_root_tkn root, int bgn_pos) {
ctx.Subs_add(root, ctx.Tkn_mkr().Xnde(bgn_pos, bgn_pos).Tag_(Xop_xnde_tag_.Tag_br));
ctx.Subs_add(root, ctx.Tkn_mkr().Xnde(bgn_pos, bgn_pos).Tag_(Xop_xnde_tag_.Tag__br));
}
private boolean Line_is_ws(byte[] src, int pos) {
if (prv_nl_pos == -1) return false;

View File

@@ -24,7 +24,7 @@ public class Xop_tblw_tb_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
atrs_bgn = atrs_end = bgn;
}
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tb;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid_table;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid__table;}
public int Atrs_bgn() {return atrs_bgn;} private int atrs_bgn = Xop_tblw_wkr.Atrs_null;
public int Atrs_end() {return atrs_end;} private int atrs_end = -1;
public void Atrs_rng_set(int bgn, int end) {this.atrs_bgn = bgn; this.atrs_end = end;}

View File

@@ -19,7 +19,7 @@ package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.
import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.htmls.*;
public class Xop_tblw_tc_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tc;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid_caption;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid__caption;}
public int Atrs_bgn() {return atrs_bgn;} private int atrs_bgn = Xop_tblw_wkr.Atrs_null;
public int Atrs_end() {return atrs_end;} private int atrs_end = -1;
public void Atrs_rng_set(int bgn, int end) {this.atrs_bgn = bgn; this.atrs_end = end;}

View File

@@ -19,7 +19,7 @@ package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.
import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.htmls.*;
public class Xop_tblw_td_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_td;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid_td;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid__td;}
public int Atrs_bgn() {return atrs_bgn;} private int atrs_bgn = Xop_tblw_wkr.Atrs_null;
public int Atrs_end() {return atrs_end;} private int atrs_end = -1;
public void Atrs_rng_set(int bgn, int end) {this.atrs_bgn = bgn; this.atrs_end = end;}

View File

@@ -19,7 +19,7 @@ package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.
import gplx.xowa.parsers.xndes.*; import gplx.xowa.parsers.htmls.*;
public class Xop_tblw_th_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_th;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid_th;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid__th;}
public int Atrs_bgn() {return atrs_bgn;} private int atrs_bgn = Xop_tblw_wkr.Atrs_null;
public int Atrs_end() {return atrs_end;} private int atrs_end = -1;
public void Atrs_rng_set(int bgn, int end) {this.atrs_bgn = bgn; this.atrs_end = end;}

View File

@@ -24,7 +24,7 @@ public class Xop_tblw_tr_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
atrs_bgn = atrs_end = bgn;
}
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_tblw_tr;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid_tr;}
public int Tblw_tid() {return Xop_xnde_tag_.Tid__tr;}
public int Atrs_bgn() {return atrs_bgn;} private int atrs_bgn = Xop_tblw_wkr.Atrs_null;
public int Atrs_end() {return atrs_end;} private int atrs_end = -1;
public void Atrs_rng_set(int bgn, int end) {this.atrs_bgn = bgn; this.atrs_end = end;}

View File

@@ -211,8 +211,8 @@ public class Xop_tblw_wkr implements Xop_ctx_wkr {
}
else {
if (!tbl_is_xml) // only for "\n|" not <td>
ctx.Para().Process_nl(ctx, root, src, bgn_pos, bgn_pos + 1); // simulate "\n"; DATE:2014-02-20; ru.w:;[[Help:Download]]; DATE:2014-02-20
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag_td); // <td>
ctx.Para().Process_nl(ctx, root, src, bgn_pos, bgn_pos + 1); // simulate "\n"; DATE:2014-02-20; ru.w:;home/wiki/Dashboard/Image_databases; DATE:2014-02-20
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag__td); // <td>
ctx.Stack_pop_til(root, src, ctx.Stack_idx_typ(prv_tid), true, bgn_pos, bgn_pos, Xop_tkn_itm_.Tid_tblw_td);
}
break;
@@ -311,11 +311,11 @@ public class Xop_tblw_wkr implements Xop_ctx_wkr {
switch (wlxr_type) {
case Tblw_type_tb:
case Tblw_type_tr:
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag_tr);
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag__tr);
break;
case Tblw_type_td:
case Tblw_type_th:
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_td);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__td);
break;
}
return cur_pos;
@@ -383,7 +383,7 @@ public class Xop_tblw_wkr implements Xop_ctx_wkr {
Xop_tblw_tb_tkn tb = (Xop_tblw_tb_tkn)ctx.Stack_pop_til(root, src, tb_idx, false, bgn_pos, bgn_pos, Xop_tkn_itm_.Tid_tblw_td); // NOTE: need to pop manually in order to set all intermediate node ends to bgn_pos, but tb ent to cur_pos; EX: for stack of "tb,tr,td" tr and td get End_() of bgn_pos but tb gets End_() of cur_pos
tb.Subs_move(root);
tb.Src_end_(cur_pos);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_table); // NOTE: must clear block state that was started by <tr>; code implicitly relies on td clearing block state, but no td was created
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__table); // NOTE: must clear block state that was started by <tr>; code implicitly relies on td clearing block state, but no td was created
return cur_pos;
}
int acs_typeId = typeId;
@@ -418,11 +418,11 @@ public class Xop_tblw_wkr implements Xop_ctx_wkr {
Xop_tblw_tkn bgn_tkn = (Xop_tblw_tkn)ctx.Stack_pop_til(root, src, acs_pos, false, bgn_pos, cur_pos, Xop_tkn_itm_.Tid_tblw_td);
switch (wlxr_type) {
case Tblw_type_tb:
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag_table);
ctx.Para().Process_block__bgn_n__end_y(Xop_xnde_tag_.Tag__table);
break;
case Tblw_type_td:
case Tblw_type_th:
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag_td);
ctx.Para().Process_block__bgn_y__end_n(Xop_xnde_tag_.Tag__td);
break;
}
bgn_tkn.Subs_move(root);
@@ -538,7 +538,7 @@ public class Xop_tblw_wkr implements Xop_ctx_wkr {
break;
case Xop_tkn_itm_.Tid_xnde:
if (ws_tkn.Src_bgn() == ws_tkn.Src_end() // NOTE: para_wkr inserts <br/>. these should be disabled in Ignore_ws_rng; they are identified as having bgn == end; normal <br/>s will have bgn < end
&& ((Xop_xnde_tkn)ws_tkn).Tag().Id() == Xop_xnde_tag_.Tid_br)
&& ((Xop_xnde_tkn)ws_tkn).Tag().Id() == Xop_xnde_tag_.Tid__br)
ws_tkn.Ignore_y_grp_(ctx, root, cur);
break;
default:

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.parsers.tblws; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*;
import org.junit.*;
public class Xop_tblw_wkr__para_tst {
@Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private final Xop_fxt fxt = new Xop_fxt();
@Before public void init() {fxt.Reset(); fxt.Init_para_y_();} private final Xop_fxt fxt = new Xop_fxt();
@After public void term() {fxt.Init_para_n_();}
@Test public void Para() { // PURPOSE: para causing strange breaks; SEE:[[John F. Kennedy]] and "two Supreme Court appointments"
fxt.Test_parse_page_wiki_str(String_.Concat_lines_nl_skip_last
@@ -58,7 +58,7 @@ public class Xop_tblw_wkr__para_tst {
)
);
}
@Test public void Unnecessary_para() { // PURPOSE: tblw causes unnecessary <p>; [[Help:Download]]; DATE:2014-02-20
@Test public void Unnecessary_para() { // PURPOSE: tblw causes unnecessary <p>; home/wiki/Dashboard/Image_databases; DATE:2014-02-20
fxt.Test_parse_page_wiki_str(String_.Concat_lines_nl_skip_last
( "{|"
, "|-"

View File

@@ -34,24 +34,24 @@ public class Xop_tblw_ws_itm {
trie_itm(rv, Type_tc, Xop_tblw_lxr_ws.Hook_tc);
trie_itm(rv, Type_td, Byte_ascii.Pipe_bry);
trie_itm(rv, Type_nl, Byte_ascii.Nl_bry);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_table);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_tr);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_td);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_th);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_blockquote);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_h1);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_h2);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_h3);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_h4);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_h5);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_h6);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_pre);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_p);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_div);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_hr);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_li);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_ul);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag_ol);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__table);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__tr);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__td);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__th);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__blockquote);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__h1);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__h2);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__h3);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__h4);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__h5);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__h6);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__pre);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__p);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__div);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__hr);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__li);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__ul);
trie_itm_xnde(rv, Xop_xnde_tag_.Tag__ol);
return rv;
}
private static void trie_itm(Btrie_slim_mgr trie, byte type, byte[] bry) {trie.Add_obj(bry, new Xop_tblw_ws_itm(type, bry.length));}

View File

@@ -121,7 +121,7 @@ public class Arg_bldr {
case Xop_tkn_itm_.Tid_xnde:
Xop_xnde_tkn sub_as_xnde = (Xop_xnde_tkn)sub;
switch (sub_as_xnde.Tag().Id()) {
case Xop_xnde_tag_.Tid_noinclude: case Xop_xnde_tag_.Tid_includeonly: case Xop_xnde_tag_.Tid_onlyinclude:
case Xop_xnde_tag_.Tid__noinclude: case Xop_xnde_tag_.Tid__includeonly: case Xop_xnde_tag_.Tid__onlyinclude:
itm_is_static = false;
break;
}

View File

@@ -54,7 +54,7 @@ public class Nowiki_escape_itm {
trie_new_itm(rv, Byte_ascii.Apos_bry , Xop_amp_trie.Bry_xowa_apos); // NOTE: for backward compatibility, use &apos; note that amp_wkr will turn &apos; -> &#39 but &#39 -> '; DATE:2014-07-03
trie_new_itm(rv, Byte_ascii.Colon_bry , Xop_amp_trie.Bry_xowa_colon);
trie_new_itm(rv, Byte_ascii.Underline_bry , Xop_amp_trie.Bry_xowa_underline);
trie_new_itm(rv, Byte_ascii.Asterisk_bry , Xop_amp_trie.Bry_xowa_asterisk);
trie_new_itm(rv, Byte_ascii.Star_bry , Xop_amp_trie.Bry_xowa_asterisk);
trie_new_itm(rv, Byte_ascii.Dash_bry , Xop_amp_trie.Bry_xowa_dash); // needed to handle "|<nowiki>-</nowiki>"; PAGE:de.w:Liste_von_Vereinen_und_Vereinigungen_von_Gl<47>ubigen_(r<>misch-katholische_Kirche) DATE:2015-01-08
trie_new_itm(rv, Byte_ascii.Space_bry , Xop_amp_trie.Bry_xowa_space);
trie_new_itm(rv, Byte_ascii.Nl_bry , Xop_amp_trie.Bry_xowa_nl);

View File

@@ -70,11 +70,9 @@ public class Xop_subst_tst {
fxt.Init_defn_add("ds", "<includeonly>{{subst:</includeonly><includeonly>ET|<nowiki>{{subst:ds}}</nowiki>}}</includeonly>");
fxt.Test_parse_page_tmpl_str("{{subst:ds}}", ""); // {{subst:ds}} causes stack overflow; {{ds}} does not
}
// NOTE: these are actually not good tests; MW does subst just before save; it doesn't do subst on load; in this case, the tests are testing load (which will noop); they need to test save (which xowa doesn't do)
// @Test public void Tmpl_txt_subst() {fxt.Test_parse_tmpl_str_test("{{subst:xo_print|a}}" , "{{test}}" , "a");}
// @Test public void Tmpl_txt_subst_prm() {fxt.Test_parse_tmpl_str_test("{{subst:xo_print|{{{1}}}}}" , "{{test|a}}" , "a");}
//@Test public void Tmpl_txt_safesubst_prm() {fxt.Test_parse_tmpl_str_test("{{{{{|safesubst:}}}ns:Category}}" , "{{test}}" , "Category");}
//@Test public void Tmpl_txt_subst_immed() {fxt.Test_parse_tmpl_str_test("{{xo_print{{subst:!}}a}}" , "{{test}}" , "a");}
}

View File

@@ -56,14 +56,14 @@ public class Xot_invk_mock implements Xot_invk {
return Args_get_by_key(src, Bry_.To_a7_bry(idx + 1, 1));
}
public Arg_nde_tkn Args_get_by_key(byte[] src, byte[] key) {return (Arg_nde_tkn)args.Get_by(key);}
public static Xot_invk_mock new_(byte defn_tid, byte[] frame_ttl, KeyVal... args) {return new_(defn_tid, 1, frame_ttl, args);}
public static Xot_invk_mock new_(byte[] frame_ttl, KeyVal... args) {return new_(Xot_defn_.Tid_null, 1, frame_ttl, args);}
public static Xot_invk_mock test_(byte[] frame_ttl, KeyVal... args) {return new_(Xot_defn_.Tid_null, 0, frame_ttl, args);}
public static Xot_invk_mock new_(byte defn_tid, int idx_adj, byte[] frame_ttl, KeyVal... args) {
public static Xot_invk_mock new_(byte defn_tid, byte[] frame_ttl, Keyval... args) {return new_(defn_tid, 1, frame_ttl, args);}
public static Xot_invk_mock new_(byte[] frame_ttl, Keyval... args) {return new_(Xot_defn_.Tid_null, 1, frame_ttl, args);}
public static Xot_invk_mock test_(byte[] frame_ttl, Keyval... args) {return new_(Xot_defn_.Tid_null, 0, frame_ttl, args);}
public static Xot_invk_mock new_(byte defn_tid, int idx_adj, byte[] frame_ttl, Keyval... args) {
Xot_invk_mock rv = new Xot_invk_mock(defn_tid, idx_adj, frame_ttl);
int len = args.length;
for (int i = 0; i < len; i++) {
KeyVal kv = args[i];
Keyval kv = args[i];
String kv_key_str = kv.Key();
Object kv_key_obj = kv.Key_as_obj();
Arg_nde_tkn_mock nde_tkn = null;

View File

@@ -237,9 +237,9 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk {
rv = true;
} catch (Exception e) {
if (Env_.Mode_testing())
throw Err_.new_exc(e, "xo", "failed to evaluate function", "page", ctx.Page().Ttl().Full_txt(), "defn", defn.Name(), "src", String_.new_u8(src, this.Src_bgn(), this.Src_end()));
throw Err_.new_exc(e, "xo", "failed to evaluate function", "page", ctx.Page().Ttl().Full_txt_w_ttl_case(), "defn", defn.Name(), "src", String_.new_u8(src, this.Src_bgn(), this.Src_end()));
else {
wiki.Appe().Usr_dlg().Warn_many("", "", "failed to evaluate function: page=~{0} defn=~{1} src=~{2} err=~{3}", ctx.Page().Ttl().Full_txt(), defn.Name(), String_.new_u8(src, this.Src_bgn(), this.Src_end()), Err_.Message_gplx_log(e));
wiki.Appe().Usr_dlg().Warn_many("", "", "failed to evaluate function: page=~{0} defn=~{1} src=~{2} err=~{3}", ctx.Page().Ttl().Full_txt_w_ttl_case(), defn.Name(), String_.new_u8(src, this.Src_bgn(), this.Src_end()), Err_.Message_gplx_log(e));
rv = false;
}
}
@@ -284,7 +284,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk {
break;
}
return rv;
} private static final byte[] Ary_unknown_bgn = Bry_.new_a7("(? [["), Ary_unknown_end = Bry_.new_a7("]] ?)"), Ary_dynamic_is_blank = Bry_.new_a7("dynamic is blank");
} private static final byte[] Ary_unknown_bgn = Bry_.new_a7("(? [["), Ary_unknown_end = Bry_.new_a7("]] ?)"), Ary_dynamic_is_blank = Bry_.new_a7("dynamic is blank");
private boolean Popup_skip(Xop_ctx ctx, byte[] ttl, Bry_bfr bfr) {
boolean skip = false;
skip = this.Src_end() - this.Src_bgn() > ctx.Tmpl_tkn_max();
@@ -356,7 +356,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk {
return Eval_sub(ctx, transclude_tmpl, caller, src, bfr);
}
else {
Print_not_found(bfr, wiki.Ns_mgr(), page_ttl.Full_txt());
Print_not_found(bfr, wiki.Ns_mgr(), page_ttl.Full_txt_w_ttl_case());
return false;
}
}

View File

@@ -53,7 +53,7 @@ public class Xot_tmpl_wtr {
Xop_xnde_tkn xnde = (Xop_xnde_tkn)tkn;
int xnde_tag_id = xnde.Tag().Id();
switch (xnde_tag_id) {
case Xop_xnde_tag_.Tid_onlyinclude: {
case Xop_xnde_tag_.Tid__onlyinclude: {
// NOTE: originally "if (ctx.Parse_tid() == Xop_parser_.Parse_tid_page_tmpl) {" but if not needed; Xot_tmpl_wtr should not be called for tmpls and <oi> should not make it to page_wiki
Bry_bfr tmp_bfr = Bry_bfr.new_();
ctx.Only_include_evaluate_(true);
@@ -62,9 +62,9 @@ public class Xot_tmpl_wtr {
rslt_bfr.Add_bfr_and_preserve(tmp_bfr);
break;
}
case Xop_xnde_tag_.Tid_includeonly: // noop; DATE:2014-02-12
case Xop_xnde_tag_.Tid__includeonly: // noop; DATE:2014-02-12
break;
case Xop_xnde_tag_.Tid_nowiki: {
case Xop_xnde_tag_.Tid__nowiki: {
if (xnde.Tag_close_bgn() == Int_.Min_value)
rslt_bfr.Add_mid(src, tkn.Src_bgn(), tkn.Src_end()); // write src from bgn/end
else { // NOTE: if nowiki then "deactivate" all xndes by swapping out < for &lt; nowiki_xnde_frag; DATE:2013-01-27
@@ -76,7 +76,7 @@ public class Xot_tmpl_wtr {
}
break;
}
case Xop_xnde_tag_.Tid_xowa_cmd:
case Xop_xnde_tag_.Tid__xowa_cmd:
gplx.xowa.xtns.xowa_cmds.Xop_xowa_cmd xowa_cmd = (gplx.xowa.xtns.xowa_cmds.Xop_xowa_cmd)xnde.Xnde_xtn();
rslt_bfr.Add(xowa_cmd.Xtn_html());
break;

View File

@@ -51,7 +51,7 @@ public class Xop_redirect_mgr_tst {
}
}
class Xop_redirect_mgr_fxt {
private final Xop_fxt fxt = new Xop_fxt();
private final Xop_fxt fxt = new Xop_fxt();
public void Clear() {
fxt.Reset();
}
@@ -72,7 +72,7 @@ class Xop_redirect_mgr_fxt {
redirect_mgr.Clear();
byte[] raw_bry = Bry_.new_u8(raw_str);
Xoa_ttl actl_ttl = redirect_mgr.Extract_redirect(raw_bry);
byte[] actl_bry = actl_ttl == null ? Bry_.Empty : actl_ttl.Full_txt();
byte[] actl_bry = actl_ttl == null ? Bry_.Empty : actl_ttl.Full_txt_w_ttl_case();
Tfds.Eq(expd_str, String_.new_u8(actl_bry));
}
public void Test__redirected_html(String page_str, String expd_str) {

View File

@@ -59,9 +59,9 @@ class Vnt_html_doc_wkr implements Mwh_doc_wkr {
}
public void On_txt_end (Mwh_doc_parser mgr, byte[] src, int nde_tid, int itm_bgn, int itm_end) {
switch (nde_tid) {
case Xop_xnde_tag_.Tid_code:
case Xop_xnde_tag_.Tid_script:
case Xop_xnde_tag_.Tid_pre:
case Xop_xnde_tag_.Tid__code:
case Xop_xnde_tag_.Tid__script:
case Xop_xnde_tag_.Tid__pre:
bfr.Add_mid(src, itm_bgn, itm_end);
break;
default:

View File

@@ -63,7 +63,7 @@ public class Vnt_log_tbl implements Rls_able {
public void Rls() {
stmt_insert = Db_stmt_.Rls(stmt_insert);
}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds));}
public void Create_tbl() {conn.Meta_tbl_create(Dbmeta_tbl_itm.New(tbl_name, flds));}
public void Insert(int uid, int page_id, int rule_idx, int flag_count, int lang_count, int undi_count, int bidi_count
, boolean flag_add, boolean flag_del, boolean flag_aout, boolean flag_hide, boolean flag_raw, boolean flag_show, boolean flag_descrip, boolean flag_name, boolean flag_title, boolean flag_err
, int vnt_0, int vnt_1, int vnt_2, int vnt_3, int vnt_4, int vnt_5, int vnt_6, int vnt_7, int vnt_8, int vnt_9

View File

@@ -57,70 +57,70 @@ public class Xop_xatr_whitelist_mgr {
Ini_grp("tablealign" , null , "align", "char", "charoff", "valign");
Ini_grp("tablecell" , null , "abbr", "axis", "headers", "scope", "rowspan", "colspan", "nowrap", "width", "height", "bgcolor");
Ini_nde(Xop_xnde_tag_.Tid_div , "block");
Ini_nde(Xop_xnde_tag_.Tid_center , "common");
Ini_nde(Xop_xnde_tag_.Tid_span , "block");
Ini_nde(Xop_xnde_tag_.Tid_h1 , "block");
Ini_nde(Xop_xnde_tag_.Tid_h2 , "block");
Ini_nde(Xop_xnde_tag_.Tid_h3 , "block");
Ini_nde(Xop_xnde_tag_.Tid_h4 , "block");
Ini_nde(Xop_xnde_tag_.Tid_h5 , "block");
Ini_nde(Xop_xnde_tag_.Tid_h6 , "block");
Ini_nde(Xop_xnde_tag_.Tid_em , "common");
Ini_nde(Xop_xnde_tag_.Tid_strong , "common");
Ini_nde(Xop_xnde_tag_.Tid_cite , "common");
Ini_nde(Xop_xnde_tag_.Tid_dfn , "common");
Ini_nde(Xop_xnde_tag_.Tid_code , "common");
Ini_nde(Xop_xnde_tag_.Tid_samp , "common");
Ini_nde(Xop_xnde_tag_.Tid_kbd , "common");
Ini_nde(Xop_xnde_tag_.Tid_var , "common");
Ini_nde(Xop_xnde_tag_.Tid_abbr , "common");
Ini_nde(Xop_xnde_tag_.Tid_blockquote , "common", "cite");
Ini_nde(Xop_xnde_tag_.Tid_sub , "common");
Ini_nde(Xop_xnde_tag_.Tid_sup , "common");
Ini_nde(Xop_xnde_tag_.Tid_p , "block");
Ini_nde(Xop_xnde_tag_.Tid_br , "id", "class", "title", "style", "clear");
Ini_nde(Xop_xnde_tag_.Tid_pre , "common", "width");
Ini_nde(Xop_xnde_tag_.Tid_ins , "common", "cite", "datetime");
Ini_nde(Xop_xnde_tag_.Tid_del , "common", "cite", "datetime");
Ini_nde(Xop_xnde_tag_.Tid_ul , "common", "type");
Ini_nde(Xop_xnde_tag_.Tid_ol , "common", "type", "start");
Ini_nde(Xop_xnde_tag_.Tid_li , "common", "type", "value");
Ini_nde(Xop_xnde_tag_.Tid_dl , "common");
Ini_nde(Xop_xnde_tag_.Tid_dd , "common");
Ini_nde(Xop_xnde_tag_.Tid_dt , "common");
Ini_nde(Xop_xnde_tag_.Tid_table , "common", "summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding", "align", "bgcolor");
Ini_nde(Xop_xnde_tag_.Tid_caption , "common", "align");
Ini_nde(Xop_xnde_tag_.Tid_thead , "common", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_tfoot , "common", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_tbody , "common", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_colgroup , "common", "span", "width", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_col , "common", "span", "width", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_tr , "common", "bgcolor", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_td , "common", "tablecell", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_th , "common", "tablecell", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid_a , "common", "href", "rel", "rev");
Ini_nde(Xop_xnde_tag_.Tid_img , "common", "alt", "src", "width", "height");
Ini_nde(Xop_xnde_tag_.Tid_tt , "common");
Ini_nde(Xop_xnde_tag_.Tid_b , "common");
Ini_nde(Xop_xnde_tag_.Tid_i , "common");
Ini_nde(Xop_xnde_tag_.Tid_big , "common");
Ini_nde(Xop_xnde_tag_.Tid_small , "common");
Ini_nde(Xop_xnde_tag_.Tid_strike , "common");
Ini_nde(Xop_xnde_tag_.Tid_s , "common");
Ini_nde(Xop_xnde_tag_.Tid_u , "common");
Ini_nde(Xop_xnde_tag_.Tid_font , "common", "size", "color", "face");
Ini_nde(Xop_xnde_tag_.Tid_hr , "common", "noshade", "size", "width");
Ini_nde(Xop_xnde_tag_.Tid_ruby , "common");
Ini_nde(Xop_xnde_tag_.Tid_rb , "common");
Ini_nde(Xop_xnde_tag_.Tid_rt , "common");
Ini_nde(Xop_xnde_tag_.Tid_rp , "common");
Ini_nde(Xop_xnde_tag_.Tid_math , "class", "style", "id", "title");
Ini_nde(Xop_xnde_tag_.Tid_time , "class", "datetime");
Ini_nde(Xop_xnde_tag_.Tid_bdi , "common");
Ini_nde(Xop_xnde_tag_.Tid_data , "common", "value");
Ini_nde(Xop_xnde_tag_.Tid_mark , "common");
Ini_nde(Xop_xnde_tag_.Tid_q , "common");
Ini_nde(Xop_xnde_tag_.Tid__div , "block");
Ini_nde(Xop_xnde_tag_.Tid__center , "common");
Ini_nde(Xop_xnde_tag_.Tid__span , "block");
Ini_nde(Xop_xnde_tag_.Tid__h1 , "block");
Ini_nde(Xop_xnde_tag_.Tid__h2 , "block");
Ini_nde(Xop_xnde_tag_.Tid__h3 , "block");
Ini_nde(Xop_xnde_tag_.Tid__h4 , "block");
Ini_nde(Xop_xnde_tag_.Tid__h5 , "block");
Ini_nde(Xop_xnde_tag_.Tid__h6 , "block");
Ini_nde(Xop_xnde_tag_.Tid__em , "common");
Ini_nde(Xop_xnde_tag_.Tid__strong , "common");
Ini_nde(Xop_xnde_tag_.Tid__cite , "common");
Ini_nde(Xop_xnde_tag_.Tid__dfn , "common");
Ini_nde(Xop_xnde_tag_.Tid__code , "common");
Ini_nde(Xop_xnde_tag_.Tid__samp , "common");
Ini_nde(Xop_xnde_tag_.Tid__kbd , "common");
Ini_nde(Xop_xnde_tag_.Tid__var , "common");
Ini_nde(Xop_xnde_tag_.Tid__abbr , "common");
Ini_nde(Xop_xnde_tag_.Tid__blockquote , "common", "cite");
Ini_nde(Xop_xnde_tag_.Tid__sub , "common");
Ini_nde(Xop_xnde_tag_.Tid__sup , "common");
Ini_nde(Xop_xnde_tag_.Tid__p , "block");
Ini_nde(Xop_xnde_tag_.Tid__br , "id", "class", "title", "style", "clear");
Ini_nde(Xop_xnde_tag_.Tid__pre , "common", "width");
Ini_nde(Xop_xnde_tag_.Tid__ins , "common", "cite", "datetime");
Ini_nde(Xop_xnde_tag_.Tid__del , "common", "cite", "datetime");
Ini_nde(Xop_xnde_tag_.Tid__ul , "common", "type");
Ini_nde(Xop_xnde_tag_.Tid__ol , "common", "type", "start");
Ini_nde(Xop_xnde_tag_.Tid__li , "common", "type", "value");
Ini_nde(Xop_xnde_tag_.Tid__dl , "common");
Ini_nde(Xop_xnde_tag_.Tid__dd , "common");
Ini_nde(Xop_xnde_tag_.Tid__dt , "common");
Ini_nde(Xop_xnde_tag_.Tid__table , "common", "summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding", "align", "bgcolor");
Ini_nde(Xop_xnde_tag_.Tid__caption , "common", "align");
Ini_nde(Xop_xnde_tag_.Tid__thead , "common", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__tfoot , "common", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__tbody , "common", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__colgroup , "common", "span", "width", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__col , "common", "span", "width", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__tr , "common", "bgcolor", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__td , "common", "tablecell", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__th , "common", "tablecell", "tablealign");
Ini_nde(Xop_xnde_tag_.Tid__a , "common", "href", "rel", "rev");
Ini_nde(Xop_xnde_tag_.Tid__img , "common", "alt", "src", "width", "height");
Ini_nde(Xop_xnde_tag_.Tid__tt , "common");
Ini_nde(Xop_xnde_tag_.Tid__b , "common");
Ini_nde(Xop_xnde_tag_.Tid__i , "common");
Ini_nde(Xop_xnde_tag_.Tid__big , "common");
Ini_nde(Xop_xnde_tag_.Tid__small , "common");
Ini_nde(Xop_xnde_tag_.Tid__strike , "common");
Ini_nde(Xop_xnde_tag_.Tid__s , "common");
Ini_nde(Xop_xnde_tag_.Tid__u , "common");
Ini_nde(Xop_xnde_tag_.Tid__font , "common", "size", "color", "face");
Ini_nde(Xop_xnde_tag_.Tid__hr , "common", "noshade", "size", "width");
Ini_nde(Xop_xnde_tag_.Tid__ruby , "common");
Ini_nde(Xop_xnde_tag_.Tid__rb , "common");
Ini_nde(Xop_xnde_tag_.Tid__rt , "common");
Ini_nde(Xop_xnde_tag_.Tid__rp , "common");
Ini_nde(Xop_xnde_tag_.Tid__math , "class", "style", "id", "title");
Ini_nde(Xop_xnde_tag_.Tid__time , "class", "datetime");
Ini_nde(Xop_xnde_tag_.Tid__bdi , "common");
Ini_nde(Xop_xnde_tag_.Tid__data , "common", "value");
Ini_nde(Xop_xnde_tag_.Tid__mark , "common");
Ini_nde(Xop_xnde_tag_.Tid__q , "common");
Ini_all_loose("data");
return this;
}

View File

@@ -21,19 +21,19 @@ public class Xop_xatr_whitelist_mgr_tst {
private final Xop_xatr_whitelist_fxt fxt = new Xop_xatr_whitelist_fxt();
@Before public void init() {fxt.Clear();}
@Test public void Basic() {
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "style" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "xstyle" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "stylex" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "styl" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid_img , "alt" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid_img , "span" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "data-sort-type" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid_data , "value" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid_data , "valuex" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "style" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "xstyle" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "stylex" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "styl" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid__img , "alt" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid__img , "span" , false);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "data-sort-type" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid__data , "value" , true);
fxt.Whitelist(Xop_xnde_tag_.Tid__data , "valuex" , false);
}
@Test public void Role() {
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "role" , "presentation", true);
fxt.Whitelist(Xop_xnde_tag_.Tid_div , "role" , "other", false);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "role" , "presentation", true);
fxt.Whitelist(Xop_xnde_tag_.Tid__div , "role" , "other", false);
}
@Test public void Scrub() {
fxt.Scrub_style_fail("expression");

View File

@@ -24,7 +24,7 @@ public class Xop_xnde_tag {
this.name_str = name_str;
this.name_len = name_bry.length;
this.xtn_bgn_tag = Bry_.Add(Byte_ascii.Angle_bgn_bry, name_bry);
this.xtn_end_tag = Bry_.Add(Xop_xnde_tag_.Xtn_end_tag_bgn, name_bry); // always force endtag; needed for <noinclude>
this.xtn_end_tag = Bry_.Add(Xop_xnde_tag_.Bry__end_tag_bgn, name_bry); // always force endtag; needed for <noinclude>
this.xtn_end_tag_tmp = new byte[xtn_end_tag.length]; Array_.Copy(xtn_end_tag, xtn_end_tag_tmp);
}
public int Id() {return id;} private final int id;
@@ -36,11 +36,11 @@ public class Xop_xnde_tag {
public byte[] Xtn_end_tag_tmp() {return xtn_end_tag_tmp;} private final byte[] xtn_end_tag_tmp;
public boolean Xtn() {return xtn;} public Xop_xnde_tag Xtn_() {xtn = true; return this;} private boolean xtn;
public boolean Xtn_mw() {return xtn_mw;} public Xop_xnde_tag Xtn_mw_() {xtn_mw = true; xtn = true; return this;} private boolean xtn_mw; // NOTE: Xtn_mw_() marks both xtn and xtn_mw as true
public int Bgn_nde_mode() {return bgn_nde_mode;} private int bgn_nde_mode = Xop_xnde_tag_.Bgn_nde_mode_normal;
public Xop_xnde_tag Bgn_nde_mode_inline_() {bgn_nde_mode = Xop_xnde_tag_.Bgn_nde_mode_inline; return this;}
public int End_nde_mode() {return end_nde_mode;} private int end_nde_mode = Xop_xnde_tag_.End_nde_mode_normal;
public Xop_xnde_tag End_nde_mode_inline_() {end_nde_mode = Xop_xnde_tag_.End_nde_mode_inline; return this;}
public Xop_xnde_tag End_nde_mode_escape_() {end_nde_mode = Xop_xnde_tag_.End_nde_mode_escape; return this;}
public int Bgn_mode() {return bgn_nde_mode;} private int bgn_nde_mode = Xop_xnde_tag_.Bgn_mode__normal;
public Xop_xnde_tag Bgn_mode__inline_() {bgn_nde_mode = Xop_xnde_tag_.Bgn_mode__inline; return this;}
public int End_mode() {return end_nde_mode;} private int end_nde_mode = Xop_xnde_tag_.End_mode__normal;
public Xop_xnde_tag End_mode__inline_() {end_nde_mode = Xop_xnde_tag_.End_mode__inline; return this;}
public Xop_xnde_tag End_mode__escape_() {end_nde_mode = Xop_xnde_tag_.End_mode__escape; return this;}
public boolean Single_only() {return single_only;} public Xop_xnde_tag Single_only_() {single_only = true; return this;} private boolean single_only;
public boolean Tbl_sub() {return tbl_sub;} public Xop_xnde_tag Tbl_sub_() {tbl_sub = true; return this;} private boolean tbl_sub;
public boolean Restricted() {return restricted;} public Xop_xnde_tag Restricted_() {restricted = true; return this;} private boolean restricted;

View File

@@ -18,250 +18,256 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.parsers.xndes; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*;
import gplx.xowa.langs.*;
public class Xop_xnde_tag_ {
public static final int End_nde_mode_normal = 0, End_nde_mode_inline = 1, End_nde_mode_escape = 2; // escape is for hr which does not support </hr>
public static final int Bgn_nde_mode_normal = 0, Bgn_nde_mode_inline = 1;
public static final byte[] Name_onlyinclude = Bry_.new_a7("onlyinclude");
public static final byte[] Xtn_end_tag_bgn = Bry_.new_a7("</");
public static final int Bgn_mode__normal = 0, Bgn_mode__inline = 1;
public static final int End_mode__normal = 0, End_mode__inline = 1, End_mode__escape = 2; // escape is for hr which does not support </hr>
public static final byte[] Bry__onlyinclude = Bry_.new_a7("onlyinclude");
public static final byte[] Bry__end_tag_bgn = Bry_.new_a7("</");
public static final int
Tid__null = -1
, Tid_b = 0
, Tid_strong = 1
, Tid_i = 2
, Tid_em = 3
, Tid_cite = 4
, Tid_dfn = 5
, Tid_var = 6
, Tid_u = 7
, Tid_ins = 8
, Tid_abbr = 9
, Tid_strike = 10
, Tid_del = 11
, Tid_s = 12
, Tid_sub = 13
, Tid_sup = 14
, Tid_big = 15
, Tid_small = 16
, Tid_code = 17
, Tid_tt = 18
, Tid_kbd = 19
, Tid_samp = 20
, Tid_blockquote = 21
, Tid_pre = 22
, Tid_font = 23
, Tid_center = 24
, Tid_p = 25
, Tid_span = 26
, Tid_div = 27
, Tid_hr = 28
, Tid_br = 29
, Tid_h1 = 30
, Tid_h2 = 31
, Tid_h3 = 32
, Tid_h4 = 33
, Tid_h5 = 34
, Tid_h6 = 35
, Tid_li = 36
, Tid_dt = 37
, Tid_dd = 38
, Tid_ol = 39
, Tid_ul = 40
, Tid_dl = 41
, Tid_table = 42
, Tid_tr = 43
, Tid_td = 44
, Tid_th = 45
, Tid_thead = 46
, Tid_tfoot = 47
, Tid_tbody = 48
, Tid_caption = 49
, Tid_colgroup = 50
, Tid_col = 51
, Tid_a = 52
, Tid_img = 53
, Tid_ruby = 54
, Tid_rt = 55
, Tid_rb = 56
, Tid_rp = 57
, Tid_includeonly = 58
, Tid_noinclude = 59
, Tid_onlyinclude = 60
, Tid_nowiki = 61
, Tid_xowa_cmd = 62
, Tid_poem = 63
, Tid_math = 64
, Tid_ref = 65
, Tid_references = 66
, Tid_source = 67
, Tid_syntaxHighlight = 68
, Tid_gallery = 69
, Tid_imageMap = 70
, Tid_timeline = 71
, Tid_hiero = 72
, Tid_inputBox = 73
, Tid_pages = 74
, Tid_section = 75
, Tid_pagequality = 76
, Tid_pagelist = 77
, Tid_categoryList = 78
, Tid_categoryTree = 79
, Tid_dynamicPageList = 80
, Tid_time = 81
, Tid_input = 82
, Tid_textarea = 83
, Tid_score = 84
, Tid_button = 85
, Tid_select = 86
, Tid_option = 87
, Tid_optgroup = 88
, Tid_script = 89
, Tid_style = 90
, Tid_form = 91
, Tid_translate = 92
, Tid_languages = 93
, Tid_templateData = 94
, Tid_bdi = 95
, Tid_data = 96
, Tid_mark = 97
, Tid_wbr = 98
, Tid_bdo = 99
, Tid_listing_buy = 100
, Tid_listing_do = 101
, Tid_listing_drink = 102
, Tid_listing_eat = 103
, Tid_listing_listing = 104
, Tid_listing_see = 105
, Tid_listing_sleep = 106
, Tid_rss = 107
, Tid_xowa_html = 108
, Tid_xowa_tag_bgn = 109
, Tid_xowa_tag_end = 110
, Tid_quiz = 111
, Tid_indicator = 112
, Tid_q = 113
, Tid_graph = 114
, Tid__b = 0
, Tid__strong = 1
, Tid__i = 2
, Tid__em = 3
, Tid__cite = 4
, Tid__dfn = 5
, Tid__var = 6
, Tid__u = 7
, Tid__ins = 8
, Tid__abbr = 9
, Tid__strike = 10
, Tid__del = 11
, Tid__s = 12
, Tid__sub = 13
, Tid__sup = 14
, Tid__big = 15
, Tid__small = 16
, Tid__code = 17
, Tid__tt = 18
, Tid__kbd = 19
, Tid__samp = 20
, Tid__blockquote = 21
, Tid__pre = 22
, Tid__font = 23
, Tid__center = 24
, Tid__p = 25
, Tid__span = 26
, Tid__div = 27
, Tid__hr = 28
, Tid__br = 29
, Tid__h1 = 30
, Tid__h2 = 31
, Tid__h3 = 32
, Tid__h4 = 33
, Tid__h5 = 34
, Tid__h6 = 35
, Tid__li = 36
, Tid__dt = 37
, Tid__dd = 38
, Tid__ol = 39
, Tid__ul = 40
, Tid__dl = 41
, Tid__table = 42
, Tid__tr = 43
, Tid__td = 44
, Tid__th = 45
, Tid__thead = 46
, Tid__tfoot = 47
, Tid__tbody = 48
, Tid__caption = 49
, Tid__colgroup = 50
, Tid__col = 51
, Tid__a = 52
, Tid__img = 53
, Tid__ruby = 54
, Tid__rt = 55
, Tid__rb = 56
, Tid__rp = 57
, Tid__includeonly = 58
, Tid__noinclude = 59
, Tid__onlyinclude = 60
, Tid__nowiki = 61
, Tid__xowa_cmd = 62
, Tid__poem = 63
, Tid__math = 64
, Tid__ref = 65
, Tid__references = 66
, Tid__source = 67
, Tid__syntaxHighlight = 68
, Tid__gallery = 69
, Tid__imageMap = 70
, Tid__timeline = 71
, Tid__hiero = 72
, Tid__inputBox = 73
, Tid__pages = 74
, Tid__section = 75
, Tid__pagequality = 76
, Tid__pagelist = 77
, Tid__categoryList = 78
, Tid__categoryTree = 79
, Tid__dynamicPageList = 80
, Tid__time = 81
, Tid__input = 82
, Tid__textarea = 83
, Tid__score = 84
, Tid__button = 85
, Tid__select = 86
, Tid__option = 87
, Tid__optgroup = 88
, Tid__script = 89
, Tid__style = 90
, Tid__form = 91
, Tid__translate = 92
, Tid__languages = 93
, Tid__templateData = 94
, Tid__bdi = 95
, Tid__data = 96
, Tid__mark = 97
, Tid__wbr = 98
, Tid__bdo = 99
, Tid__listing_buy = 100
, Tid__listing_do = 101
, Tid__listing_drink = 102
, Tid__listing_eat = 103
, Tid__listing_listing = 104
, Tid__listing_see = 105
, Tid__listing_sleep = 106
, Tid__rss = 107
, Tid__xowa_html = 108
, Tid__xowa_tag_bgn = 109
, Tid__xowa_tag_end = 110
, Tid__quiz = 111
, Tid__indicator = 112
, Tid__q = 113
, Tid__graph = 114
, Tid__random_selection = 115
, Tid__tabber = 116
, Tid__tabview = 117
;
public static final int Tid__len = 115;
public static final int Tid__len = 118;
public static final Xop_xnde_tag[] Ary = new Xop_xnde_tag[Tid__len];
private static Xop_xnde_tag new_(int id, String name) {
private static Xop_xnde_tag New(int id, String name) {
Xop_xnde_tag rv = new Xop_xnde_tag(id, name);
Ary[id] = rv;
return rv;
}
public static final Xop_xnde_tag
Tag_b = new_(Tid_b, "b").No_inline_()
, Tag_strong = new_(Tid_strong, "strong").No_inline_()
, Tag_i = new_(Tid_i, "i").No_inline_()
, Tag_em = new_(Tid_em, "em").No_inline_()
, Tag_cite = new_(Tid_cite, "cite").No_inline_()
, Tag_dfn = new_(Tid_dfn, "dfn").No_inline_()
, Tag_var = new_(Tid_var, "var").No_inline_()
, Tag_u = new_(Tid_u, "u").No_inline_().Repeat_ends_() // PAGE:en.b:Textbook_of_Psychiatry/Alcoholism_and_Psychoactive_Substance_Use_Disorders; DATE:2014-09-05
, Tag_ins = new_(Tid_ins, "ins").No_inline_()
, Tag_abbr = new_(Tid_abbr, "abbr").No_inline_()
, Tag_strike = new_(Tid_strike, "strike").No_inline_()
, Tag_del = new_(Tid_del, "del").No_inline_()
, Tag_s = new_(Tid_s, "s").No_inline_()
, Tag_sub = new_(Tid_sub, "sub").No_inline_()
, Tag_sup = new_(Tid_sup, "sup").No_inline_()
, Tag_big = new_(Tid_big, "big").No_inline_()
, Tag_small = new_(Tid_small, "small").No_inline_()
, Tag_code = new_(Tid_code, "code").No_inline_().Repeat_ends_()
, Tag_tt = new_(Tid_tt, "tt").No_inline_().Repeat_ends_()
, Tag_kbd = new_(Tid_kbd, "kbd").No_inline_()
, Tag_samp = new_(Tid_samp, "samp").No_inline_()
, Tag_blockquote = new_(Tid_blockquote, "blockquote").No_inline_().Repeat_mids_().Section_().Block_open_bgn_().Block_close_end_() // NOTE: should be open_end_, but leaving for now; DATE:2014-03-11; added Repeat_mids_(); PAGE:en.w:Ring_a_Ring_o'_Roses DATE:2014-06-26
, Tag_pre = new_(Tid_pre, "pre").No_inline_().Section_().Xtn_mw_().Raw_().Block_open_bgn_().Block_close_end_().Ignore_empty_().Xtn_skips_template_args_()
, Tag_font = new_(Tid_font, "font").No_inline_()
, Tag_center = new_(Tid_center, "center").No_inline_().Block_open_end_().Block_close_end_() // removed .Repeat_ends_(); added Nest_(); EX: w:Burr Truss; DATE:2012-12-12
, Tag_p = new_(Tid_p, "p").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_span = new_(Tid_span, "span").Section_()
, Tag_div = new_(Tid_div, "div").Section_().Block_open_end_().Block_close_end_()
, Tag_hr = new_(Tid_hr, "hr").Single_only_().Single_only_html_().Bgn_nde_mode_inline_().Inline_by_backslash_().End_nde_mode_escape_().Section_().Block_close_end_()
, Tag_br = new_(Tid_br, "br").Single_only_().Single_only_html_().Bgn_nde_mode_inline_().Inline_by_backslash_().End_nde_mode_inline_().Section_()
, Tag_h1 = new_(Tid_h1, "h1").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_h2 = new_(Tid_h2, "h2").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_h3 = new_(Tid_h3, "h3").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_h4 = new_(Tid_h4, "h4").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_h5 = new_(Tid_h5, "h5").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_h6 = new_(Tid_h6, "h6").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_li = new_(Tid_li, "li").Repeat_mids_().Empty_ignored_().Block_open_bgn_().Block_close_end_()
, Tag_dt = new_(Tid_dt, "dt").Repeat_mids_()
, Tag_dd = new_(Tid_dd, "dd").Repeat_mids_()
, Tag_ol = new_(Tid_ol, "ol").No_inline_().Block_open_bgn_().Block_close_end_()
, Tag_ul = new_(Tid_ul, "ul").No_inline_().Block_open_bgn_().Block_close_end_()
, Tag_dl = new_(Tid_dl, "dl").No_inline_()
, Tag_table = new_(Tid_table, "table").No_inline_().Block_open_bgn_().Block_close_end_()
, Tag_tr = new_(Tid_tr, "tr").Tbl_sub_().Block_open_bgn_().Block_open_end_()
, Tag_td = new_(Tid_td, "td").Tbl_sub_().Block_open_end_().Block_close_bgn_()
, Tag_th = new_(Tid_th, "th").Tbl_sub_().Block_open_end_().Block_close_bgn_()
, Tag_thead = new_(Tid_thead, "thead")
, Tag_tfoot = new_(Tid_tfoot, "tfoot")
, Tag_tbody = new_(Tid_tbody, "tbody")
, Tag_caption = new_(Tid_caption, "caption").No_inline_().Tbl_sub_()
, Tag_colgroup = new_(Tid_colgroup, "colgroup")
, Tag_col = new_(Tid_col, "col")
, Tag_a = new_(Tid_a, "a").Restricted_()
, Tag_img = new_(Tid_img, "img").Single_only_html_().Restricted_() // NOTE: was .Xtn() DATE:2014-11-06
, Tag_ruby = new_(Tid_ruby, "ruby").No_inline_()
, Tag_rt = new_(Tid_rt, "rt").No_inline_()
, Tag_rb = new_(Tid_rb, "rb").No_inline_()
, Tag_rp = new_(Tid_rp, "rp").No_inline_()
, Tag_includeonly = new_(Tid_includeonly, "includeonly")
, Tag_noinclude = new_(Tid_noinclude, "noinclude")
, Tag_onlyinclude = new_(Tid_onlyinclude, "onlyinclude")
, Tag_nowiki = new_(Tid_nowiki, "nowiki")
, Tag_xowa_cmd = new_(Tid_xowa_cmd, "xowa_cmd").Xtn_()
, Tag_poem = new_(Tid_poem, "poem").Xtn_mw_().Xtn_auto_close_()
, Tag_math = new_(Tid_math, "math").Xtn_mw_()
, Tag_ref = new_(Tid_ref, "ref").Xtn_mw_()
, Tag_references = new_(Tid_references, "references").Xtn_mw_()
, Tag_source = new_(Tid_source, "source").Xtn_mw_().Block_open_bgn_().Block_close_end_() // deactivate pre; pre; PAGE:en.w:Comment_(computer_programming); DATE:2014-06-23
, Tag_syntaxHighlight = new_(Tid_syntaxHighlight, "syntaxHighlight").Xtn_mw_().Block_open_bgn_().Block_close_end_() // deactivate pre; pre; PAGE:en.w:Comment_(computer_programming); DATE:2014-06-23
, Tag_gallery = new_(Tid_gallery, "gallery").Xtn_mw_().Block_open_bgn_().Block_close_end_().Xtn_auto_close_()
, Tag_imageMap = new_(Tid_imageMap, "imageMap").Xtn_mw_()
, Tag_timeline = new_(Tid_timeline, "timeline").Xtn_mw_()
, Tag_hiero = new_(Tid_hiero, "hiero").Xtn_mw_()
, Tag_inputBox = new_(Tid_inputBox, "inputBox").Xtn_mw_()
, Tag_pages = new_(Tid_pages, "pages").Xtn_mw_()
, Tag_section = new_(Tid_section, "section").Xtn_mw_().Langs_(Xol_lang_stub_.Id_de, "Abschnitt").Langs_(Xol_lang_stub_.Id_he, "קטע").Langs_(Xol_lang_stub_.Id_pt, "trecho") // DATE:2014-07-18
, Tag_pagequality = new_(Tid_pagequality, "pagequality").Xtn_mw_()
, Tag_pagelist = new_(Tid_pagelist, "pagelist").Xtn_mw_()
, Tag_categoryList = new_(Tid_categoryList, "categoryList").Xtn_mw_()
, Tag_categoryTree = new_(Tid_categoryTree, "categoryTree").Xtn_mw_()
, Tag_dynamicPageList = new_(Tid_dynamicPageList, "dynamicPageList").Xtn_mw_()
, Tag_time = new_(Tid_time, "time")
, Tag_input = new_(Tid_input, "input").Restricted_()
, Tag_textarea = new_(Tid_textarea, "textarea").Restricted_()
, Tag_score = new_(Tid_score, "score").Xtn_mw_()
, Tag_button = new_(Tid_button, "button").Restricted_()
, Tag_select = new_(Tid_select, "select").Restricted_()
, Tag_option = new_(Tid_option, "option").Restricted_()
, Tag_optgroup = new_(Tid_optgroup, "optgroup").Restricted_()
, Tag_script = new_(Tid_script, "script").Restricted_() // NOTE: had ".Block_open_bgn_().Block_close_end_()"; PAGE:en.w:Cascading_Style_Sheets DATE:2014-06-23
, Tag_style = new_(Tid_style, "style").Restricted_() // NOTE: had ".Block_open_bgn_().Block_close_end_()"; PAGE:en.w:Cascading_Style_Sheets DATE:2014-06-23
, Tag_form = new_(Tid_form, "form").Restricted_() // NOTE: had ".Block_open_bgn_().Block_close_end_()"; PAGE:en.w:Cascading_Style_Sheets DATE:2014-06-23
, Tag_translate = new_(Tid_translate, "translate").Xtn_mw_()
, Tag_languages = new_(Tid_languages, "languages").Xtn_mw_()
, Tag_templateData = new_(Tid_templateData, "templateData").Xtn_mw_()
, Tag_bdi = new_(Tid_bdi, "bdi")
, Tag_data = new_(Tid_data, "data")
, Tag_mark = new_(Tid_mark, "mark")
, Tag_wbr = new_(Tid_wbr, "wbr").Single_only_().Single_only_html_()
, Tag_bdo = new_(Tid_bdo, "bdo").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag_listing_buy = new_(Tid_listing_buy, "buy").Xtn_mw_()
, Tag_listing_do = new_(Tid_listing_do, "do").Xtn_mw_()
, Tag_listing_drink = new_(Tid_listing_drink, "drink").Xtn_mw_()
, Tag_listing_eat = new_(Tid_listing_eat, "eat").Xtn_mw_()
, Tag_listing_listing = new_(Tid_listing_listing, "listing").Xtn_mw_()
, Tag_listing_see = new_(Tid_listing_see, "see").Xtn_mw_()
, Tag_listing_sleep = new_(Tid_listing_sleep, "sleep").Xtn_mw_()
, Tag_rss = new_(Tid_rss, "rss").Xtn_mw_()
, Tag_xowa_html = new_(Tid_xowa_html, "xowa_html").Xtn_()
, Tag_xowa_tag_bgn = new_(Tid_xowa_tag_bgn, "xtag_bgn").Xtn_()
, Tag_xowa_tag_end = new_(Tid_xowa_tag_end, "xtag_end").Xtn_()
, Tag_quiz = new_(Tid_quiz, "quiz").Xtn_mw_()
, Tag_indicator = new_(Tid_indicator, "indicator").Xtn_mw_()
, Tag_q = new_(Tid_q, "q")
, Tag_graph = new_(Tid_graph, "graph").Xtn_mw_()
Tag__b = New(Tid__b, "b").No_inline_()
, Tag__strong = New(Tid__strong, "strong").No_inline_()
, Tag__i = New(Tid__i, "i").No_inline_()
, Tag__em = New(Tid__em, "em").No_inline_()
, Tag__cite = New(Tid__cite, "cite").No_inline_()
, Tag__dfn = New(Tid__dfn, "dfn").No_inline_()
, Tag__var = New(Tid__var, "var").No_inline_()
, Tag__u = New(Tid__u, "u").No_inline_().Repeat_ends_() // PAGE:en.b:Textbook_of_Psychiatry/Alcoholism_and_Psychoactive_Substance_Use_Disorders; DATE:2014-09-05
, Tag__ins = New(Tid__ins, "ins").No_inline_()
, Tag__abbr = New(Tid__abbr, "abbr").No_inline_()
, Tag__strike = New(Tid__strike, "strike").No_inline_()
, Tag__del = New(Tid__del, "del").No_inline_()
, Tag__s = New(Tid__s, "s").No_inline_()
, Tag__sub = New(Tid__sub, "sub").No_inline_()
, Tag__sup = New(Tid__sup, "sup").No_inline_()
, Tag__big = New(Tid__big, "big").No_inline_()
, Tag__small = New(Tid__small, "small").No_inline_()
, Tag__code = New(Tid__code, "code").No_inline_().Repeat_ends_()
, Tag__tt = New(Tid__tt, "tt").No_inline_().Repeat_ends_()
, Tag__kbd = New(Tid__kbd, "kbd").No_inline_()
, Tag__samp = New(Tid__samp, "samp").No_inline_()
, Tag__blockquote = New(Tid__blockquote, "blockquote").No_inline_().Repeat_mids_().Section_().Block_open_bgn_().Block_close_end_() // NOTE: should be open_end_, but leaving for now; DATE:2014-03-11; added Repeat_mids_(); PAGE:en.w:Ring_a_Ring_o'_Roses DATE:2014-06-26
, Tag__pre = New(Tid__pre, "pre").No_inline_().Section_().Xtn_mw_().Raw_().Block_open_bgn_().Block_close_end_().Ignore_empty_().Xtn_skips_template_args_()
, Tag__font = New(Tid__font, "font").No_inline_()
, Tag__center = New(Tid__center, "center").No_inline_().Block_open_end_().Block_close_end_() // removed .Repeat_ends_(); added Nest_(); EX: w:Burr Truss; DATE:2012-12-12
, Tag__p = New(Tid__p, "p").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__span = New(Tid__span, "span").Section_()
, Tag__div = New(Tid__div, "div").Section_().Block_open_end_().Block_close_end_()
, Tag__hr = New(Tid__hr, "hr").Single_only_().Single_only_html_().Bgn_mode__inline_().Inline_by_backslash_().End_mode__escape_().Section_().Block_close_end_()
, Tag__br = New(Tid__br, "br").Single_only_().Single_only_html_().Bgn_mode__inline_().Inline_by_backslash_().End_mode__inline_().Section_()
, Tag__h1 = New(Tid__h1, "h1").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__h2 = New(Tid__h2, "h2").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__h3 = New(Tid__h3, "h3").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__h4 = New(Tid__h4, "h4").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__h5 = New(Tid__h5, "h5").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__h6 = New(Tid__h6, "h6").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__li = New(Tid__li, "li").Repeat_mids_().Empty_ignored_().Block_open_bgn_().Block_close_end_()
, Tag__dt = New(Tid__dt, "dt").Repeat_mids_()
, Tag__dd = New(Tid__dd, "dd").Repeat_mids_()
, Tag__ol = New(Tid__ol, "ol").No_inline_().Block_open_bgn_().Block_close_end_()
, Tag__ul = New(Tid__ul, "ul").No_inline_().Block_open_bgn_().Block_close_end_()
, Tag__dl = New(Tid__dl, "dl").No_inline_()
, Tag__table = New(Tid__table, "table").No_inline_().Block_open_bgn_().Block_close_end_()
, Tag__tr = New(Tid__tr, "tr").Tbl_sub_().Block_open_bgn_().Block_open_end_()
, Tag__td = New(Tid__td, "td").Tbl_sub_().Block_open_end_().Block_close_bgn_()
, Tag__th = New(Tid__th, "th").Tbl_sub_().Block_open_end_().Block_close_bgn_()
, Tag__thead = New(Tid__thead, "thead")
, Tag__tfoot = New(Tid__tfoot, "tfoot")
, Tag__tbody = New(Tid__tbody, "tbody")
, Tag__caption = New(Tid__caption, "caption").No_inline_().Tbl_sub_()
, Tag__colgroup = New(Tid__colgroup, "colgroup")
, Tag__col = New(Tid__col, "col")
, Tag__a = New(Tid__a, "a").Restricted_()
, Tag__img = New(Tid__img, "img").Single_only_html_().Restricted_() // NOTE: was .Xtn() DATE:2014-11-06
, Tag__ruby = New(Tid__ruby, "ruby").No_inline_()
, Tag__rt = New(Tid__rt, "rt").No_inline_()
, Tag__rb = New(Tid__rb, "rb").No_inline_()
, Tag__rp = New(Tid__rp, "rp").No_inline_()
, Tag__includeonly = New(Tid__includeonly, "includeonly")
, Tag__noinclude = New(Tid__noinclude, "noinclude")
, Tag__onlyinclude = New(Tid__onlyinclude, "onlyinclude")
, Tag__nowiki = New(Tid__nowiki, "nowiki")
, Tag__xowa_cmd = New(Tid__xowa_cmd, "xowa_cmd").Xtn_()
, Tag__poem = New(Tid__poem, "poem").Xtn_mw_().Xtn_auto_close_()
, Tag__math = New(Tid__math, "math").Xtn_mw_()
, Tag__ref = New(Tid__ref, "ref").Xtn_mw_()
, Tag__references = New(Tid__references, "references").Xtn_mw_()
, Tag__source = New(Tid__source, "source").Xtn_mw_().Block_open_bgn_().Block_close_end_() // deactivate pre; pre; PAGE:en.w:Comment_(computer_programming); DATE:2014-06-23
, Tag__syntaxHighlight = New(Tid__syntaxHighlight, "syntaxHighlight").Xtn_mw_().Block_open_bgn_().Block_close_end_() // deactivate pre; pre; PAGE:en.w:Comment_(computer_programming); DATE:2014-06-23
, Tag__gallery = New(Tid__gallery, "gallery").Xtn_mw_().Block_open_bgn_().Block_close_end_().Xtn_auto_close_()
, Tag__imageMap = New(Tid__imageMap, "imageMap").Xtn_mw_()
, Tag__timeline = New(Tid__timeline, "timeline").Xtn_mw_()
, Tag__hiero = New(Tid__hiero, "hiero").Xtn_mw_()
, Tag__inputBox = New(Tid__inputBox, "inputBox").Xtn_mw_()
, Tag__pages = New(Tid__pages, "pages").Xtn_mw_()
, Tag__section = New(Tid__section, "section").Xtn_mw_().Langs_(Xol_lang_stub_.Id_de, "Abschnitt").Langs_(Xol_lang_stub_.Id_he, "קטע").Langs_(Xol_lang_stub_.Id_pt, "trecho") // DATE:2014-07-18
, Tag__pagequality = New(Tid__pagequality, "pagequality").Xtn_mw_()
, Tag__pagelist = New(Tid__pagelist, "pagelist").Xtn_mw_()
, Tag__categoryList = New(Tid__categoryList, "categoryList").Xtn_mw_()
, Tag__categoryTree = New(Tid__categoryTree, "categoryTree").Xtn_mw_()
, Tag__dynamicPageList = New(Tid__dynamicPageList, "dynamicPageList").Xtn_mw_()
, Tag__time = New(Tid__time, "time")
, Tag__input = New(Tid__input, "input").Restricted_()
, Tag__textarea = New(Tid__textarea, "textarea").Restricted_()
, Tag__score = New(Tid__score, "score").Xtn_mw_()
, Tag__button = New(Tid__button, "button").Restricted_()
, Tag__select = New(Tid__select, "select").Restricted_()
, Tag__option = New(Tid__option, "option").Restricted_()
, Tag__optgroup = New(Tid__optgroup, "optgroup").Restricted_()
, Tag__script = New(Tid__script, "script").Restricted_() // NOTE: had ".Block_open_bgn_().Block_close_end_()"; PAGE:en.w:Cascading_Style_Sheets DATE:2014-06-23
, Tag__style = New(Tid__style, "style").Restricted_() // NOTE: had ".Block_open_bgn_().Block_close_end_()"; PAGE:en.w:Cascading_Style_Sheets DATE:2014-06-23
, Tag__form = New(Tid__form, "form").Restricted_() // NOTE: had ".Block_open_bgn_().Block_close_end_()"; PAGE:en.w:Cascading_Style_Sheets DATE:2014-06-23
, Tag__translate = New(Tid__translate, "translate").Xtn_mw_()
, Tag__languages = New(Tid__languages, "languages").Xtn_mw_()
, Tag__templateData = New(Tid__templateData, "templateData").Xtn_mw_()
, Tag__bdi = New(Tid__bdi, "bdi")
, Tag__data = New(Tid__data, "data")
, Tag__mark = New(Tid__mark, "mark")
, Tag__wbr = New(Tid__wbr, "wbr").Single_only_().Single_only_html_()
, Tag__bdo = New(Tid__bdo, "bdo").No_inline_().Section_().Block_open_bgn_().Block_close_end_()
, Tag__listing_buy = New(Tid__listing_buy, "buy").Xtn_mw_()
, Tag__listing_do = New(Tid__listing_do, "do").Xtn_mw_()
, Tag__listing_drink = New(Tid__listing_drink, "drink").Xtn_mw_()
, Tag__listing_eat = New(Tid__listing_eat, "eat").Xtn_mw_()
, Tag__listing_listing = New(Tid__listing_listing, "listing").Xtn_mw_()
, Tag__listing_see = New(Tid__listing_see, "see").Xtn_mw_()
, Tag__listing_sleep = New(Tid__listing_sleep, "sleep").Xtn_mw_()
, Tag__rss = New(Tid__rss, "rss").Xtn_mw_()
, Tag__xowa_html = New(Tid__xowa_html, "xowa_html").Xtn_()
, Tag__xowa_tag_bgn = New(Tid__xowa_tag_bgn, "xtag_bgn").Xtn_()
, Tag__xowa_tag_end = New(Tid__xowa_tag_end, "xtag_end").Xtn_()
, Tag__quiz = New(Tid__quiz, "quiz").Xtn_mw_()
, Tag__indicator = New(Tid__indicator, "indicator").Xtn_mw_()
, Tag__q = New(Tid__q, "q")
, Tag__graph = New(Tid__graph, "graph").Xtn_mw_()
, Tag__random_selection = New(Tid__random_selection, "choose").Xtn_mw_()
, Tag__tabber = New(Tid__tabber, "tabber").Xtn_mw_()
, Tag__tabview = New(Tid__tabview, "tabview").Xtn_mw_()
;
}

View File

@@ -22,7 +22,7 @@ public class Xop_xnde_tag_lang {
lang_code = Int_obj_ref.new_(lang_code_int);
this.name_str = name_str;
this.name_bry = Bry_.new_u8(name_str);
this.xtnEndTag_tmp = Bry_.Add(Xop_xnde_tag_.Xtn_end_tag_bgn, name_bry);
this.xtnEndTag_tmp = Bry_.Add(Xop_xnde_tag_.Bry__end_tag_bgn, name_bry);
}
public Int_obj_ref Lang_code() {return lang_code;} private Int_obj_ref lang_code;
public String Name_str() {return name_str;} private String name_str;

View File

@@ -49,17 +49,17 @@ public class Xop_xnde_tag_regy {
Add_itm(trie, xnde);
}
if (is_tmpl) { // is_tmpl also has <nowiki>, <includeonly>, <noinclude>, <onlyinclude>
Add_itm(trie, Xop_xnde_tag_.Tag_nowiki);
Add_itm(trie, Xop_xnde_tag_.Tag_includeonly);
Add_itm(trie, Xop_xnde_tag_.Tag_noinclude);
Add_itm(trie, Xop_xnde_tag_.Tag_onlyinclude);
Add_itm(trie, Xop_xnde_tag_.Tag__nowiki);
Add_itm(trie, Xop_xnde_tag_.Tag__includeonly);
Add_itm(trie, Xop_xnde_tag_.Tag__noinclude);
Add_itm(trie, Xop_xnde_tag_.Tag__onlyinclude);
}
}
private boolean Ignore_xnde(Hash_adp_bry xtn_hash, Xop_xnde_tag xnde) {
return xtn_hash != null // xtn_hash is null during tests or when wiki is not in site_meta_db
&& xnde.Xtn_mw() // only apply filter to xtn_xnde, not basic_xnde; EX: <dynamicpagelist> not <table>
&& !xtn_hash.Has(xnde.Name_bry()) // xtn_xnde is not in xtn_hash
&& !Int_.In(xnde.Id(), Xop_xnde_tag_.Tid_translate, Xop_xnde_tag_.Tid_languages) // always include <translate> and <languages>; TODO:filter out when extensions supported in site_cfg; DATE:2015-10-13
&& !Int_.In(xnde.Id(), Xop_xnde_tag_.Tid__translate, Xop_xnde_tag_.Tid__languages) // always include <translate> and <languages>; TODO:filter out when extensions supported in site_cfg; DATE:2015-10-13
; // skip; xtn is not defined in site_meta_db
}
private void Add_itm(Btrie_slim_mgr trie, Xop_xnde_tag xnde) {

View File

@@ -45,10 +45,10 @@ public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
public Xox_xnde Xnde_xtn() {return xnde_xtn;} public Xop_xnde_tkn Xnde_xtn_(Xox_xnde v) {xnde_xtn = v; return this;} private Xox_xnde xnde_xtn;
@Override public void Tmpl_compile(Xop_ctx ctx, byte[] src, Xot_compile_data prep_data) {
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_noinclude: // NOTE: prep_mode is false to force recompile; see Ex_Tmpl_noinclude and {{{1<ni>|a</ni>}}}
case Xop_xnde_tag_.Tid_includeonly: // NOTE: changed to always ignore <includeonly>; DATE:2014-05-10
case Xop_xnde_tag_.Tid__noinclude: // NOTE: prep_mode is false to force recompile; see Ex_Tmpl_noinclude and {{{1<ni>|a</ni>}}}
case Xop_xnde_tag_.Tid__includeonly: // NOTE: changed to always ignore <includeonly>; DATE:2014-05-10
break;
case Xop_xnde_tag_.Tid_nowiki: {
case Xop_xnde_tag_.Tid__nowiki: {
int subs_len = this.Subs_len();
for (int i = 0; i < subs_len; i++) {
Xop_tkn_itm sub = this.Subs_get(i);
@@ -56,7 +56,7 @@ public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
}
break;
}
case Xop_xnde_tag_.Tid_onlyinclude: {
case Xop_xnde_tag_.Tid__onlyinclude: {
int subs_len = this.Subs_len();
for (int i = 0; i < subs_len; i++) {
Xop_tkn_itm sub = this.Subs_get(i);
@@ -84,21 +84,21 @@ public class Xop_xnde_tkn extends Xop_tkn_itm_base implements Xop_tblw_tkn {
// }
int subs_len = this.Subs_len();
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_noinclude: // do not evaluate subs
case Xop_xnde_tag_.Tid__noinclude: // do not evaluate subs
break;
case Xop_xnde_tag_.Tid_includeonly: // evaluate subs
case Xop_xnde_tag_.Tid__includeonly: // evaluate subs
if (!ctx.Only_include_evaluate()) {
for (int i = 0; i < subs_len; i++)
this.Subs_get(i).Tmpl_evaluate(ctx, src, caller, bfr);
}
break;
case Xop_xnde_tag_.Tid_nowiki: // evaluate subs; add tags
bfr.Add_byte(Byte_ascii.Lt).Add(Xop_xnde_tag_.Tag_nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
case Xop_xnde_tag_.Tid__nowiki: // evaluate subs; add tags
bfr.Add_byte(Byte_ascii.Lt).Add(Xop_xnde_tag_.Tag__nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
for (int i = 0; i < subs_len; i++)
this.Subs_get(i).Tmpl_evaluate(ctx, src, caller, bfr);
bfr.Add_byte(Byte_ascii.Lt).Add_byte(Byte_ascii.Slash).Add(Xop_xnde_tag_.Tag_nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
bfr.Add_byte(Byte_ascii.Lt).Add_byte(Byte_ascii.Slash).Add(Xop_xnde_tag_.Tag__nowiki.Name_bry()).Add_byte(Byte_ascii.Gt);
break;
case Xop_xnde_tag_.Tid_onlyinclude: // evaluate subs but toggle onlyinclude flag on/off
case Xop_xnde_tag_.Tid__onlyinclude: // evaluate subs but toggle onlyinclude flag on/off
// boolean prv_val = ctx.Onlyinclude_enabled;
// ctx.Onlyinclude_enabled = false;
for (int i = 0; i < subs_len; i++)

View File

@@ -138,14 +138,14 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
int valid_inner_xnde_gt = atr_parser.Xnde_find_gt_find(src, name_bgn_pos, src_len); // check if <nowiki>, <noinclude>, <includeonly> or <onlyinclude> (which can exist inside tag)
if (valid_inner_xnde_gt == String_.Find_none){ // not a <nowiki>
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_input: break; // noop; needed for Options which may have < in value; DATE:2014-07-04
case Xop_xnde_tag_.Tid__input: break; // noop; needed for Options which may have < in value; DATE:2014-07-04
default: return ctx.Lxr_make_txt_(cur_pos); // escape text; EX: "<div </div>" -> "&lt;div </div>"; SEE:it.u:; DATE:2014-02-03
}
}
else { // is a <nowiki> skip to </nowiki>
if ( i == end_name_pos
&& ctx.Parse_tid() == Xop_parser_.Parse_tid_tmpl
&& Bry_.Eq(atr_parser.Bry_obj().Val(), Xop_xnde_tag_.Tag_includeonly.Name_bry())
&& Bry_.Eq(atr_parser.Bry_obj().Val(), Xop_xnde_tag_.Tag__includeonly.Name_bry())
) {
pre2_hack = true;
}
@@ -171,11 +171,11 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
switch (ctx.Parse_tid()) { // NOTE: special logic to handle <include>; SEE: NOTE_1 below
case Xop_parser_.Parse_tid_page_wiki: // NOTE: ignore if (a) wiki and (b) <noinclude> or <onlyinclude>
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_noinclude:
case Xop_xnde_tag_.Tid_onlyinclude:
case Xop_xnde_tag_.Tid__noinclude:
case Xop_xnde_tag_.Tid__onlyinclude:
ctx.Subs_add(root, tkn_mkr.Ignore(bgn_pos, end_pos, Xop_ignore_tkn.Ignore_tid_include_wiki));
return end_pos;
case Xop_xnde_tag_.Tid_nowiki:
case Xop_xnde_tag_.Tid__nowiki:
force_xtn_for_nowiki = true;
ctx_cur_tid_is_tblw_atr_owner = false;
break;
@@ -183,15 +183,15 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
break;
case Xop_parser_.Parse_tid_tmpl: // NOTE: ignore if (a) tmpl and (b) <includeonly>
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_includeonly:
case Xop_xnde_tag_.Tid__includeonly:
ctx.Subs_add(root, tkn_mkr.Ignore(bgn_pos, end_pos, Xop_ignore_tkn.Ignore_tid_include_tmpl));
return end_pos;
case Xop_xnde_tag_.Tid_noinclude:
case Xop_xnde_tag_.Tid__noinclude:
return Make_noinclude(ctx, tkn_mkr, root, src, src_len, bgn_pos, gt_pos, tag, atrs_bgn_pos - 1, tag_is_closing); // -1 b/c atrs_bgn_pos may be set past >; may need to adjust above logic; DATE:2014-06-24
case Xop_xnde_tag_.Tid_nowiki:
case Xop_xnde_tag_.Tid__nowiki:
force_xtn_for_nowiki = true;
break;
case Xop_xnde_tag_.Tid_onlyinclude:
case Xop_xnde_tag_.Tid__onlyinclude:
break;
default:
break;
@@ -199,11 +199,11 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
break;
case Xop_parser_.Parse_tid_page_tmpl: // NOTE: added late; SEE:comment test for "a <!-<noinclude></noinclude>- b -->c"
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_noinclude:
case Xop_xnde_tag_.Tid__noinclude:
ctx.Subs_add(root, tkn_mkr.Ignore(bgn_pos, end_pos, Xop_ignore_tkn.Ignore_tid_include_tmpl));
return end_pos;
case Xop_xnde_tag_.Tid_nowiki: // if encountered in page_tmpl stage, mark nowiki as xtn; added for nowiki_xnde_frag; DATE:2013-01-27
case Xop_xnde_tag_.Tid_includeonly: // includeonly should be resolved during template stage; EX: =<io>=</io>A=<io>=</io>; DATE:2014-02-12
case Xop_xnde_tag_.Tid__nowiki: // if encountered in page_tmpl stage, mark nowiki as xtn; added for nowiki_xnde_frag; DATE:2013-01-27
case Xop_xnde_tag_.Tid__includeonly: // includeonly should be resolved during template stage; EX: =<io>=</io>A=<io>=</io>; DATE:2014-02-12
force_xtn_for_nowiki = true;
break;
}
@@ -246,7 +246,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
}
}
int end_rhs = -1, findPos = gtPos;
byte[] end_bry = Xop_xnde_tag_.Tag_noinclude.Xtn_end_tag(); int end_bry_len = end_bry.length;
byte[] end_bry = Xop_xnde_tag_.Tag__noinclude.Xtn_end_tag(); int end_bry_len = end_bry.length;
if (tag_is_closing) // </noinclude>; no end tag to search for; DATE:2014-05-02
end_rhs = gtPos;
else { // <noinclude>; search for end tag
@@ -323,11 +323,11 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
boolean tag_ignore = false;
int tagId = tag.Id();
if (tagId == Xop_xnde_tag_.Tid_table || tag.Tbl_sub()) { // tbl tag; EX: <table>,<tr>,<td>,<th>
if (tagId == Xop_xnde_tag_.Tid__table || tag.Tbl_sub()) { // tbl tag; EX: <table>,<tr>,<td>,<th>
Tblw_bgn(ctx, tkn_mkr, root, src, src_len, bgn_pos, gtPos + 1, tagId, atrs_bgn, atrs_end);
return gtPos + 1;
}
else if (prv_xnde_tagId == Xop_xnde_tag_.Tid_p && tagId == Xop_xnde_tag_.Tid_p) {
else if (prv_xnde_tagId == Xop_xnde_tag_.Tid__p && tagId == Xop_xnde_tag_.Tid__p) {
ctx.Msg_log().Add_itm_none(Xop_xnde_log.Auto_closing_section, src, bgn_pos, bgn_pos);
End_tag(ctx, root, prv_xnde, src, src_len, bgn_pos - 1, bgn_pos - 1, tagId, true, tag);
}
@@ -347,7 +347,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
}
Xop_xnde_tkn xnde = null;
xnde = Xnde_bgn(ctx, tkn_mkr, root, tag, inline ? Xop_xnde_tkn.CloseMode_inline : Xop_xnde_tkn.CloseMode_open, src, bgn_pos, open_tag_end, atrs_bgn, atrs_end, atrs);
if (!inline && tag.Bgn_nde_mode() != Xop_xnde_tag_.Bgn_nde_mode_inline)
if (!inline && tag.Bgn_mode() != Xop_xnde_tag_.Bgn_mode__inline)
ctx.Stack_add(xnde);
if (tag_ignore)
xnde.Tag_visible_(false);
@@ -368,10 +368,10 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
case Xop_tkn_itm_.Tid_xnde:
Xop_xnde_tkn xnde_tkn = (Xop_xnde_tkn)tkn;
int stack_tag_id = xnde_tkn.Tag().Id();
if (cur_tag_id == Xop_xnde_tag_.Tid_li) {
if (cur_tag_id == Xop_xnde_tag_.Tid__li) {
switch (stack_tag_id) {
case Xop_xnde_tag_.Tid_ul: // ul / ol resets tag_stack for li; EX: <li><ul><li>; 2nd li is not nested in 1st
case Xop_xnde_tag_.Tid_ol:
case Xop_xnde_tag_.Tid__ul: // ul / ol resets tag_stack for li; EX: <li><ul><li>; 2nd li is not nested in 1st
case Xop_xnde_tag_.Tid__ol:
return false;
}
}
@@ -384,11 +384,11 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
private void Tblw_bgn(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos, int tagId, int atrs_bgn, int atrs_end) {
byte wlxr_type = 0;
switch (tagId) {
case Xop_xnde_tag_.Tid_table: wlxr_type = Xop_tblw_wkr.Tblw_type_tb; break;
case Xop_xnde_tag_.Tid_tr: wlxr_type = Xop_tblw_wkr.Tblw_type_tr; break;
case Xop_xnde_tag_.Tid_td: wlxr_type = Xop_tblw_wkr.Tblw_type_td; break;
case Xop_xnde_tag_.Tid_th: wlxr_type = Xop_tblw_wkr.Tblw_type_th; break;
case Xop_xnde_tag_.Tid_caption: wlxr_type = Xop_tblw_wkr.Tblw_type_tc; break;
case Xop_xnde_tag_.Tid__table: wlxr_type = Xop_tblw_wkr.Tblw_type_tb; break;
case Xop_xnde_tag_.Tid__tr: wlxr_type = Xop_tblw_wkr.Tblw_type_tr; break;
case Xop_xnde_tag_.Tid__td: wlxr_type = Xop_tblw_wkr.Tblw_type_td; break;
case Xop_xnde_tag_.Tid__th: wlxr_type = Xop_tblw_wkr.Tblw_type_th; break;
case Xop_xnde_tag_.Tid__caption: wlxr_type = Xop_tblw_wkr.Tblw_type_tc; break;
}
ctx.Tblw().Make_tkn_bgn(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, true, wlxr_type, Xop_tblw_wkr.Called_from_general, atrs_bgn, atrs_end);
}
@@ -396,11 +396,11 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
int typeId = 0;
byte wlxr_type = 0;
switch (tagId) {
case Xop_xnde_tag_.Tid_table: typeId = Xop_tkn_itm_.Tid_tblw_tb; wlxr_type = Xop_tblw_wkr.Tblw_type_tb; break;
case Xop_xnde_tag_.Tid_tr: typeId = Xop_tkn_itm_.Tid_tblw_tr; wlxr_type = Xop_tblw_wkr.Tblw_type_tr; break;
case Xop_xnde_tag_.Tid_td: typeId = Xop_tkn_itm_.Tid_tblw_td; wlxr_type = Xop_tblw_wkr.Tblw_type_td; break;
case Xop_xnde_tag_.Tid_th: typeId = Xop_tkn_itm_.Tid_tblw_th; wlxr_type = Xop_tblw_wkr.Tblw_type_th; break;
case Xop_xnde_tag_.Tid_caption: typeId = Xop_tkn_itm_.Tid_tblw_tc; wlxr_type = Xop_tblw_wkr.Tblw_type_tc; break;
case Xop_xnde_tag_.Tid__table: typeId = Xop_tkn_itm_.Tid_tblw_tb; wlxr_type = Xop_tblw_wkr.Tblw_type_tb; break;
case Xop_xnde_tag_.Tid__tr: typeId = Xop_tkn_itm_.Tid_tblw_tr; wlxr_type = Xop_tblw_wkr.Tblw_type_tr; break;
case Xop_xnde_tag_.Tid__td: typeId = Xop_tkn_itm_.Tid_tblw_td; wlxr_type = Xop_tblw_wkr.Tblw_type_td; break;
case Xop_xnde_tag_.Tid__th: typeId = Xop_tkn_itm_.Tid_tblw_th; wlxr_type = Xop_tblw_wkr.Tblw_type_th; break;
case Xop_xnde_tag_.Tid__caption: typeId = Xop_tkn_itm_.Tid_tblw_tc; wlxr_type = Xop_tblw_wkr.Tblw_type_tc; break;
}
Xop_tblw_tkn prv_tkn = ctx.Stack_get_tbl();
int prv_tkn_typeId = prv_tkn == null ? -1 : prv_tkn.Tkn_tid();
@@ -414,19 +414,19 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
Xop_xnde_tkn bgn_nde = (Xop_xnde_tkn)ctx.Stack_get(prv_xnde_pos);
int bgn_tag_id = bgn_nde == null ? -1 : bgn_nde.Tag().Id();
int end_nde_mode = end_tag.End_nde_mode();
int end_nde_mode = end_tag.End_mode();
boolean force_end_tag_to_match_bgn_tag = false;
switch (bgn_tag_id) {
case Xop_xnde_tag_.Tid_sub: if (end_tag_id == Xop_xnde_tag_.Tid_sup) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid_sup: if (end_tag_id == Xop_xnde_tag_.Tid_sub) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid_mark: if (end_tag_id == Xop_xnde_tag_.Tid_span) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid_span: if (end_tag_id == Xop_xnde_tag_.Tid_font) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid__sub: if (end_tag_id == Xop_xnde_tag_.Tid__sup) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid__sup: if (end_tag_id == Xop_xnde_tag_.Tid__sub) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid__mark: if (end_tag_id == Xop_xnde_tag_.Tid__span) force_end_tag_to_match_bgn_tag = true; break;
case Xop_xnde_tag_.Tid__span: if (end_tag_id == Xop_xnde_tag_.Tid__font) force_end_tag_to_match_bgn_tag = true; break;
}
if (force_end_tag_to_match_bgn_tag) {
end_tag_id = bgn_tag_id;
ctx.Msg_log().Add_itm_none(Xop_xnde_log.Sub_sup_swapped, src, bgn_pos, cur_pos);
}
if (end_tag_id == Xop_xnde_tag_.Tid_table || end_tag.Tbl_sub()) {
if (end_tag_id == Xop_xnde_tag_.Tid__table || end_tag.Tbl_sub()) {
Tblw_end(ctx, tkn_mkr, root, src, src_len, bgn_pos, cur_pos, end_tag_id);
return cur_pos;
}
@@ -437,10 +437,10 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
return cur_pos;
}
switch (end_nde_mode) {
case Xop_xnde_tag_.End_nde_mode_inline: // PATCH.WP: allows </br>, </br/> and many other variants
case Xop_xnde_tag_.End_mode__inline: // PATCH.WP: allows </br>, </br/> and many other variants
Xnde_bgn(ctx, tkn_mkr, root, end_tag, Xop_xnde_tkn.CloseMode_inline, src, bgn_pos, cur_pos, Int_.Min_value, Int_.Min_value, null); // NOTE: atrs is null b/c </br> will never have atrs
return cur_pos;
case Xop_xnde_tag_.End_nde_mode_escape: // handle </hr>
case Xop_xnde_tag_.End_mode__escape: // handle </hr>
ctx.Lxr_make_(false);
ctx.Msg_log().Add_itm_none(Xop_xnde_log.Escaped_xnde, src, bgn_pos, cur_pos - 1);
return cur_pos;
@@ -592,7 +592,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
case Xop_parser_.Parse_tid_page_tmpl: {
Xox_xnde xnde_xtn = null;
switch (tag.Id()) {
case Xop_xnde_tag_.Tid_xowa_cmd: xnde_xtn = tkn_mkr.Xnde_xowa_cmd(); break;
case Xop_xnde_tag_.Tid__xowa_cmd: xnde_xtn = tkn_mkr.Xnde__xowa_cmd(); break;
}
if (xnde_xtn != null) {
xnde_xtn.Xtn_parse(ctx.Wiki(), ctx, root, src, xnde);
@@ -605,18 +605,18 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
int tag_id = tag.Id();
boolean escaped = false;
switch (tag_id) {
case Xop_xnde_tag_.Tid_xowa_cmd: xnde_xtn = tkn_mkr.Xnde_xowa_cmd(); break;
case Xop_xnde_tag_.Tid_math: xnde_xtn = tkn_mkr.Xnde_math(); break;
case Xop_xnde_tag_.Tid_poem: xnde_xtn = tkn_mkr.Xnde_poem(); break;
case Xop_xnde_tag_.Tid_ref: xnde_xtn = gplx.xowa.xtns.cites.References_nde.Enabled ? tkn_mkr.Xnde_ref() : null; break;
case Xop_xnde_tag_.Tid_references: xnde_xtn = gplx.xowa.xtns.cites.References_nde.Enabled ? tkn_mkr.Xnde_references() : null; break;
case Xop_xnde_tag_.Tid_gallery: xnde_xtn = tkn_mkr.Xnde_gallery(); break;
case Xop_xnde_tag_.Tid_imageMap: xnde_xtn = tkn_mkr.Xnde_imageMap(); break;
case Xop_xnde_tag_.Tid_hiero: xnde_xtn = tkn_mkr.Xnde_hiero(); break;
case Xop_xnde_tag_.Tid_inputBox: xnde_xtn = tkn_mkr.Xnde_inputbox(); break;
case Xop_xnde_tag_.Tid_dynamicPageList: xnde_xtn = tkn_mkr.Xnde_dynamicPageList(); break;
case Xop_xnde_tag_.Tid_pages: {
xnde_xtn = tkn_mkr.Xnde_pages();
case Xop_xnde_tag_.Tid__xowa_cmd: xnde_xtn = tkn_mkr.Xnde__xowa_cmd(); break;
case Xop_xnde_tag_.Tid__math: xnde_xtn = tkn_mkr.Xnde__math(); break;
case Xop_xnde_tag_.Tid__poem: xnde_xtn = tkn_mkr.Xnde__poem(); break;
case Xop_xnde_tag_.Tid__ref: xnde_xtn = gplx.xowa.xtns.cites.References_nde.Enabled ? tkn_mkr.Xnde__ref() : null; break;
case Xop_xnde_tag_.Tid__references: xnde_xtn = gplx.xowa.xtns.cites.References_nde.Enabled ? tkn_mkr.Xnde__references() : null; break;
case Xop_xnde_tag_.Tid__gallery: xnde_xtn = tkn_mkr.Xnde__gallery(); break;
case Xop_xnde_tag_.Tid__imageMap: xnde_xtn = tkn_mkr.Xnde__imageMap(); break;
case Xop_xnde_tag_.Tid__hiero: xnde_xtn = tkn_mkr.Xnde__hiero(); break;
case Xop_xnde_tag_.Tid__inputBox: xnde_xtn = tkn_mkr.Xnde__inputbox(); break;
case Xop_xnde_tag_.Tid__dynamicPageList: xnde_xtn = tkn_mkr.Xnde__dynamicPageList(); break;
case Xop_xnde_tag_.Tid__pages: {
xnde_xtn = tkn_mkr.Xnde__pages();
boolean enabled = ctx.Wiki().Xtn_mgr().Xtn_proofread().Enabled();
if (!enabled) { // if Page / Index ns does not exist, disable xtn and escape content; DATE:2014-11-28
escaped = true;
@@ -624,36 +624,39 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
}
break;
}
case Xop_xnde_tag_.Tid_pagequality: xnde_xtn = tkn_mkr.Xnde_pagequality(); break;
case Xop_xnde_tag_.Tid_pagelist: xnde_xtn = tkn_mkr.Xnde_pagelist(); break;
case Xop_xnde_tag_.Tid_section: xnde_xtn = tkn_mkr.Xnde_section(); break;
case Xop_xnde_tag_.Tid_categoryList: xnde_xtn = tkn_mkr.Xnde_categoryList(); break;
case Xop_xnde_tag_.Tid_source: // changed to be synonymn of syntax_highlight; DATE:2014-06-24
case Xop_xnde_tag_.Tid_syntaxHighlight: xnde_xtn = tkn_mkr.Xnde_syntaxHighlight(); break;
case Xop_xnde_tag_.Tid_score: xnde_xtn = tkn_mkr.Xnde_score(); break;
case Xop_xnde_tag_.Tid_translate: xnde_xtn = tkn_mkr.Xnde_translate(); break;
case Xop_xnde_tag_.Tid_languages: xnde_xtn = tkn_mkr.Xnde_languages(); break;
case Xop_xnde_tag_.Tid_templateData: xnde_xtn = tkn_mkr.Xnde_templateData(); break;
case Xop_xnde_tag_.Tid_rss: xnde_xtn = tkn_mkr.Xnde_rss(); break;
case Xop_xnde_tag_.Tid_quiz: xnde_xtn = tkn_mkr.Xnde_quiz(); break;
case Xop_xnde_tag_.Tid_indicator: xnde_xtn = tkn_mkr.Xnde_indicator(); break;
case Xop_xnde_tag_.Tid_xowa_html: xnde_xtn = tkn_mkr.Xnde_xowa_html(); break;
case Xop_xnde_tag_.Tid_graph: xnde_xtn = tkn_mkr.Xnde_graph(); break;
case Xop_xnde_tag_.Tid_listing_buy:
case Xop_xnde_tag_.Tid_listing_do:
case Xop_xnde_tag_.Tid_listing_drink:
case Xop_xnde_tag_.Tid_listing_eat:
case Xop_xnde_tag_.Tid_listing_listing:
case Xop_xnde_tag_.Tid_listing_see:
case Xop_xnde_tag_.Tid_listing_sleep: xnde_xtn = tkn_mkr.Xnde_listing(tag_id); break;
case Xop_xnde_tag_.Tid_timeline:
case Xop_xnde_tag_.Tid__pagequality: xnde_xtn = tkn_mkr.Xnde__pagequality(); break;
case Xop_xnde_tag_.Tid__pagelist: xnde_xtn = tkn_mkr.Xnde__pagelist(); break;
case Xop_xnde_tag_.Tid__section: xnde_xtn = tkn_mkr.Xnde__section(); break;
case Xop_xnde_tag_.Tid__categoryList: xnde_xtn = tkn_mkr.Xnde__categoryList(); break;
case Xop_xnde_tag_.Tid__source: // changed to be synonymn of syntax_highlight; DATE:2014-06-24
case Xop_xnde_tag_.Tid__syntaxHighlight: xnde_xtn = tkn_mkr.Xnde__syntaxHighlight(); break;
case Xop_xnde_tag_.Tid__score: xnde_xtn = tkn_mkr.Xnde__score(); break;
case Xop_xnde_tag_.Tid__translate: xnde_xtn = tkn_mkr.Xnde__translate(); break;
case Xop_xnde_tag_.Tid__languages: xnde_xtn = tkn_mkr.Xnde__languages(); break;
case Xop_xnde_tag_.Tid__templateData: xnde_xtn = tkn_mkr.Xnde__templateData(); break;
case Xop_xnde_tag_.Tid__rss: xnde_xtn = tkn_mkr.Xnde__rss(); break;
case Xop_xnde_tag_.Tid__quiz: xnde_xtn = tkn_mkr.Xnde__quiz(); break;
case Xop_xnde_tag_.Tid__indicator: xnde_xtn = tkn_mkr.Xnde__indicator(); break;
case Xop_xnde_tag_.Tid__xowa_html: xnde_xtn = tkn_mkr.Xnde__xowa_html(); break;
case Xop_xnde_tag_.Tid__graph: xnde_xtn = tkn_mkr.Xnde__graph(); break;
case Xop_xnde_tag_.Tid__random_selection: xnde_xtn = tkn_mkr.Xnde__random_selection(); break;
case Xop_xnde_tag_.Tid__tabber: xnde_xtn = tkn_mkr.Xnde__tabber(); break;
case Xop_xnde_tag_.Tid__tabview: xnde_xtn = tkn_mkr.Xnde__tabview(); break;
case Xop_xnde_tag_.Tid__listing_buy:
case Xop_xnde_tag_.Tid__listing_do:
case Xop_xnde_tag_.Tid__listing_drink:
case Xop_xnde_tag_.Tid__listing_eat:
case Xop_xnde_tag_.Tid__listing_listing:
case Xop_xnde_tag_.Tid__listing_see:
case Xop_xnde_tag_.Tid__listing_sleep: xnde_xtn = tkn_mkr.Xnde__listing(tag_id); break;
case Xop_xnde_tag_.Tid__timeline:
boolean log_wkr_enabled = Timeline_log_wkr != Xop_log_basic_wkr.Null; if (log_wkr_enabled) Timeline_log_wkr.Log_end_xnde(ctx.Page(), Xop_log_basic_wkr.Tid_timeline, src, xnde);
ctx.Page().Html_data().Head_mgr().Itm__timeline().Enabled_y_();
break;
case Xop_xnde_tag_.Tid_xowa_tag_bgn:
case Xop_xnde_tag_.Tid_xowa_tag_end:
case Xop_xnde_tag_.Tid__xowa_tag_bgn:
case Xop_xnde_tag_.Tid__xowa_tag_end:
break;
case Xop_xnde_tag_.Tid_pre: // NOTE: pre must be an xtn, but does not create an xtn node (it gobbles up everything between); still need to touch the para_wkr; DATE:2014-02-20
case Xop_xnde_tag_.Tid__pre: // NOTE: pre must be an xtn, but does not create an xtn node (it gobbles up everything between); still need to touch the para_wkr; DATE:2014-02-20
ctx.Para().Process_block__xnde(tag, Xop_xnde_tag.Block_bgn);
if (Bry_find_.Find_fwd(src, Byte_ascii.Nl, xnde.Tag_open_end(), xnde.Tag_close_bgn()) != Bry_find_.Not_found)
ctx.Para().Process_nl(ctx, root, src, xnde.Tag_open_bgn(), xnde.Tag_open_bgn());
@@ -670,7 +673,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
xnde_xtn.Xtn_parse(ctx.Wiki(), ctx, root, src, xnde);
}
catch (Exception e) {
String err_msg = String_.Format("failed to render extension: title={0} excerpt={1} err={2}", ctx.Page().Ttl().Full_txt()
String err_msg = String_.Format("failed to render extension: title={0} excerpt={1} err={2}", ctx.Page().Ttl().Full_txt_w_ttl_case()
, Bry_.Mid(src, xnde.Tag_open_end(), xnde.Tag_close_bgn())
, Err_.Message_gplx_log(e));
if (Env_.Mode_testing())
@@ -691,7 +694,7 @@ public class Xop_xnde_wkr implements Xop_ctx_wkr {
ctx.Subs_add(root, rv);
return rv;
}
private static final byte[]
private static final byte[]
Bry_escape_lt_slash = Bry_.new_a7("&lt;/")
;
public static int Find_gt_pos(Xop_ctx ctx, byte[] src, int cur_pos, int src_len) { // UNUSED