• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于XML Schema XML文檔驗證算法

    2019-02-20 02:07吳家菊紀(jì)斌劉振吉陳泉根
    現(xiàn)代電子技術(shù) 2019年4期
    關(guān)鍵詞:語法錯誤

    吳家菊 紀(jì)斌 劉振吉 陳泉根

    關(guān)鍵詞: XML Schema; XML; 文檔驗證算法; 語法錯誤; 錯誤信息處理; 錯誤位置追蹤

    中圖分類號: TN911?34; TP311 ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)04?0071?05

    An XML document validation algorithm based on XML Schema

    WU Jiaju, JI Bin, LIU Zhenji, CHEN Quangen

    (Institute of Computer Application, China Academy of Engineering Physics, Mianyang 621999, China)

    Abstract: The validation mechanism of the XML document is researched, and an XML document validation algorithm based on XML Schema is proposed in this paper. In the algorithm, the data syntax rules, restraint requirement and type requirement are described by using XML Schema, which can not only verify the syntax correctness of the XML document on the basis of XML Schema, but also provide the processing mechanism of syntax error and support error position tracking. The algorithm can output error information in order according to the error occurring sequence if syntax errors exist in the XML document. The algorithm tracks syntax error position by means of mouse clicking after error information processing, so that the data editing personnel can modify the XML document efficiently and improve their own work efficiency. The algorithm was integrated into an XML editor and a series of experiments were carried out, so as to verify the correctness of the algorithm. The results show that the algorithm can achieve the design requirement.

    Keywords: XML Schema; XML; document validation algorithm; syntax error; error information processing; error position tracking

    0 ?引 ?言

    XML(Extensible Markup Language)作為一種通用的數(shù)據(jù)描述和交換語言,在Internet上和企業(yè)內(nèi)部得到了廣泛應(yīng)用,當(dāng)前在武器裝備綜合保障領(lǐng)域XML被廣泛用于描述綜合保障數(shù)據(jù)[1]。對于已編輯的XML數(shù)據(jù),在其應(yīng)用到綜合保障系統(tǒng)或其他應(yīng)用領(lǐng)域之前,需要對其進(jìn)行語法驗證。XML Schema是W3C Recommendation推薦的標(biāo)準(zhǔn),可用于設(shè)計、約束和驗證XML文檔。XML Schema文檔中明確定義了XML文檔中元素的應(yīng)用規(guī)則,比如元素的名稱、具有的屬性、出現(xiàn)次序、出現(xiàn)次數(shù)、數(shù)據(jù)類型、父元素、子元素等[2?3]。因此基于XML Schema設(shè)計的XML文檔可以使用XML Schema來驗證文檔的語法正確性。

    自21世紀(jì)初XML Schema成為W3C Recommendation推薦標(biāo)準(zhǔn)以來,XML Schema由于其諸多優(yōu)勢正逐步替代DTD(Document Type Definition)成為XML設(shè)計、約束和驗證的主流方式[4]。國內(nèi)外有諸多基于XML Schema驗證XML文檔的研究。余雙等學(xué)者在中科院軟件所開發(fā)的OnceStAXParser的基礎(chǔ)上設(shè)計實現(xiàn)了基于XML Schema的高效XML驗證器[5?6]。王偉良等學(xué)者首先基于XML Schema構(gòu)造了其抽象模型(Abstract XML Schema Model, AXSM),然后提出了一種基于XML Schema驗證XML文檔的方法[7]。許桂艷等學(xué)者基于SAX(Simple API for XML)解析實現(xiàn)了一種基于XML Schema驗證XML文檔的方法[8?9]。其他學(xué)者在研究過程中提出了其他的驗證方法。這些方法都實現(xiàn)了基于XML Schema驗證XML文檔,并且能夠有效地輸出錯誤信息。隨著深入的研究發(fā)現(xiàn),這些方法或基于特定的平臺或解析器,或作為獨立的系統(tǒng)存在,在跨平臺可移植性、輕量化設(shè)計、易集成性等方面存有缺陷,并且在實際應(yīng)用中不支持錯誤位置追蹤。

    為解決當(dāng)前基于XML Schema驗證XML文檔研究中存在的缺陷和實現(xiàn)依據(jù)錯誤信息追蹤錯誤位置,本文提出一種跨平臺可移植性性好、輕量化設(shè)計、易于與其他系統(tǒng)集成的基于XML Schema驗證XML文檔的算法。該方法基于DOM(Document Object Model)[10]解析,支持依據(jù)錯誤信息追蹤錯誤位置。通過配合使用錯誤信息,方便XML數(shù)據(jù)編輯人員找尋文檔中語法錯誤位置,提高了XML數(shù)據(jù)編輯人員的工作效率。當(dāng)前該方法已集成到某XML編輯器中,在實踐中驗證了其可行性。

    1 ?算法設(shè)計

    為了實現(xiàn)該算法跨平臺可移植性、輕量化設(shè)計、易集成性,首先對該算法進(jìn)行設(shè)計。算法設(shè)計如圖1所示。算法后續(xù)描述使用Java編程語言,對于其他編程語言,則只需用該編程語言實現(xiàn)算法的設(shè)計。

    為了完整地描述該算法的設(shè)計思想,算法描述從已編輯并保存的XML文檔開始。若將該算法移植或集成到XML編輯器中時,可以省略前兩步,直接依據(jù)保存已編輯XML數(shù)據(jù)的Document類型文檔獲取其克隆文檔,然后執(zhí)行后續(xù)的步驟。

    2 ?算法實現(xiàn)

    為保存驗證過程中語法錯誤信息,在該算法中定義一個String類型的變量(為方便描述,命名為content。后續(xù)對變量命名原因相同)。在發(fā)生語法錯誤時由錯誤處理函數(shù)獲取錯誤信息,并將錯誤信息更新到content中。最后將content中保存的XML文檔所有語法錯誤信息輸出。

    2.1 ?定義錯誤類

    為實現(xiàn)本文后面描述算法的錯誤位置追蹤功能,在該算法中將驗證過程中出現(xiàn)的每一個語法錯誤都實例化為一個錯誤對象,為此在該算法中定義一個錯誤類(命名為Error)。Error類的定義過程包括:

    1) 在Error中定義兩個變量:一個為Node類型的變量(命名為node);一個為int類型的變量(命名為p1)。

    2) 在Error中定義構(gòu)造函數(shù),構(gòu)造函數(shù)有兩個傳入?yún)?shù):一個為Node類型,對應(yīng)于XML文檔的解析文檔中存在語法錯誤的節(jié)點;另一個為int類型,對應(yīng)于上述定義的content變量表示的字符串長度。

    3) 在構(gòu)造函數(shù)中定義變量賦值語句:將Node類型的傳入?yún)?shù)賦值給Error類中定義的node變量;將int類型的傳入?yún)?shù)賦值給Error類中定義的p1變量。

    此外在該算法中定義一個ArrayList<Error>類型的變量errors。該變量中保存按照驗證過程實例化的錯誤對象,錯誤對象加入鏈表的順序按照驗證過程中語法錯誤順序。

    2.2 ?DOM解析XML文檔

    DOM可以以一種獨立于平臺和語言的方式訪問和修改一個文檔的內(nèi)容和結(jié)構(gòu),DOM實際上是以面向?qū)ο蠓绞矫枋龅奈臋n模型[11]。使用DOM定義的接口來獲得對文檔中所有元素進(jìn)行訪問的入口,創(chuàng)建文檔,瀏覽文檔結(jié)構(gòu),添加、修改或刪除文檔元素和內(nèi)容[12]。DOM解析XML文檔后所生成的文檔樹會保存在內(nèi)存中,DOM的這一特性是本算法實現(xiàn)追蹤錯誤發(fā)生位置的基礎(chǔ)。

    為保證驗證過程不對源XML文檔造成影響,獲取了XML解析文檔的克隆文檔,該驗證算法的所有后續(xù)操作均在克隆文檔中進(jìn)行。

    在本文算法中,DOM解析XML文檔以獲取解析文檔,繼而獲取解析文檔的克隆文檔的流程圖如圖2所示。

    首先,用Java語言實現(xiàn)DOM編程接口以獲取解析器實例;其次,獲取XML文檔的URL路徑,并將該URL路徑作為DOM解析器實例的傳入?yún)?shù);第三,DOM解析器依據(jù)傳入?yún)?shù)解析XML文檔,獲取解析文檔(命名為doc);第四,解析文檔doc調(diào)用cloneNode()方法獲取doc的克隆文檔(命名為clone)。

    2.3 ?對clone執(zhí)行相關(guān)操作

    獲取clone的DOMConfiguration對象,并為該對象設(shè)置相關(guān)參數(shù)的步驟如下:

    1) clone通過調(diào)用getDomConfig()方法獲取其DOMConfiguration對象(命名為config);

    2) config對象調(diào)用setParameter(String name, Object value)方法,name值為“schema?type”,value值為“http://www.w3.org/2001/XMLSchema”;

    3) config對象調(diào)用setParameter(String name, Object value)方法,name值為“schema?location”,value值為XML Schema文檔的URL路徑;

    4) config對象調(diào)用setParameter(String name, Object value)方法,name值為“validate”,value值為true;

    5) config對象調(diào)用setParameter(String name, Object value)方法,name值為“error?handler”,value值為錯誤處理類的實例化對象。

    2.4 ?定義錯誤處理類

    為處理驗證過程中出現(xiàn)的語法錯誤,獲取錯誤信息以及保存錯誤信息,在該算法中定義了一個錯誤處理類(命名為handleError),并在該類中定義錯誤處理函數(shù)。handleError實現(xiàn)DOMErrorHandler接口,錯誤處理函數(shù)的定義過程如下:

    1) 錯誤處理函數(shù)有一個DOMError類型的傳入?yún)?shù)(err)。

    2) 定義一個DOMLocator類型的變量(loc),并將err調(diào)用getLocation()方法獲取的值賦值給loc;

    3) 將驗證過程中的語法錯誤實例化為Error對象,并保存在errors變量中,以備進(jìn)行錯誤信息追蹤;

    4) 判斷語法錯誤類型;

    5) 更新錯誤信息,以備將錯誤信息輸出。

    其中語法錯誤實例化Error對象的過程包括:

    依據(jù)clone文檔的語法錯誤節(jié)點在文檔doc中找到對應(yīng)節(jié)點node;調(diào)用Error類的構(gòu)造函數(shù)并將node和content.length()作為傳入?yún)?shù),獲取Error對象。XML文檔第一次出現(xiàn)語法錯誤時,在content未更新,因此content.length()=0。

    依據(jù)clone文檔的語法錯誤節(jié)點在doc中找到對應(yīng)節(jié)點node的流程圖如圖3所示。其本質(zhì)是從當(dāng)前發(fā)生語法錯誤節(jié)點開始向根節(jié)點追溯,在追溯過程中依次保存在錯誤節(jié)點之前的兄弟節(jié)點個數(shù)、在錯誤節(jié)點的父節(jié)點之前的兄弟節(jié)點個數(shù)、在錯誤節(jié)點的父節(jié)點的父節(jié)點之前的兄弟節(jié)點個數(shù)…,依次類推,直到到達(dá)XML文檔的根節(jié)點,最后得到一個ArrayList<Integer>類型的變量。然后根據(jù)變量中保存的int類型的數(shù)據(jù),在doc中從根節(jié)點開始向下追溯,直至在doc中找到與clone中錯誤節(jié)點對應(yīng)的節(jié)點。

    其中判斷語法錯誤類型的過程包括:

    1) err通過調(diào)用getSerivity()方法獲取當(dāng)前語法錯誤類型。

    2) 判斷該錯誤類型屬于DOMError. SERIT? Y_

    WARNING,DOMError.SERI? TY_ERROR,DOMError.SERITY_FATAL_ERROR中的哪一類。

    3) 將描述錯誤類型的相關(guān)信息更新到保存錯誤信息的content變量中。

    判斷錯誤類型的流程圖如圖4所示。該步驟的主要目的是判斷錯誤類型并將描述錯誤類型的信息更新到content中,以在輸出的錯誤信息中標(biāo)明該錯誤屬于何種類型。延續(xù)上一步在content中更新的表示錯誤類型的內(nèi)容,err通過調(diào)用getMessage()方法獲取詳細(xì)錯誤信息,并將錯誤信息更新到content中,然后在content中已有內(nèi)容后添加一個換行符,以便將描述不同錯誤信息分行輸出。

    2.5 ?定義錯誤追蹤函數(shù)

    將錯誤信息輸出的方式有多種,既可以以文本形式輸出,也可以定義一個信息輸出面板用于輸出錯誤信息。為了達(dá)到該算法能夠依據(jù)錯誤信息追蹤錯誤位置的目的,在該算法中采用信息輸出面板的方式輸出錯誤信息。具體來說是應(yīng)用GUI編程,首先,定義一個JFrame;然后,在JFrame中嵌入一個JEditorPane;第三,判斷content的內(nèi)容是否為空,若為空,則將content變量的內(nèi)容設(shè)為“XML文檔語法正確”;最后,JEditorPane調(diào)用setText()方法,將保存錯誤信息的content作為JEditorPane的內(nèi)容,這樣就可以將保存錯誤信息的content變量的內(nèi)容輸出。

    此外為直觀顯示錯誤信息追蹤效果,XML文檔的解析文檔doc同樣要以信息輸出面板的方式輸出。同錯誤信息輸出一樣,采用GUI編程,將解析文檔doc中的每個元素的名稱、屬性、內(nèi)容、子元素、父元素等信息按照XML文檔中元素的順序輸出。

    錯誤位置追蹤函數(shù)本質(zhì)是一個JEditorPane的鼠標(biāo)點擊事件函數(shù),當(dāng)鼠標(biāo)點擊在JEditorPane上輸出的錯誤信息時,實現(xiàn)依據(jù)錯誤信息追蹤語法錯誤位置。

    鼠標(biāo)點擊事件函數(shù)定義過程包括:

    1) 函數(shù)有一個MouseEvent類型的傳入?yún)?shù)(命名為e);

    2) 在鼠標(biāo)點擊事件函數(shù)中定義三個int類型的變量和一個Node類型的變量;

    3) 依據(jù)相關(guān)變量確定鼠標(biāo)點擊的錯誤信息并將errors變量中對應(yīng)于錯誤信息的error對象給相關(guān)變量賦值;

    4) 在JEditorPane上依據(jù)相關(guān)變量選中鼠標(biāo)位于點擊位置的錯誤信息;

    5) 依據(jù)相關(guān)變量值在doc中找到存在語法錯誤的節(jié)點。

    其中:定義的三個int類型變量分別命名為position,p1,p2; Node類型的變量命名為node;position對應(yīng)于鼠標(biāo)在JEditorPane的點擊位置,取值由JEditorPane調(diào)用viewToModel(e.getPoint())方法獲取;p1和p2的初始值為0;node的初始值為null。

    其中依據(jù)相關(guān)變量確定鼠標(biāo)點擊的錯誤信息并將errors變量中對應(yīng)于錯誤信息的error對象給相關(guān)變量賦值的偽代碼如下:

    for(Error err : errors){

    if(err.p1 > position){

    p2 = err.p1;

    break;

    }

    node = err.node;

    p1 = err.p1;

    }

    在JEditorPane上依據(jù)相關(guān)變量選中該條錯誤信息的步驟為:

    1) 判斷p2==0是否為真,若為真,則將content變量表示的字符串的長度值賦值給p2(當(dāng)鼠標(biāo)點擊JEditorPane顯示的最后一條錯誤信息時,p2==0)。

    2) JEditorPane調(diào)用setCartPosition(p1)和moveCartPosition(p2)方法選中JEditorPane上位于鼠標(biāo)點擊位置處的錯誤信息。

    上述獲取的node為鼠標(biāo)點擊選中的語法錯誤信息對應(yīng)的節(jié)點,在doc中找到該節(jié)點并以高亮的方式顯示該節(jié)點。

    3 ?實驗驗證

    為驗證該算法的正確性、有效性以及是否能夠依據(jù)錯誤信息追蹤錯誤位置,將該算法集成到某XML編輯器中。該XML編輯器已編輯的XML數(shù)據(jù)以Document類型的文檔保存。在集成過程中,首先獲取該Document類型文檔的克隆文檔,然后直接執(zhí)行后續(xù)的驗證操作。在驗證過程中驗證結(jié)果如圖5所示。

    從圖5可以看出:首先,對于驗證過程中的語法錯誤該算法能夠按照錯誤發(fā)生順序?qū)㈠e誤信息輸出,并且每條錯誤信息既包含錯誤類型又包含導(dǎo)致錯誤的詳細(xì)信息;其次,該算法中設(shè)計的錯誤位置追蹤功能能夠有效地依據(jù)鼠標(biāo)點擊位置首先選擇位于鼠標(biāo)點擊位置的錯誤信息,進(jìn)而在XML文檔的DOM解析文檔的信息輸出面板中找到該錯誤信息對應(yīng)的錯誤節(jié)點并高亮顯示。為驗證該算法驗證結(jié)果的正確性,選取若干已知存在語法錯誤的XML文檔,將這些XML文檔分別在集成了該算法的XML編輯器和諸如XMLSpy等商用成熟軟件中進(jìn)行驗證,然后對比驗證結(jié)果。分析驗證結(jié)果發(fā)現(xiàn),該算法能夠完整、有效地驗證XML文檔,達(dá)到設(shè)計要求。

    4 ?結(jié) ?語

    為了實現(xiàn)基于XML Schema驗證XML文檔算法的可移植性性、輕量化設(shè)計、易集成以及支持錯誤追蹤,本文提出一種基于XML Schema驗證XML文檔的算法。該算法基于DOM解析XML文檔,為保證驗證過程不影響源XML文檔,驗證操作在XML文檔的DOM解析文檔的克隆文檔上進(jìn)行。為驗證該算法能否準(zhǔn)確、有效地驗證XML文檔以及能否實現(xiàn)錯誤位置追蹤,將該算法集成到某XML編輯器中,經(jīng)過一系列的試驗驗證,該算法達(dá)到了設(shè)計要求。下一步將在該算法的基礎(chǔ)上實現(xiàn)語法錯誤信息漢化輸出。

    注:本文通訊作者為紀(jì)斌。

    參考文獻(xiàn)

    [1] 徐宗昌.裝備IETM技術(shù)標(biāo)準(zhǔn)實施指南[M].北京:國防工業(yè)出版社,2012.

    XU Zongchang. Implementary guide of equipment IETM technical standard [M]. Beijing: National Defense Industry Press, 2012.

    [2] W3C. W3C XML Schema definition language (XSD) 1.1 Part 1: Structures [EB/OL]. [2012?04?05]. https://www.w3.org/TR/xmlschema11?1/.

    [3] W3C. W3C XML Schema definition language (XSD) 1.1 Part 2: Datatypes [EB/OL]. [2012?04?05]. https://www.w3.org/TR/xmlschema11?2/.

    [4] 曹風(fēng)華.一種XML解析器技術(shù)的研究與實現(xiàn)[J].微型機與應(yīng)用,2011,30(21):6?10.

    CAO Fenghua. Research and implementation of an XML parser technology [J]. Microcomputer & its applications, 2011, 30(21): 6?10.

    [5] 余雙,曹冬磊,戴蓓潔,等.高效XML驗證技術(shù)的實現(xiàn)[J].計算機工程與設(shè)計,2008,29(4):937?941.

    YU Shuang, CAO Donglei, DAI Beijie, et al. Research on high performance implementation of XML validation [J]. Computer engineering and design, 2008, 29(4): 937?941.

    [6] REN X, CAO D, JIN B. An efficient STAX based XML parser [C]// Proceedings of the 11th Joint International Computer Conference. [S.l.: s.n.], 2005: 203?207.

    [7] 王偉良,施佺,曹渠江.基于XML Schema抽象模型的XML模式驗證方法[J].計算機應(yīng)用與軟件,2007,24(3):41?43.

    WANG Weiliang, SHI Quan, CAO Qujiang. A method for XML document schema validation with abstract XML schema model [J]. Computer applications and software, 2007, 24(3): 41?43.

    [8] 許桂艷,張建,李淼,等.基于XML Schema的知識描述與模式驗證[J].計算機系統(tǒng)應(yīng)用,2008,17(9):33?37.

    XU Guiyan, ZHANG Jian, LI Miao, et al. Knowledge representation and pattern validation based on XML Schema [J]. Computer systems & applications, 2008, 17(9): 33?37.

    [9] PAN Y, ZHANG Y, CHIU K. Hybrid parallelism for XML SAX parsing [C]// Proceedings of IEEE International Conference on Web Service. Beijing: IEEE, 2008: 505?512.

    [10] MA J, ZHANG S, HU T, et al. Parallel speculative Dom?based XML parser [C]// Proceedings of 14th International Conference on High Performance Computing and Communication & 9th International Conference on Embedded Software and Systems. Liverpool: IEEE, 2012: 33?40.

    [11] Jeremy Keith, Jeffrey Sambells.JavaScript DOM編程藝術(shù)[M].北京:人民郵電出版社,2011.

    KEITH J, SAMBELLS J. DOM scripting: Web design with JavaScript and the document object model [M]. Beijing: Posts & Telecom Press, 2011.

    [12] W3C. XML DOM [EB/OL]. [2018?02?26]. http://www.w3school.com.cn/xmldom/dom_intro.asp.

    猜你喜歡
    語法錯誤
    英語翻譯常見錯誤及對策探析
    概念整合理論下英語中介語發(fā)展研究
    漢語負(fù)遷移對英語寫作的影響及啟示
    高中英語寫作中的語法錯誤分析
    av在线亚洲专区| 精品熟女少妇av免费看| 乱系列少妇在线播放| 18禁在线播放成人免费| 在线天堂最新版资源| 亚洲欧美精品综合久久99| 91久久精品国产一区二区三区| 日日摸夜夜添夜夜添av毛片| 国产中年淑女户外野战色| 有码 亚洲区| 国产高清视频在线播放一区| 亚洲无线观看免费| 亚洲成人久久爱视频| 美女xxoo啪啪120秒动态图| 国产精品综合久久久久久久免费| 高清毛片免费看| 国产真实乱freesex| 国产欧美日韩一区二区精品| 日韩高清综合在线| 亚洲欧美清纯卡通| 精品午夜福利在线看| 午夜影院日韩av| 国产精品综合久久久久久久免费| 国产精品国产高清国产av| 搞女人的毛片| 中国美白少妇内射xxxbb| 日韩在线高清观看一区二区三区| 亚洲天堂国产精品一区在线| 特大巨黑吊av在线直播| a级毛色黄片| 国产精品一区www在线观看| 69人妻影院| 激情 狠狠 欧美| 亚洲精品国产成人久久av| 成年女人毛片免费观看观看9| 激情 狠狠 欧美| 久久精品综合一区二区三区| 国产成人福利小说| 亚洲av成人av| 99热网站在线观看| 高清日韩中文字幕在线| 国产精品av视频在线免费观看| 精品一区二区三区视频在线观看免费| 波野结衣二区三区在线| 变态另类成人亚洲欧美熟女| 国产高清不卡午夜福利| 夜夜看夜夜爽夜夜摸| 免费观看在线日韩| 久久精品91蜜桃| 变态另类成人亚洲欧美熟女| 成年版毛片免费区| 国产精品一区二区三区四区免费观看 | 最近在线观看免费完整版| 俺也久久电影网| 六月丁香七月| 午夜老司机福利剧场| 一本一本综合久久| 亚洲欧美日韩高清专用| 在线观看午夜福利视频| 久久6这里有精品| 亚洲av第一区精品v没综合| 有码 亚洲区| 97在线视频观看| 校园人妻丝袜中文字幕| 在线观看美女被高潮喷水网站| 日本精品一区二区三区蜜桃| 日韩三级伦理在线观看| 色综合亚洲欧美另类图片| 99久久精品热视频| 国产男人的电影天堂91| 波多野结衣高清作品| 亚洲精品粉嫩美女一区| 有码 亚洲区| 97在线视频观看| 少妇裸体淫交视频免费看高清| 亚洲最大成人av| 综合色丁香网| 日韩欧美免费精品| 一夜夜www| 亚洲av一区综合| 午夜亚洲福利在线播放| 免费人成视频x8x8入口观看| 亚洲va在线va天堂va国产| 久久九九热精品免费| 日本欧美国产在线视频| 国产精品美女特级片免费视频播放器| 97热精品久久久久久| 国内精品宾馆在线| 别揉我奶头~嗯~啊~动态视频| 日韩亚洲欧美综合| 乱系列少妇在线播放| 精品午夜福利视频在线观看一区| 夜夜夜夜夜久久久久| 免费黄网站久久成人精品| 欧美国产日韩亚洲一区| 成熟少妇高潮喷水视频| 精品99又大又爽又粗少妇毛片| 国产精品伦人一区二区| 如何舔出高潮| 久久人妻av系列| 啦啦啦观看免费观看视频高清| 九九爱精品视频在线观看| 观看免费一级毛片| 黄色欧美视频在线观看| 亚洲av中文字字幕乱码综合| 国产精品99久久久久久久久| 变态另类成人亚洲欧美熟女| 嫩草影视91久久| av中文乱码字幕在线| 欧美一区二区精品小视频在线| 亚洲av五月六月丁香网| 国产成人a区在线观看| 免费观看精品视频网站| 亚洲精华国产精华液的使用体验 | 亚洲av电影不卡..在线观看| 一卡2卡三卡四卡精品乱码亚洲| 国产淫片久久久久久久久| 久久九九热精品免费| 国产人妻一区二区三区在| 国产人妻一区二区三区在| 亚洲成a人片在线一区二区| 成熟少妇高潮喷水视频| 欧美一级a爱片免费观看看| 日韩一区二区视频免费看| 免费大片18禁| 久久久久久国产a免费观看| a级毛片免费高清观看在线播放| 97超视频在线观看视频| 国产成人福利小说| 两个人视频免费观看高清| 国产成人a∨麻豆精品| 精品一区二区三区视频在线| 中出人妻视频一区二区| 午夜久久久久精精品| 联通29元200g的流量卡| 少妇熟女aⅴ在线视频| .国产精品久久| 久久久久久九九精品二区国产| 免费观看在线日韩| 亚洲精品日韩在线中文字幕 | 日韩人妻高清精品专区| 久久精品人妻少妇| av中文乱码字幕在线| 成人国产麻豆网| 久久人人爽人人爽人人片va| 国产精品女同一区二区软件| 天天躁日日操中文字幕| 老司机影院成人| 亚洲欧美精品综合久久99| 亚洲人成网站高清观看| 亚洲成av人片在线播放无| 欧美最新免费一区二区三区| 日韩欧美 国产精品| 亚洲精品成人久久久久久| 久久精品国产清高在天天线| 综合色av麻豆| 18禁在线无遮挡免费观看视频 | 黄色一级大片看看| 国产亚洲精品久久久久久毛片| 寂寞人妻少妇视频99o| 久久精品人妻少妇| 国产精品av视频在线免费观看| 亚洲一级一片aⅴ在线观看| 国产精品三级大全| videossex国产| 三级毛片av免费| 日本在线视频免费播放| 91在线观看av| 熟女电影av网| 美女大奶头视频| 国产高清视频在线观看网站| 精品免费久久久久久久清纯| 乱系列少妇在线播放| 尤物成人国产欧美一区二区三区| 一本精品99久久精品77| 国产免费男女视频| 国产高清视频在线播放一区| 最新中文字幕久久久久| 黑人高潮一二区| av视频在线观看入口| 一边摸一边抽搐一进一小说| 一进一出抽搐动态| 成年女人毛片免费观看观看9| 久久精品国产99精品国产亚洲性色| 极品教师在线视频| a级一级毛片免费在线观看| 久久久久国产网址| av在线蜜桃| 男女做爰动态图高潮gif福利片| 国产精品久久久久久精品电影| 变态另类丝袜制服| 岛国在线免费视频观看| 一进一出抽搐动态| 国产乱人偷精品视频| 亚洲,欧美,日韩| 1000部很黄的大片| 久久亚洲精品不卡| 免费看美女性在线毛片视频| 久久国内精品自在自线图片| 欧美中文日本在线观看视频| 联通29元200g的流量卡| 欧美不卡视频在线免费观看| 91午夜精品亚洲一区二区三区| 精华霜和精华液先用哪个| 亚洲av成人av| 午夜福利在线观看吧| 一级av片app| 精品国内亚洲2022精品成人| 亚洲av二区三区四区| 欧美日本亚洲视频在线播放| 丰满人妻一区二区三区视频av| 噜噜噜噜噜久久久久久91| 亚洲欧美清纯卡通| 亚洲人成网站在线播| 看黄色毛片网站| 永久网站在线| 亚洲美女视频黄频| 男女之事视频高清在线观看| 国产精华一区二区三区| 校园春色视频在线观看| 美女被艹到高潮喷水动态| 精品不卡国产一区二区三区| 日本与韩国留学比较| АⅤ资源中文在线天堂| 性色avwww在线观看| 亚洲成a人片在线一区二区| 国内精品久久久久精免费| 国产黄片美女视频| 2021天堂中文幕一二区在线观| eeuss影院久久| 精品久久久久久久久av| 午夜精品在线福利| 天堂影院成人在线观看| 国产毛片a区久久久久| 欧美日韩在线观看h| 免费不卡的大黄色大毛片视频在线观看 | 99久久精品国产国产毛片| 亚洲欧美精品综合久久99| 日韩欧美在线乱码| 亚洲中文字幕一区二区三区有码在线看| 又粗又爽又猛毛片免费看| www.色视频.com| 日日干狠狠操夜夜爽| 国产欧美日韩一区二区精品| 亚洲人成网站在线播| 亚洲国产日韩欧美精品在线观看| 三级男女做爰猛烈吃奶摸视频| 亚洲精品亚洲一区二区| 亚洲熟妇熟女久久| 午夜福利视频1000在线观看| 内地一区二区视频在线| 国产伦一二天堂av在线观看| 国产高潮美女av| 精华霜和精华液先用哪个| 亚洲性夜色夜夜综合| 久99久视频精品免费| 黄色欧美视频在线观看| 在线观看免费视频日本深夜| 精品久久久久久久久亚洲| 亚洲av一区综合| 国产单亲对白刺激| 国产精品人妻久久久久久| 日韩人妻高清精品专区| 一区福利在线观看| 高清日韩中文字幕在线| 国产女主播在线喷水免费视频网站 | 国产av麻豆久久久久久久| 天堂影院成人在线观看| 啦啦啦观看免费观看视频高清| 国产精品乱码一区二三区的特点| 一进一出抽搐gif免费好疼| 亚洲av美国av| 中国美女看黄片| 直男gayav资源| .国产精品久久| 3wmmmm亚洲av在线观看| 日日干狠狠操夜夜爽| 男人狂女人下面高潮的视频| 色5月婷婷丁香| 亚洲美女黄片视频| 色综合站精品国产| 人妻少妇偷人精品九色| 亚洲三级黄色毛片| 不卡一级毛片| 国产高清视频在线观看网站| 日本一二三区视频观看| 十八禁国产超污无遮挡网站| 在线观看66精品国产| 精品一区二区免费观看| 亚洲aⅴ乱码一区二区在线播放| 麻豆国产av国片精品| 亚洲在线自拍视频| 成人特级黄色片久久久久久久| 一区福利在线观看| 岛国在线免费视频观看| 亚洲av不卡在线观看| 国产精品亚洲美女久久久| 亚洲欧美日韩无卡精品| 超碰av人人做人人爽久久| 免费av毛片视频| 床上黄色一级片| 国产精品嫩草影院av在线观看| 中文字幕人妻熟人妻熟丝袜美| 少妇高潮的动态图| 日韩欧美精品v在线| 国产黄色小视频在线观看| 欧美中文日本在线观看视频| 国产午夜精品论理片| 美女免费视频网站| 一个人免费在线观看电影| 亚洲精品456在线播放app| 国产伦一二天堂av在线观看| 午夜影院日韩av| 丰满乱子伦码专区| 日本爱情动作片www.在线观看 | 亚洲三级黄色毛片| 亚洲一区二区三区色噜噜| 亚洲18禁久久av| 亚洲国产精品成人久久小说 | 国产av一区在线观看免费| 一个人看的www免费观看视频| 色噜噜av男人的天堂激情| 中国美女看黄片| 亚洲人成网站高清观看| 精品一区二区三区人妻视频| 亚洲内射少妇av| 国产精品美女特级片免费视频播放器| 真实男女啪啪啪动态图| 日本黄大片高清| 国产一区二区在线av高清观看| 亚洲国产色片| 99久久精品一区二区三区| av中文乱码字幕在线| 久久综合国产亚洲精品| 男人狂女人下面高潮的视频| h日本视频在线播放| 国产精品免费一区二区三区在线| 免费搜索国产男女视频| 久久久久久久久久久丰满| 亚洲国产高清在线一区二区三| 国产成人91sexporn| 好男人在线观看高清免费视频| 精品久久久久久久久久久久久| 日韩,欧美,国产一区二区三区 | 狂野欧美白嫩少妇大欣赏| 亚洲成av人片在线播放无| 色在线成人网| av视频在线观看入口| 99久久成人亚洲精品观看| 22中文网久久字幕| 国产熟女欧美一区二区| avwww免费| 日韩高清综合在线| 亚洲丝袜综合中文字幕| 深夜a级毛片| 国产成人影院久久av| 日日摸夜夜添夜夜添小说| 一级a爱片免费观看的视频| 在线观看午夜福利视频| 欧美潮喷喷水| 人人妻,人人澡人人爽秒播| 日日摸夜夜添夜夜爱| 亚洲天堂国产精品一区在线| 国产乱人视频| 狠狠狠狠99中文字幕| 久久精品国产鲁丝片午夜精品| 亚洲av五月六月丁香网| 亚洲av.av天堂| 最近2019中文字幕mv第一页| 久久久久免费精品人妻一区二区| 国产精品久久久久久亚洲av鲁大| 日韩强制内射视频| 欧洲精品卡2卡3卡4卡5卡区| av福利片在线观看| 97超视频在线观看视频| 韩国av在线不卡| 大香蕉久久网| 久久精品国产清高在天天线| 国产精品嫩草影院av在线观看| 国产探花在线观看一区二区| 亚洲精品一区av在线观看| 性插视频无遮挡在线免费观看| 中文在线观看免费www的网站| 日本黄色视频三级网站网址| АⅤ资源中文在线天堂| 欧美3d第一页| 亚洲专区国产一区二区| 亚洲精品粉嫩美女一区| 国产单亲对白刺激| 夜夜看夜夜爽夜夜摸| 久久久久久久午夜电影| 欧美另类亚洲清纯唯美| 免费在线观看影片大全网站| 两个人视频免费观看高清| 精品久久久久久久久久免费视频| 欧美三级亚洲精品| 我要看日韩黄色一级片| 国产乱人偷精品视频| 亚洲精品亚洲一区二区| 一个人免费在线观看电影| 真实男女啪啪啪动态图| 欧美又色又爽又黄视频| 成人无遮挡网站| 精品久久久久久久人妻蜜臀av| 欧美日韩在线观看h| 亚洲欧美日韩高清专用| 久久久久久久久久成人| 丰满人妻一区二区三区视频av| 三级毛片av免费| 99久久九九国产精品国产免费| 长腿黑丝高跟| 99久国产av精品| 12—13女人毛片做爰片一| 狠狠狠狠99中文字幕| av专区在线播放| 精品国产三级普通话版| 日韩 亚洲 欧美在线| 少妇高潮的动态图| 男女边吃奶边做爰视频| 蜜桃久久精品国产亚洲av| 日韩av不卡免费在线播放| 国产精品久久视频播放| 18+在线观看网站| 亚洲美女视频黄频| 久久精品国产亚洲网站| 女同久久另类99精品国产91| 亚洲精品国产成人久久av| 一本精品99久久精品77| 久久久午夜欧美精品| 亚洲高清免费不卡视频| 成人精品一区二区免费| 久久精品国产清高在天天线| 干丝袜人妻中文字幕| ponron亚洲| 久久久久国内视频| 精品少妇黑人巨大在线播放 | 欧美成人免费av一区二区三区| 黄色日韩在线| 99九九线精品视频在线观看视频| 免费黄网站久久成人精品| 此物有八面人人有两片| 免费观看的影片在线观看| 国产伦在线观看视频一区| 国产欧美日韩精品亚洲av| 校园春色视频在线观看| 不卡一级毛片| 国产成年人精品一区二区| 97超级碰碰碰精品色视频在线观看| av在线亚洲专区| 久久精品国产清高在天天线| 99热6这里只有精品| av天堂中文字幕网| 九九热线精品视视频播放| 国产乱人偷精品视频| 日产精品乱码卡一卡2卡三| 一本一本综合久久| 精品福利观看| 最近视频中文字幕2019在线8| 一卡2卡三卡四卡精品乱码亚洲| 欧美日韩综合久久久久久| 俄罗斯特黄特色一大片| 国内久久婷婷六月综合欲色啪| 麻豆久久精品国产亚洲av| 丝袜美腿在线中文| 赤兔流量卡办理| 色综合亚洲欧美另类图片| 日本撒尿小便嘘嘘汇集6| 在线观看免费视频日本深夜| 成人漫画全彩无遮挡| 真实男女啪啪啪动态图| 亚洲乱码一区二区免费版| av女优亚洲男人天堂| 久久久久国产网址| 淫秽高清视频在线观看| 亚洲人成网站高清观看| 日韩精品有码人妻一区| 成年免费大片在线观看| 日本-黄色视频高清免费观看| 亚洲精品粉嫩美女一区| 别揉我奶头 嗯啊视频| 91av网一区二区| 午夜激情欧美在线| 亚洲国产高清在线一区二区三| 一夜夜www| 少妇的逼水好多| 91麻豆精品激情在线观看国产| 桃色一区二区三区在线观看| 精品一区二区三区视频在线观看免费| 少妇裸体淫交视频免费看高清| 淫妇啪啪啪对白视频| 亚洲成人中文字幕在线播放| 狂野欧美白嫩少妇大欣赏| 中文亚洲av片在线观看爽| 99国产精品一区二区蜜桃av| 欧美日韩国产亚洲二区| 一夜夜www| 青春草视频在线免费观看| 国产伦精品一区二区三区视频9| 久99久视频精品免费| 在线观看免费视频日本深夜| 少妇裸体淫交视频免费看高清| 大又大粗又爽又黄少妇毛片口| av国产免费在线观看| 国产成人aa在线观看| 日本-黄色视频高清免费观看| 最近中文字幕高清免费大全6| 天堂网av新在线| 日日撸夜夜添| 九九爱精品视频在线观看| 亚洲成人精品中文字幕电影| 日韩 亚洲 欧美在线| 精品一区二区三区人妻视频| 中国美女看黄片| 精品福利观看| av在线播放精品| 看免费成人av毛片| 18禁在线播放成人免费| 小蜜桃在线观看免费完整版高清| 国产成人91sexporn| 成年av动漫网址| 日本色播在线视频| 在线看三级毛片| 午夜福利18| 蜜桃亚洲精品一区二区三区| 中文字幕av成人在线电影| 在现免费观看毛片| 夜夜看夜夜爽夜夜摸| 久久午夜福利片| 欧美不卡视频在线免费观看| 日韩欧美免费精品| 人人妻人人看人人澡| 97在线视频观看| 日韩一区二区视频免费看| 黑人高潮一二区| 国产精品一区二区免费欧美| 99久久中文字幕三级久久日本| 久久99热6这里只有精品| 蜜臀久久99精品久久宅男| 一进一出抽搐动态| 两个人的视频大全免费| 亚洲四区av| 午夜福利在线观看免费完整高清在 | 精品一区二区三区视频在线观看免费| 亚洲av熟女| 看免费成人av毛片| 狠狠狠狠99中文字幕| 国内精品一区二区在线观看| 一区二区三区四区激情视频 | 麻豆一二三区av精品| 日韩欧美三级三区| 午夜精品一区二区三区免费看| 日日撸夜夜添| 精品人妻一区二区三区麻豆 | 91久久精品国产一区二区成人| 亚洲无线观看免费| 俄罗斯特黄特色一大片| 色5月婷婷丁香| 黄色视频,在线免费观看| 欧美人与善性xxx| 精品免费久久久久久久清纯| 亚洲国产精品合色在线| 女人十人毛片免费观看3o分钟| 搡老熟女国产l中国老女人| 欧美性感艳星| 特级一级黄色大片| 亚洲七黄色美女视频| 少妇熟女aⅴ在线视频| 卡戴珊不雅视频在线播放| 国产白丝娇喘喷水9色精品| 99久久无色码亚洲精品果冻| 国产白丝娇喘喷水9色精品| 久久天躁狠狠躁夜夜2o2o| 亚洲av二区三区四区| 日韩欧美精品免费久久| 亚洲人成网站在线播放欧美日韩| 少妇猛男粗大的猛烈进出视频 | 最后的刺客免费高清国语| 日本成人三级电影网站| 日日摸夜夜添夜夜爱| 婷婷精品国产亚洲av| videossex国产| 欧美三级亚洲精品| 99在线视频只有这里精品首页| 成年女人看的毛片在线观看| 精品欧美国产一区二区三| 国产精品综合久久久久久久免费| 好男人在线观看高清免费视频| 你懂的网址亚洲精品在线观看 | 日本黄大片高清| 人妻少妇偷人精品九色| 人人妻,人人澡人人爽秒播| 干丝袜人妻中文字幕| 久久精品夜夜夜夜夜久久蜜豆| 欧洲精品卡2卡3卡4卡5卡区| 国产精品一及| 一级毛片aaaaaa免费看小| 综合色av麻豆| 欧美激情国产日韩精品一区| 久久韩国三级中文字幕| 成人特级黄色片久久久久久久| 春色校园在线视频观看| 国产成人精品久久久久久| 午夜激情欧美在线| 亚洲精品日韩在线中文字幕 | 99热6这里只有精品| 午夜影院日韩av| 极品教师在线视频| 男女做爰动态图高潮gif福利片| 蜜桃久久精品国产亚洲av| av免费在线看不卡| 国产精品电影一区二区三区| 日韩强制内射视频| 两性午夜刺激爽爽歪歪视频在线观看| 一级毛片久久久久久久久女| 色综合色国产|