本申請屬于計(jì)算機(jī)數(shù)據(jù)處理領(lǐng)域,尤其涉及一種元素名稱沖突處理方法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)信息技術(shù)的發(fā)展,開發(fā)人員可以利用計(jì)算機(jī)設(shè)計(jì)出更多的應(yīng)用,大大提高了用戶學(xué)習(xí)、工作、娛樂等各方面的生活體驗(yàn)。
現(xiàn)有技術(shù)中開發(fā)設(shè)計(jì)應(yīng)用的計(jì)算機(jī)編程設(shè)計(jì)語言包括多種語言,如用于網(wǎng)頁頁面編輯定義的html語言、移動(dòng)終端系統(tǒng)的Android或者iOS、頁面應(yīng)用的JAVASCRIPT等。所述的計(jì)算機(jī)編程設(shè)計(jì)語言一般的包括自帶的函數(shù)、類、框架、標(biāo)識符等元素模塊,這些元素模塊的元素名稱通常為專用名稱,一般情況下是不允許開發(fā)人員自行修改或者添加相同名稱的名稱,以避免對系統(tǒng)中已構(gòu)建的元素模塊的功能造成影響。為了提高編程設(shè)計(jì)語言開發(fā)的可擴(kuò)展性和靈活性,大多數(shù)編程設(shè)計(jì)語言可以允許開發(fā)人員自定義實(shí)現(xiàn)某功能的元素,例如自定義函數(shù)或者網(wǎng)頁元素標(biāo)簽等,并且可以對所述自定義的元素設(shè)置自定義的元素名稱。
開發(fā)人員在自定義元素時(shí)往往存在不同的開發(fā)人員定義了相同的自定義元素名。在一些編程設(shè)計(jì)語言中,當(dāng)出現(xiàn)自定義元素命名沖突時(shí)可以設(shè)置在前端(未完成命名)不允許定義已經(jīng)存在的元素名。但在其他允許定義已經(jīng)存在的元素名的編程設(shè)計(jì)語言的應(yīng)用場景中往往會出現(xiàn)較多的自定義元素名命名沖突的情況。在一些應(yīng)用場景,如合并或者引用第三方自定義元素或者一組自定義元素時(shí),一些編程設(shè)計(jì)語言可以允許相同自定義元素名存在或者覆蓋掉相同的自定義元素名?;蛘哂捎诓煌拈_發(fā)人員定義了相同的自定義元素名,進(jìn)一步的甚至不同的開發(fā)人員也可能定義相同的前綴名,導(dǎo)致自定義元素調(diào)用錯(cuò)誤或者不可用,使應(yīng)用開發(fā)存在潛在風(fēng)險(xiǎn)。一旦出現(xiàn)所述元素名稱沖突或者覆蓋的情況,往往會導(dǎo)致應(yīng)用內(nèi)部數(shù)據(jù)調(diào)用錯(cuò)誤或者是不能調(diào)用,導(dǎo)致應(yīng)用不能正常運(yùn)行。而在開發(fā)人員在發(fā)現(xiàn)自定義元素名沖突時(shí),通常還需要手動(dòng)進(jìn)行修改相關(guān)元素信息。在一些應(yīng)用場景中,所述的自定義元素往往包括或者設(shè)計(jì)多個(gè)自身或者相關(guān)聯(lián)的信息。開發(fā)人員定義自定義元素時(shí)發(fā)現(xiàn)有命名沖突進(jìn)行自定義元素修改時(shí)可能會牽涉多個(gè)信息,造成開發(fā)應(yīng)用開發(fā)效率降低。
現(xiàn)有技術(shù)中,在應(yīng)用的編程設(shè)計(jì)開發(fā)中往往由于存在自定義元素命名沖突的問題,尤其是開發(fā)語言允許相同自定義元素名同時(shí)存在的情況下,限制開發(fā)人員使用第三方自定義元 素,降低了應(yīng)用編程設(shè)計(jì)的開發(fā)效率。出現(xiàn)命名沖突時(shí)往往還需要開發(fā)人員人工修改自定義元素的相關(guān)屬性信息,同樣降低了應(yīng)用編程設(shè)計(jì)的開發(fā)效率。
技術(shù)實(shí)現(xiàn)要素:
本申請目的在于提供一種元素名稱沖突處理方法及裝置,可以在自定義或者引用第三方元素出現(xiàn)自定義元素名沖突時(shí),通過預(yù)先設(shè)置的前綴解決命名沖突,提高元素名稱沖突時(shí)的處理效率,提高整個(gè)應(yīng)用編程設(shè)計(jì)的開發(fā)效率和開發(fā)人員操作使用的便利性。
本申請?zhí)峁┑囊环N元素名稱沖突處理方法及裝置是這樣實(shí)現(xiàn)的:
一種元素名稱沖突處理方法,所述方法包括:
存儲預(yù)先設(shè)置的前綴字符以及所述前綴字符與自定義元素名的組合規(guī)則;
獲取元素名稱沖突的自定義元素名和選取前綴字符,根據(jù)所述組合規(guī)則生成所述自定義元素名的新元素名;
建立通過所述新元素名調(diào)用到所述自定義元素名的映射關(guān)系。
一種元素名稱沖突處理裝置,所述裝置包括:
存儲模塊,用于存儲預(yù)先設(shè)置的前綴字符以及所述前綴字符與自定義元素名的組合規(guī)則;
計(jì)算模塊,用于獲取元素名稱沖突的自定義元素名和選取前綴字符,并根據(jù)所述組合規(guī)則生成所述自定義元素名的新元素名;
映射模塊,用于建立并存儲所述自定義元素名與所述新元素名的映射關(guān)系。
本申請?zhí)峁┑囊环N元素名稱沖突處理方法及裝置,可以預(yù)先定義多個(gè)應(yīng)用場景可以使用的前綴字符及所述前綴字符與自定義元素名的組合規(guī)則。在開發(fā)人員自定義或引用的元素名稱出現(xiàn)沖突時(shí),可以為根據(jù)開發(fā)人員的選擇或者自定義的選取規(guī)則選取所述自定義元素的前綴字符,然后可以根據(jù)所述組合規(guī)則形成新元素名,減少開發(fā)人員對沖突的自定元素名相關(guān)屬性信息的修改或者其他對自定義元素侵入性的修改,可以有效提高出現(xiàn)自定義元素命名沖突問題時(shí)自定義元素的處理效率。本申請中可以通過使用全局變量保存原元素名和加入所述前綴字符的新元素名映射關(guān)系,實(shí)現(xiàn)用新元素明引用實(shí)際的原元素名,保障了本申請實(shí)施的可靠性。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù) 描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本申請一種元素名稱沖突處理方法一種實(shí)施例的方法流程示意圖;
圖2是本申請一種元素名稱沖突處理方法另一種實(shí)施例的方法流程示意圖;
圖3是本申請一種元素名稱沖突處理裝置一種實(shí)施例的模塊結(jié)構(gòu)示意圖;
圖4是本申請一種元素名稱沖突處理裝置另一種實(shí)施例的模塊結(jié)構(gòu)示意圖;
圖5是本申請一種元素名稱沖突處理裝置中映射模塊一種實(shí)施例的模塊結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
下面結(jié)合附圖對本申請所述的元素命名沖突處理方法進(jìn)行詳細(xì)的說明。圖1是本申請所述一種元素名稱沖突處理裝置一種實(shí)施例的方法流程圖。雖然本申請?zhí)峁┝巳缦率鰧?shí)施例或流程圖所述的方法操作步驟,但基于常規(guī)或者無需創(chuàng)造性的勞動(dòng)在所述方法中可以包括更多或者更少的操作步驟。在邏輯性上不存在必要因果關(guān)系的步驟中,這些步驟的執(zhí)行順序不限于本申請實(shí)施例提供的執(zhí)行順序。所述的方法的在實(shí)際中的裝置或終端產(chǎn)品執(zhí)行時(shí),可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
圖1是本申請?zhí)峁┑囊环N元素名稱沖突處理方法一種實(shí)施例的方法流程示意圖。如圖1所示,所述方法可以包括:
S1:存儲預(yù)先設(shè)置的前綴字符以及所述前綴字符與自定義元素名的組合規(guī)則。
本申請中可以預(yù)先設(shè)置一個(gè)或者多個(gè)前綴字符,并且可以通過指定的方式存儲所述前綴字符。所述前綴字符可以包括可以用于與自定義元素名進(jìn)行組合的字母、數(shù)字、特定符號等字符信息。一般的,可以預(yù)先設(shè)置一個(gè)默認(rèn)的前綴字符,例如“pre”或者“pa”。所述的前綴字符一般的可以包括添加到所述自定義元素名字符前端的字符信息,可以用于標(biāo)識顯示該元素為自定義的元素,元素名稱為添加了該前綴字符的自定義元素名。
在本申請的一種優(yōu)選實(shí)施例中,所述存儲預(yù)先設(shè)置的前綴字符可以包括存儲預(yù)先設(shè)置的至少兩個(gè)前綴字符。這樣,在出現(xiàn)自定義元素名沖突時(shí),可以為開發(fā)人員提供更多的前綴字 符選取項(xiàng),開發(fā)人員可以根據(jù)自定義元素的數(shù)據(jù)處理需求、過程,或者自定義元素的類型等選取合適的前綴字符。本實(shí)施例所述的元素名稱沖突處理方法中,可以根據(jù)不同應(yīng)用場景設(shè)置的多個(gè)前綴字符,可以有效降低自定義元素名沖突的可能性,提高整體應(yīng)用的可靠性,同時(shí)也可以提高應(yīng)用的編程、設(shè)計(jì)等開發(fā)效率。
本實(shí)施例中一般的還可以設(shè)置所述前綴字符與自定義元素名的組合規(guī)則。所述的組合規(guī)則通??梢园ㄔ诰唧w的實(shí)施例應(yīng)用場景中,例如在網(wǎng)頁頁面自定義元素的名稱出現(xiàn)沖突時(shí),所述設(shè)置的前綴字符與所述名稱沖突的自定義元素名組合或者運(yùn)算方法,以達(dá)到形成所述自定義元素的新元素名。所述的組合規(guī)則可以結(jié)合使用到的開發(fā)設(shè)計(jì)語言設(shè)置,也可以自定義的根據(jù)設(shè)計(jì)需求設(shè)置。在本領(lǐng)域中的多數(shù)應(yīng)用場景中,所述組合規(guī)則可以包括將所述前綴字符添加到所述自定義元素名的前端位置。例如在上述網(wǎng)頁頁面應(yīng)用開發(fā)設(shè)計(jì)中,可以設(shè)定全局變量prefix,可以用于存儲預(yù)先設(shè)置的前綴字符如“pa-”,或者還可以存儲確定是否添加前綴字符的指示或者判斷信息。例如開發(fā)人員可以自定義一個(gè)元素,如一個(gè)頁面分頁的標(biāo)簽。所述開發(fā)人員在為自定義的元素設(shè)置自定義元素名為“pagination”時(shí)可以出現(xiàn)命名沖突的情況,可以根據(jù)上述所述的組合規(guī)則將全局變量中的前綴字符添加到自定義元素名的前端位置,形成新元素名“pa-pagination”。
當(dāng)然,在其他的應(yīng)用場景中,所述的組合規(guī)則可以根據(jù)設(shè)計(jì)需求或開發(fā)設(shè)計(jì)語言進(jìn)行設(shè)置。例如在javascript環(huán)境下使用angular.js框架時(shí),如果開發(fā)人員使用如<pa-pagination>這樣的自定義元素,那么在定義元素時(shí)則需要用“paPagination”的名稱,所以生成新元素名的規(guī)則根據(jù)不同的框架具體的規(guī)范而定。本申請中所述組合規(guī)則一般的可以包括但不限于例如上述的將所述前綴字符添加到所述自定義元素名的前端位置,如加上前綴字符“pa-”后形成的新元素名“pa-pagination”?;蛘咭部梢栽O(shè)置為將所述前綴字符添加到所述自定義元素名的后端位置,如加上前綴字符“-pa”后形成的新元素名“pagination-pa”。甚至,在一些應(yīng)用場景中,所述組合規(guī)則也可以包括將所述前綴字符替換掉所述自定義元素名中指定字段的字符等。
需要說明的是,本申請中所述的前綴字符與自定義元素的組合規(guī)則可以包括一個(gè)所述前綴字符對應(yīng)一種組合規(guī)則,也可以包括多個(gè)所述前綴字符對應(yīng)一種組合規(guī)則,當(dāng)然也可以包括對所有設(shè)置的前綴字符同一采樣某一種組合規(guī)則與所述自定義元素名進(jìn)行組合或者運(yùn)算的實(shí)施方式。一般的,設(shè)置所述前綴字符和組合規(guī)則后,所述前綴字符可以有與其相對應(yīng)的組合規(guī)則。
可以存儲預(yù)先設(shè)置的前綴字符,并設(shè)置所述前綴字符與所述自定義元素名的組合規(guī)則。
S2:獲取元素名稱沖突的自定義元素名和選取的所述前綴字符,根據(jù)所述組合規(guī)則生成所述自定義元素名的新元素名。
在本申請的實(shí)施例中,開發(fā)人員引用自定義元素出現(xiàn)自定義元素名出現(xiàn)沖突時(shí),本申請所述方法可以獲取所述自定義元素名沖突的自定義元素名。具體的所述獲取元素名稱沖突的自定義元素名的方法可以包括由應(yīng)用開發(fā)編程語言中的特定函數(shù)、組件、腳本、類、功能模塊等監(jiān)測到當(dāng)前引用的自定義元素的自定義元素名存在命名沖突時(shí)獲取所述自定義元素名。本申請不排除在一些應(yīng)用場景中也可以包括由開發(fā)人員將指定的自定義元素名作為所述獲取元素名稱沖突的自定義元素名,例如指定當(dāng)前已經(jīng)存在的自定義元素A為沖突的自定義元素名,或者指定與所述已經(jīng)存在的自定義元素命名相同的新加入的自定義元素A’為沖突的自定義元素名。然后對所述指定的自定義元素名進(jìn)行運(yùn)算或者組合生成新元素名。
在上述所述出現(xiàn)自定義元素名出現(xiàn)沖突時(shí),開發(fā)人員可以從所述預(yù)先存儲的前綴字符中選取需要與所述自定義元素名組合的前綴字符,那么本申請方法可以獲取所述選取的前綴字符。在具體的實(shí)現(xiàn)方式上,可以在所述出現(xiàn)自定義元素名沖突或者引用自定義元素時(shí),向開發(fā)人員展示存儲的前綴字符,供開發(fā)人員進(jìn)行選擇。
如前述所述,獲取到選取的前綴字符后,可以根據(jù)所述前綴字符所對應(yīng)的組合規(guī)則生成所述自定義元素名的新元素名。
當(dāng)然,如果存儲有多個(gè)前綴字符,如還存儲有前綴字符“au-”、“us-”、“cn-”,在出現(xiàn)自定義元素名沖突時(shí)可以將存儲的預(yù)置前綴字符“pa-”、“au-”、“us-”、“cn-”提供給開發(fā)人員進(jìn)行選擇。例如對于上述應(yīng)用場景中多個(gè)開發(fā)人員在自定義分頁標(biāo)簽元素時(shí)往往會使用自定義元素名“pagination”,而所述多個(gè)開發(fā)人員中的第一開發(fā)人員和第二開發(fā)人員到為了避免與其他開發(fā)人員自定義元素名相同而使添加了相同的前綴字符“pa-”。那么在例如頁面開發(fā)引用自定義標(biāo)簽時(shí),第三開發(fā)人員在引入了第一開發(fā)人員的自定義元素名“pa-pagination”后,再引入第二開發(fā)人員的自定義元素名“pa-pagination”時(shí)可以出現(xiàn)命名沖突的情況。那么此時(shí)開發(fā)人員可以根據(jù)網(wǎng)頁頁面應(yīng)用中展示的國家語言選取使用相應(yīng)國家英文縮寫的前綴字符,然后根據(jù)所述組合規(guī)則形成自定義標(biāo)簽元素的新元素名。
獲取選取的前綴字符和元素名稱沖突的自定義元素名,根據(jù)所述組合規(guī)則生成所述自定義元素名的新元素名。
S3:建立通過所述新元素名調(diào)用到所述自定義元素名的映射關(guān)系。
在根據(jù)選取的前綴字符生成自定義元素名的新元素名后,可以建立所述自定義元素名與所述新元素名的映射關(guān)系??梢杂蓴?shù)據(jù)庫或者本地和/遠(yuǎn)程的功能模塊存儲所述映射關(guān)系。本 實(shí)施例中將出現(xiàn)命名沖突的自定義元素名修改成另一個(gè)新元素名,在實(shí)際的應(yīng)用場景中自定義元素名為自定義元素其中的一個(gè)屬性值。所述的自定義元素例如html中的分頁標(biāo)簽中通常還可以包括多個(gè)屬性信息,例如坐標(biāo)信息、顏色信息以及與調(diào)用其他函數(shù)、模塊、標(biāo)簽等的關(guān)聯(lián)信息。本申請中為了保障將命名沖的自定義元素名修改成新元素名后所述新元素名在應(yīng)用開發(fā)中的可用性,本實(shí)施例所述方法可以建立并存儲所述自定義元素名與所述新元素名的映射關(guān)系,以便在其他函數(shù)、模塊或者標(biāo)簽等引用所述新元素名時(shí)可以調(diào)用到實(shí)際的自定義元素名。
本實(shí)施例所述的映射關(guān)系可以根據(jù)不同的應(yīng)用開發(fā)環(huán)境或者結(jié)合開發(fā)人員的設(shè)計(jì)需求進(jìn)行設(shè)置。例如在自定義html頁面元素的環(huán)境中,所述建立通過所述新元素名調(diào)用到所述自定義元素名的映射關(guān)系可以包括通過設(shè)置全局對象用建立并存儲所述新元素名與所述自定義元素名的映射關(guān)系。具體的例如可以設(shè)置一個(gè)全局對象relation,可以用于存儲命名沖突的自定義元素名“pagination”與根據(jù)所述前綴字符和組合規(guī)則生成該自定義元素的新元素名“pa-pagination”的映射關(guān)系,如relation={‘pagination’:’paPagination’}。所述全局對象根據(jù)開發(fā)設(shè)計(jì)語言的規(guī)范在限定的全局范圍內(nèi)可以被其他組件、模塊、標(biāo)簽等調(diào)用使用。
圖2是本申請一種元素名稱沖突處理方法另一種實(shí)施例的方法流程示意圖。如圖2所示,在建立了所述可以通過新元素名調(diào)用到所述自定義元素名的映射關(guān)系后,應(yīng)用中的其他例如函數(shù)、模塊、標(biāo)簽等可以通過所述映射關(guān)系引用到所述新元素名所對應(yīng)的自定義元素名。因此,本申請所述的一種元素名稱沖突處理方法中,所述方法還可以包括:
S4:基于所述映射關(guān)系訪問所述新元素名所對應(yīng)的自定義元素名。
需要說明的,本申請所述的應(yīng)用可以包括基于html下開發(fā)設(shè)計(jì)的頁面。本申請所述的一種元素名稱沖突處理方法可以適用于自定義頁面元素的框架,包括但不限于能自定義html頁面元素的應(yīng)用場景。
本申請實(shí)施例所述的元素名稱沖突處理方法在引用第三方自定義元素時(shí)可以大幅度降低元素自定義元素命名沖突的情況和出現(xiàn)命名沖突時(shí)的自定義元素名的修改處理效率。并且,本申請中可以設(shè)置多個(gè)前綴字符,可以為開發(fā)人員提供更多的前綴字符選擇空間,有效降低引用不同開發(fā)人員對相同自定義元素命名添加相應(yīng)前綴而導(dǎo)致的命名沖突問題。需要說明的是,在支持自定義頁面元素的框架尤其是上述所述的自定義html頁面元素的應(yīng)用場景中,本申請所述的方法可以在自行定義或者引用第三方的自定義元素出現(xiàn)沖突時(shí),減少開發(fā)人員對命名沖突的自定義元素名進(jìn)行屬性信息修改、重寫定義甚至丟棄使用,提高應(yīng)用編程設(shè)計(jì)的開發(fā)效率。另一方面,本申請所述方法中建立了可以通過新元素名調(diào)用到相應(yīng)的自定義元素名的映射關(guān)系,保障了在當(dāng)前應(yīng)用編程設(shè)計(jì)開發(fā)使使用修改后的新元素名仍然可以引 用到原實(shí)際的自定義元素名。
本申請所述的元素名稱沖突處理方法不僅可以有效的降低因自定義元素命名沖突以及所述自定義元素命名相同的同時(shí)添加的前綴字符也相同而導(dǎo)致的命名沖突現(xiàn)象。而且在出現(xiàn)所述自定義元素命名沖突時(shí),開發(fā)人員可以不需要對命名沖突的自定義元素進(jìn)行原屬性信息或者向關(guān)聯(lián)信息的修改,可以通過建立的映射關(guān)系直接引用到實(shí)際的原始的自定義元素名。并且本申請方法可以提供多個(gè)前綴字符和/或多個(gè)組合規(guī)則,使開發(fā)人員有更多的新元素命名選擇空間,方便開發(fā)人員引用自定義元素的操作使用,提高應(yīng)用開發(fā)效率。
基于本申請所述的元素名稱沖突處理方法,本申請還提供一種元素名稱沖突處理裝置。圖3是本申請所述元素名稱沖突處理裝置一種實(shí)施例的模塊結(jié)構(gòu)示意圖。如圖3所示,具體的,所述裝置可以包括:
存儲模塊101,可以用于存儲預(yù)先設(shè)置的前綴字符以及所述前綴字符與自定義元素名的組合規(guī)則;
計(jì)算模塊102,可以用于獲取元素名稱沖突的自定義元素名和選取的前綴字符,并根據(jù)所述組合規(guī)則計(jì)算生成所述自定義元素名的新元素名;
映射模塊103,可以用于建立并存儲所述自定義元素名與所述新元素名的映射關(guān)系。
本申請所述的元素名稱沖突處理裝置在引用第三方自定義元素時(shí)可以大幅度降低元素自定義元素命名沖突的情況。并且,本申請裝置中可以設(shè)置多個(gè)前綴字符,可以為開發(fā)人員提供更多的前綴字符選擇空間,有效降低引用不同開發(fā)人員對相同自定義元素命名添加相應(yīng)前綴而導(dǎo)致的命名沖突問題。在支持自定義頁面元素的框架尤其是上述所述的自定義html頁面元素的應(yīng)用場景中,本申請所述的裝置可以在自行定義或者引用第三方的自定義元素出現(xiàn)沖突時(shí),可以直接在當(dāng)前應(yīng)用開發(fā)界面中選取要添加的前綴字符,然后生成新的自定義元素的名稱。這樣可以避免開發(fā)人員對命名沖突的自定義元素名進(jìn)行屬性信息修改、重寫定義甚至丟棄使用,提高應(yīng)用編程設(shè)計(jì)的開發(fā)效率。同時(shí)本申請所述裝置中存儲有可以通過新元素名調(diào)用到相應(yīng)的自定義元素名的映射關(guān)系,保障了在當(dāng)前應(yīng)用編程設(shè)計(jì)開發(fā)使使用修改后的新元素名仍然可以引用到原實(shí)際的自定義元素名。
圖4是本申請所述元素名稱沖突處理裝置另一種實(shí)施例的模塊結(jié)構(gòu)示意圖。如圖4所述,所述裝置還可以包括:
訪問模塊104,可以用于根據(jù)所述映射模塊103中存儲的映射關(guān)系訪問所述新元素名所 對應(yīng)的自定義元素名。
本申請所述的方法可以在自行定義或者引用第三方的自定義元素出現(xiàn)沖突時(shí),可以通過所述訪問模塊訪問調(diào)用實(shí)際的自定義元素名,開發(fā)人員可以不需要再對命名沖突的自定義元素名進(jìn)行屬性信息修改、重寫定義甚至丟棄使用,提高應(yīng)用編程設(shè)計(jì)的開發(fā)效率。
本申請所述元素名稱沖突處理裝置優(yōu)選的實(shí)施例中,所述存儲模塊101可以存儲預(yù)先設(shè)置的至少兩個(gè)前綴字符。
本申請所述元素名稱沖突處理裝置另一種優(yōu)選的實(shí)施例中,所述組合規(guī)則可以包括下述中的至少一種:
將所述前綴字符添加到所述自定義元素名的前端位置;
將所述前綴字符添加到所述自定義元素名的后端位置;
將所述前綴字符替換所述自定義元素名中指定字段的字符。
如前所述,所述的前綴字符與自定義元素的組合規(guī)則可以包括一個(gè)所述前綴字符對應(yīng)一種組合規(guī)則,也可以包括多個(gè)所述前綴字符對應(yīng)一種組合規(guī)則,當(dāng)然也可以包括對所有設(shè)置的前綴字符同一采樣某一種組合規(guī)則。一般的,設(shè)置所述前綴字符和組合規(guī)則后,所述前綴字符可以有與其相對應(yīng)的組合規(guī)則。
圖5是本申請所述元素名稱沖突處理裝置中映射模塊103的一種實(shí)施例的模塊結(jié)構(gòu)示意圖。如圖5所述,所述映射模塊103可以包括:
全局對象模塊1031,可以用于建立的全局對象,在所述全局對象中存儲所述自定義元素名與所述新元素名的映射關(guān)系。
所述全局對象在一些應(yīng)用場景中可以被全局調(diào)用引用。例如在自定義html頁面元素的環(huán)境中可以將原自定義元素名與生成后的帶前綴的新元素名的映射關(guān)系存入到全局變量中,如relation={‘pagination’:’paPagination’}。
本申請?zhí)峁┑囊环N名稱沖突處理方法和裝置,不僅可以有效的降低因自定義元素命名沖突以及所述自定義元素命名相同的同時(shí)添加的前綴字符也相同而導(dǎo)致的命名沖突現(xiàn)象。而且在出現(xiàn)所述自定義元素命名沖突時(shí),開發(fā)人員可以不需要對命名沖突的自定義元素進(jìn)行原屬性信息或者向關(guān)聯(lián)信息的修改,可以通過建立的映射關(guān)系直接引用到實(shí)際的原始的自定義元素名。并且本申請方法可以提供多個(gè)前綴字符和/或多個(gè)組合規(guī)則,使開發(fā)人員有多個(gè)的新元素命名選擇空間,方便開發(fā)人員引用自定義元素的操作使用,降低解決命名沖突的處理時(shí)間和提高應(yīng)用開發(fā)效率。
盡管本申請內(nèi)容中提到html、javascript設(shè)計(jì)語言等之類的數(shù)據(jù)處理環(huán)境的描述,但是,本申請并不局限于必須是完全標(biāo)準(zhǔn)或者所提及的數(shù)據(jù)處理應(yīng)用環(huán)境的情況。本申請中各個(gè)實(shí)施例中所涉及的上述描述僅是本申請中的一些實(shí)施例中的應(yīng)用,在某些其他的支持自定義頁面元素的框架中也可以實(shí)行上述本申請各實(shí)施例的方案。當(dāng)然,在符合本申請上述各實(shí)施例的中所述的處理方法步驟的其他無創(chuàng)造性的變形,仍然可以實(shí)現(xiàn)相同的申請,在此不再贅述。
雖然本申請?zhí)峁┝巳鐚?shí)施例或流程圖所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的手段可以包括更多或者更少的操作步驟。實(shí)施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實(shí)際中的裝置或客戶端產(chǎn)品執(zhí)行時(shí),可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行(例如并行處理器或者多線程處理的環(huán)境)。
上述實(shí)施例闡明裝置或模塊,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來實(shí)現(xiàn)。為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本申請時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn),也可以將實(shí)現(xiàn)同一功能的模塊由多個(gè)子模塊或子單元的組合實(shí)現(xiàn)。
本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)部包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
本申請可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、類等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),移動(dòng)終端,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說明書中的各個(gè)實(shí)施例采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同或相似的部分互相 參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。本申請可用于眾多通用或?qū)S玫挠?jì)算機(jī)系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、移動(dòng)通信終端、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程的電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
雖然通過實(shí)施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。