| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
-
- /*
- * Modle Init.
- * public
- * @param param1 (type)
- *
- * Example usage:
- * @code
- * @endcode
- */
- function editor_layout_init(){
- }
- function layoutWordHeadCode(showTo,obj){
- menu_view_script(showTo,obj.value);
- }
- function menu_view_script(showto,code){
- var xAllWord = gXmlBookDataBody.getElementsByTagName("word");
-
- if(showto==0 && code=="org"){
- for(iWord=0;iWord<xAllWord.length;iWord++){
- wordId=getNodeText(xAllWord[iWord],"id");
- xDiv = document.getElementById("wb"+wordId);
- xPali1 = xDiv.getElementsByClassName("paliword1")[0];
- xPali1.innerHTML=getNodeText(xAllWord[iWord],"pali");
- }
- return;
- }
- if(showto==1){
- if(code=="none"){
- $(".paliword2").css("display","none");
- return;
- }
- else{
- $(".paliword2").css("display","block");
- }
- }
-
- var xmlHttp=null;
- var xmlText="";
-
- var xmlScript=null;
-
- if(window.XMLHttpRequest)
- {// code for IE7, Firefox, Opera, etc.
- xmlHttp=new XMLHttpRequest();
- }
- else if(window.ActiveXObject)
- {// code for IE6, IE5
- xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
- }
-
- if (xmlHttp!=null)
- {
- var d=new Date();
- var strLink = "spt_get.php?code="+code;
- xmlHttp.open("GET", strLink, false);
- xmlHttp.send(null);
- xmlText=xmlHttp.responseText;
- //xmlDict=xmlHttp.responseXML;
- }
- else
- {
- alert("Your browser does not support XMLHTTP.");
- }
-
- if (window.DOMParser)
- {
- parser=new DOMParser();
- xmlScript=parser.parseFromString(xmlText,"text/xml");
- }
- else // Internet Explorer
- {
- xmlScript=new ActiveXObject("Microsoft.XMLDOM");
- xmlScript.async="false";
- xmlScript.loadXML(xmlText);
- }
-
- var arrPaliWords="";
- var xScriptWord = xmlScript.getElementsByTagName("word");
- var xPaliWords = document.getElementsByClassName("paliword");
- for(iWord=0;iWord<xAllWord.length;iWord++){
- arrPaliWords = arrPaliWords + "$" + getNodeText(xAllWord[iWord],"real");
- }
- for(i=0;i<xScriptWord.length;i++){
- var src = getNodeText(xScriptWord[i],"src");
- var dest = getNodeText(xScriptWord[i],"dest");
- eval("arrPaliWords = arrPaliWords.replace(/"+src+"/g, dest);");
- }
- // document.getElementById("scriptinner").innerHTML=arrPaliWords;
-
- var arrDestWords = arrPaliWords.split("$");
- for(iWord=0;iWord<xAllWord.length;iWord++){
- wordId=getNodeText(xAllWord[iWord],"id");
- xDiv = document.getElementById("wb"+wordId);
- if(xDiv){
- if(showto==0){
- xPali = xDiv.getElementsByClassName("paliword1")[0];
- }
- else{
- xPali = xDiv.getElementsByClassName("paliword2")[0];
- }
- if(arrDestWords[iWord+1].length>0){
- xPali.innerHTML=arrDestWords[iWord+1];
- }
- else{
- xPali.innerHTML=getNodeText(xAllWord[iWord],"pali");
- }
- }
- }
- if (xmlScript == null){
- alert("error:can not load dict.");
- return;
- }
- }
- function editro_layout_loadStyle(){
- var strStyle = getNodeText(gXmlBookDataHead,"style");
- document.getElementById("id_layout_style").value=strStyle;
- document.getElementById("mycss").innerHTML=strStyle;
- }
- function editor_layout_applyNewStyle(){
- var strStyle=document.getElementById("id_layout_style").value;
- document.getElementById("mycss").innerHTML=strStyle;
- setNodeText(gXmlBookDataHead,"style",strStyle);
- }
- //自动将逐词译段落切分为句子
- function layout_wbw_auto_cut(){
- var xBlock=gXmlBookDataBody.getElementsByTagName("block");
- for(var iBlock=0;iBlock<xBlock.length;iBlock++){
- xmlParInfo = xBlock[iBlock].getElementsByTagName("info")[0];
- xmlParData = xBlock[iBlock].getElementsByTagName("data")[0];
- var mId = getNodeText(xmlParInfo,"id")
- var par_num = getNodeText(xmlParInfo,"paragraph");
- var type = getNodeText(xmlParInfo,"type");
-
- if(type=="wbw"){
- var splited = getNodeText(xmlParInfo,"splited");
- if(splited != 1){
- var Note_Mark=0;
- var sent_gramma_i=0;
- var word_length_count=0;
- var sent_num=0;
- var arr_Para_ID=new Array();
- var allWord = xmlParData.getElementsByTagName("word");
- for(var iWord=0;iWord<allWord.length;iWord++){
- var wID=getNodeText(allWord[iWord],"id");
- var wPali=getNodeText(allWord[iWord],"pali");
- var wReal=getNodeText(allWord[iWord],"real");
- var wType=getNodeText(allWord[iWord],"type");
- var wGramma=getNodeText(allWord[iWord],"gramma");
- var wCase=getNodeText(allWord[iWord],"case");
- var wUn=getNodeText(allWord[iWord],"un");
- var wStyle=getNodeText(allWord[iWord],"style");
-
- if((wType=="" || wType=="?") && wCase!=""){
- wType=wCase.split("#")[0];
- }
- word_length_count += wPali.length;
- if(iWord>=1){
- var pre_pali_spell=getNodeText(allWord[iWord-1],"pali");
- var pre_pali_type=getNodeText(allWord[iWord-1],"type")
- var pre_pali_Gramma=getNodeText(allWord[iWord-1],"gramma")
- var pre_pali_Case=getNodeText(allWord[iWord-1],"case")
- if(pre_pali_type=="" && pre_pali_Case!=""){
- pre_pali_type=pre_pali_Case.split("#")[0];
- }
- if(pre_pali_Case!="" && pre_pali_Case.lastIndexOf("$")!=-1){
- var pre_case_array=pre_pali_Case.split("$");
- pre_pali_Case=pre_case_array[pre_case_array.length-1]
- }
- }
- if((iWord+2)<=allWord.length){
- var next_pali_spell=getNodeText(allWord[iWord+1],"pali");
- var next_pali_type=getNodeText(allWord[iWord+1],"type")
- var next_pali_Gramma=getNodeText(allWord[iWord+1],"gramma")
- var next_pali_Case=getNodeText(allWord[iWord+1],"case")
- if(next_pali_type=="" && next_pali_Case!=""){
- next_pali_type=next_pali_Case.split("#")[0];
- }
- if(next_pali_Case!="" && next_pali_Case.lastIndexOf("$")!=-1){
- var next_case_array=next_pali_Case.split("$");
- next_pali_Case=next_case_array[next_case_array.length-1]
- }
- }
- if(next_pali_spell=="("){
- Note_Mark=1;
- }
- else if(pre_pali_spell==")" && Note_Mark==1){
- Note_Mark=0;
- }
- else{
-
- }
-
- var isEndOfSen=false;
- if(wPali=="." && iWord>=1 && isNaN(pre_pali_spell) && iWord!=allWord.length-1 && Note_Mark==0){//以.結尾且非註釋
- if(next_pali_spell!="("){
- isEndOfSen=true;
- }
- }
- /*else if(wPali=="," && iWord>=1 && isNaN(pre_pali_spell) && iWord!=allWord.length-1 && pre_pali_type==".v." && Note_Mark==0){
- isEndOfSen=true;
- }导致自动匹配前后,句子切分不一致,注释*/
- else if(wPali=="–" && allWord.length>=(iWord+2) && next_pali_spell=="‘" && iWord!=allWord.length-1 && Note_Mark==0){
- isEndOfSen=true;
- }
- else if(allWord.length>=(iWord+2) && iWord!=allWord.length-1 && Note_Mark==0){//以!或?或;結尾
- if(/*wPali=="!" || */wPali==";" || wPali=="?"){
- if(next_pali_spell!="("){
- isEndOfSen=true;
- }
- }
- }
- if(isEndOfSen==true){
- var wEnter=getNodeText(allWord[iWord],"enter");
- if(wEnter=="" || wEnter==0){
- setNodeText(allWord[iWord],"enter","1");
- }
- var sent_ID="sent_"+par_num+"_"+sent_num;
- sent_num+=1
- word_length_count=0;
- sent_gramma_i=0;
- arr_Para_ID.push(wID);
- }
-
- if(wPali==","){
- if(next_pali_Case.lastIndexOf(".voc.")!=-1 || pre_pali_Case.lastIndexOf(".voc.")!=-1){
- sent_gramma_i += 0;
- }
- else{
- sent_gramma_i+=1;
- }
- }
- if(wType==".v:ind." && allWord.length>=(iWord+2) && next_pali_spell!=","){
- sent_gramma_i += 1;
- }
- else if(wType==".v." && allWord.length>=(iWord+2) && next_pali_spell!="." && next_pali_spell!=","){
- sent_gramma_i += 1;
- }
-
-
- }//段落结束
-
- //重绘
- //_display_sbs=1;
- //updateWordParBlockInner(xBlock[iBlock]);
- var sent_ID="sent_"+par_num+"_"+sent_num;
- arr_Para_ID.push(wID);
- arr_par_sent_num.push(sent_ID);
- g_arr_Para_ID[par_num]=arr_Para_ID;
-
- //设置已经切分标志
- setNodeText(xmlParInfo,"splited","1");
- }
- }
- }
-
- }
|