• <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ù)遷移對英語寫作的影響及啟示
    高中英語寫作中的語法錯誤分析
    国产精品一区二区三区四区免费观看| 欧美日韩在线观看h| 少妇被粗大猛烈的视频| 色综合站精品国产| 禁无遮挡网站| 一级av片app| 中文字幕久久专区| 男的添女的下面高潮视频| 免费不卡的大黄色大毛片视频在线观看 | 麻豆精品久久久久久蜜桃| 欧美 日韩 精品 国产| 一级毛片aaaaaa免费看小| 亚洲国产高清在线一区二区三| freevideosex欧美| 日韩强制内射视频| 99热6这里只有精品| 国产 一区 欧美 日韩| 天天一区二区日本电影三级| 亚洲自拍偷在线| 又粗又硬又长又爽又黄的视频| 你懂的网址亚洲精品在线观看| 国产精品久久久久久精品电影小说 | 大片免费播放器 马上看| 在线观看美女被高潮喷水网站| 91久久精品国产一区二区三区| 欧美一区二区亚洲| 日韩av在线大香蕉| 2021少妇久久久久久久久久久| 久久久久精品性色| 午夜爱爱视频在线播放| 亚洲精品日本国产第一区| 一级黄片播放器| 国产色婷婷99| 欧美精品一区二区大全| 久久久久久久午夜电影| 免费黄色在线免费观看| 色5月婷婷丁香| 日产精品乱码卡一卡2卡三| 欧美另类一区| 国产成人aa在线观看| 一级毛片aaaaaa免费看小| 我的老师免费观看完整版| 国产欧美另类精品又又久久亚洲欧美| 国产精品熟女久久久久浪| 午夜久久久久精精品| 黄色日韩在线| 免费电影在线观看免费观看| 能在线免费看毛片的网站| 国产在线一区二区三区精| 网址你懂的国产日韩在线| 久久精品国产自在天天线| 啦啦啦中文免费视频观看日本| 国产美女午夜福利| 亚洲人成网站在线观看播放| 22中文网久久字幕| 偷拍熟女少妇极品色| 国产视频内射| 久久久久国产网址| 婷婷六月久久综合丁香| 天天躁日日操中文字幕| 真实男女啪啪啪动态图| 日韩欧美 国产精品| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 成人午夜高清在线视频| 别揉我奶头 嗯啊视频| 成年版毛片免费区| 亚洲国产欧美在线一区| 成年人午夜在线观看视频 | 3wmmmm亚洲av在线观看| av在线播放精品| 99热这里只有精品一区| 美女脱内裤让男人舔精品视频| 日韩大片免费观看网站| 水蜜桃什么品种好| 精品少妇黑人巨大在线播放| 搡女人真爽免费视频火全软件| 久久韩国三级中文字幕| 亚洲在线观看片| 国产免费福利视频在线观看| av一本久久久久| 免费在线观看成人毛片| 久久久久免费精品人妻一区二区| 久久精品夜夜夜夜夜久久蜜豆| 毛片一级片免费看久久久久| 老师上课跳d突然被开到最大视频| 美女脱内裤让男人舔精品视频| 亚洲av免费在线观看| 精品欧美国产一区二区三| 夜夜爽夜夜爽视频| 黄片无遮挡物在线观看| 一区二区三区乱码不卡18| 十八禁国产超污无遮挡网站| 国产老妇女一区| 爱豆传媒免费全集在线观看| 在现免费观看毛片| 国产伦理片在线播放av一区| 国产伦精品一区二区三区视频9| 久久午夜福利片| 亚洲精品国产av蜜桃| 老女人水多毛片| 日韩强制内射视频| 91久久精品电影网| 日韩av不卡免费在线播放| 91av网一区二区| 久久久久久久久久黄片| 欧美性感艳星| 性色avwww在线观看| 能在线免费观看的黄片| 如何舔出高潮| 免费少妇av软件| 伦精品一区二区三区| 日本黄大片高清| 黄片无遮挡物在线观看| 日韩欧美三级三区| 舔av片在线| 99久久精品国产国产毛片| 久久精品国产亚洲网站| 免费无遮挡裸体视频| 色综合亚洲欧美另类图片| 午夜免费激情av| 啦啦啦韩国在线观看视频| 男人舔奶头视频| 国产黄片视频在线免费观看| 一级爰片在线观看| 国产精品无大码| 一区二区三区四区激情视频| 黄片wwwwww| 91精品伊人久久大香线蕉| 伊人久久国产一区二区| 在线观看av片永久免费下载| 日韩成人av中文字幕在线观看| 欧美3d第一页| 一个人看的www免费观看视频| 99热网站在线观看| 国产精品久久久久久精品电影小说 | 成人特级av手机在线观看| 成年免费大片在线观看| 人体艺术视频欧美日本| 久久久精品欧美日韩精品| 亚洲精品456在线播放app| 波野结衣二区三区在线| 淫秽高清视频在线观看| 亚洲美女搞黄在线观看| 成年女人看的毛片在线观看| 日本av手机在线免费观看| av线在线观看网站| 午夜福利在线在线| 性色avwww在线观看| 国产激情偷乱视频一区二区| 久久精品夜夜夜夜夜久久蜜豆| 免费观看的影片在线观看| 成人欧美大片| 男人舔女人下体高潮全视频| 99久久精品国产国产毛片| 午夜久久久久精精品| 中文字幕人妻熟人妻熟丝袜美| 69av精品久久久久久| 在线免费十八禁| 免费少妇av软件| 国产成人精品福利久久| freevideosex欧美| 我要看日韩黄色一级片| 日本猛色少妇xxxxx猛交久久| 色播亚洲综合网| 亚洲精品成人av观看孕妇| 国产伦精品一区二区三区四那| 高清视频免费观看一区二区 | 有码 亚洲区| 日本免费a在线| 亚洲国产最新在线播放| 特大巨黑吊av在线直播| 久久久久久久久久久免费av| 在线观看一区二区三区| 大片免费播放器 马上看| 在线观看人妻少妇| 亚洲经典国产精华液单| 97人妻精品一区二区三区麻豆| 国产高清国产精品国产三级 | 国产爱豆传媒在线观看| 亚洲伊人久久精品综合| 女人十人毛片免费观看3o分钟| 一本一本综合久久| 成人二区视频| 日韩成人伦理影院| 天天躁夜夜躁狠狠久久av| freevideosex欧美| 美女主播在线视频| 欧美性感艳星| 久久久久九九精品影院| 建设人人有责人人尽责人人享有的 | 美女高潮的动态| 国产免费又黄又爽又色| 黄色日韩在线| 国产成人免费观看mmmm| 国产一区二区亚洲精品在线观看| 九色成人免费人妻av| 久久精品综合一区二区三区| 欧美xxxx性猛交bbbb| 国产色婷婷99| 人体艺术视频欧美日本| ponron亚洲| 国产成人91sexporn| 一夜夜www| 国产精品一二三区在线看| 免费少妇av软件| 亚洲第一区二区三区不卡| 国产国拍精品亚洲av在线观看| 一级毛片我不卡| 精品久久久久久久久久久久久| 伦精品一区二区三区| 国产精品一区二区在线观看99 | 青春草亚洲视频在线观看| 国产片特级美女逼逼视频| 九九爱精品视频在线观看| 国产伦一二天堂av在线观看| 国产精品福利在线免费观看| 嫩草影院新地址| 精品久久久久久成人av| 特级一级黄色大片| 免费看a级黄色片| 一级毛片 在线播放| 国精品久久久久久国模美| 国产中年淑女户外野战色| 尾随美女入室| 3wmmmm亚洲av在线观看| 免费观看性生交大片5| 久久99热6这里只有精品| 国产伦精品一区二区三区四那| 免费观看在线日韩| 色综合亚洲欧美另类图片| 国产黄色小视频在线观看| 国产69精品久久久久777片| 天堂av国产一区二区熟女人妻| 天堂中文最新版在线下载 | 国内精品美女久久久久久| 国产精品久久久久久精品电影| 一个人观看的视频www高清免费观看| 国产精品伦人一区二区| 人妻一区二区av| 日本色播在线视频| 精品久久久精品久久久| 久久久久久久久久久免费av| 国产黄片视频在线免费观看| 91精品一卡2卡3卡4卡| 久久久久久久久中文| 欧美不卡视频在线免费观看| 在线观看美女被高潮喷水网站| 国产免费又黄又爽又色| 我的女老师完整版在线观看| 欧美高清性xxxxhd video| 久久久久久九九精品二区国产| 超碰av人人做人人爽久久| 亚洲在线观看片| 又大又黄又爽视频免费| 在线免费十八禁| 国产精品人妻久久久久久| 亚洲,欧美,日韩| 一级av片app| 亚洲精华国产精华液的使用体验| 午夜福利在线观看免费完整高清在| 菩萨蛮人人尽说江南好唐韦庄| 日日干狠狠操夜夜爽| 欧美 日韩 精品 国产| 日本熟妇午夜| 久久99蜜桃精品久久| 美女xxoo啪啪120秒动态图| 青春草国产在线视频| 国产伦理片在线播放av一区| 亚洲成人精品中文字幕电影| 搡老妇女老女人老熟妇| 亚洲精品乱码久久久v下载方式| av福利片在线观看| 免费av毛片视频| 99久国产av精品国产电影| 成年女人在线观看亚洲视频 | 午夜福利高清视频| 97热精品久久久久久| 内射极品少妇av片p| 欧美另类一区| 久久这里有精品视频免费| 色综合亚洲欧美另类图片| 久久草成人影院| 亚洲精品自拍成人| 成人性生交大片免费视频hd| 午夜福利网站1000一区二区三区| 日本一二三区视频观看| 久久久久久久久久人人人人人人| 日韩av在线大香蕉| 国内精品一区二区在线观看| 中国国产av一级| 精品久久久噜噜| 日本wwww免费看| 91精品国产九色| 神马国产精品三级电影在线观看| 久99久视频精品免费| 国产有黄有色有爽视频| 性插视频无遮挡在线免费观看| 99re6热这里在线精品视频| 淫秽高清视频在线观看| 国产在线男女| 97在线视频观看| 国产成人a区在线观看| 久久久成人免费电影| 18禁动态无遮挡网站| 免费看a级黄色片| 国产美女午夜福利| 久久久亚洲精品成人影院| 一本一本综合久久| 精品一区二区三区人妻视频| 日本一二三区视频观看| 肉色欧美久久久久久久蜜桃 | 亚洲精品一区蜜桃| 九九久久精品国产亚洲av麻豆| 欧美 日韩 精品 国产| 2021天堂中文幕一二区在线观| 亚洲国产色片| 肉色欧美久久久久久久蜜桃 | 观看免费一级毛片| 一级毛片 在线播放| 国产久久久一区二区三区| 婷婷色综合大香蕉| 91精品国产九色| 黄片无遮挡物在线观看| 国产单亲对白刺激| 日本午夜av视频| 国产乱来视频区| 日韩av在线免费看完整版不卡| 2021少妇久久久久久久久久久| 精品不卡国产一区二区三区| 久久久久九九精品影院| av.在线天堂| 亚洲高清免费不卡视频| 欧美日韩综合久久久久久| 久久6这里有精品| 亚洲在久久综合| 日韩强制内射视频| 18+在线观看网站| 免费不卡的大黄色大毛片视频在线观看 | 亚洲精品456在线播放app| 伊人久久精品亚洲午夜| 精品久久久久久电影网| 国产老妇伦熟女老妇高清| 亚洲无线观看免费| 99久久精品热视频| 乱系列少妇在线播放| 99re6热这里在线精品视频| 色吧在线观看| 精品人妻熟女av久视频| 欧美激情久久久久久爽电影| 日韩大片免费观看网站| 青春草国产在线视频| 在线a可以看的网站| 日本猛色少妇xxxxx猛交久久| 国产精品伦人一区二区| 亚洲第一区二区三区不卡| 少妇裸体淫交视频免费看高清| 亚洲人成网站在线观看播放| 中国国产av一级| 日韩在线高清观看一区二区三区| 嫩草影院精品99| 国产在线男女| 一级二级三级毛片免费看| 久久亚洲国产成人精品v| 中国国产av一级| 欧美日本视频| 青青草视频在线视频观看| 麻豆成人av视频| 少妇裸体淫交视频免费看高清| 中文资源天堂在线| 国产黄片视频在线免费观看| 看十八女毛片水多多多| 成人午夜高清在线视频| 一个人看的www免费观看视频| 男女视频在线观看网站免费| 一个人看的www免费观看视频| 国产成人a∨麻豆精品| 成人亚洲精品一区在线观看 | 美女黄网站色视频| 成人综合一区亚洲| 激情五月婷婷亚洲| 久久久久免费精品人妻一区二区| 一夜夜www| 国产毛片a区久久久久| 在线观看免费高清a一片| h日本视频在线播放| 男女视频在线观看网站免费| 高清午夜精品一区二区三区| 在线免费十八禁| 日韩av不卡免费在线播放| 秋霞在线观看毛片| 国产 一区精品| 中文字幕制服av| 日韩中字成人| 久久精品国产鲁丝片午夜精品| 亚洲伊人久久精品综合| 亚洲av成人精品一区久久| 亚洲自偷自拍三级| 成人欧美大片| 超碰av人人做人人爽久久| av.在线天堂| 亚洲婷婷狠狠爱综合网| 午夜福利在线观看免费完整高清在| 国产老妇伦熟女老妇高清| 国产永久视频网站| 青春草国产在线视频| 亚洲国产精品sss在线观看| 女的被弄到高潮叫床怎么办| 国产精品久久久久久精品电影| 老女人水多毛片| 国产男人的电影天堂91| 成人午夜精彩视频在线观看| 国产精品精品国产色婷婷| 国产探花极品一区二区| 欧美xxxx黑人xx丫x性爽| 精品国产露脸久久av麻豆 | 三级男女做爰猛烈吃奶摸视频| 能在线免费看毛片的网站| 永久网站在线| 免费在线观看成人毛片| 少妇被粗大猛烈的视频| 亚洲天堂国产精品一区在线| 亚洲av成人av| 欧美高清成人免费视频www| av在线天堂中文字幕| 人妻制服诱惑在线中文字幕| 最后的刺客免费高清国语| 国内精品美女久久久久久| 最近的中文字幕免费完整| 国产精品国产三级专区第一集| 亚洲一区高清亚洲精品| 99久久精品热视频| 日韩电影二区| 欧美一区二区亚洲| 人人妻人人澡人人爽人人夜夜 | 亚洲成色77777| 日本一二三区视频观看| 亚洲精品亚洲一区二区| 亚洲av不卡在线观看| 婷婷六月久久综合丁香| 国产一区有黄有色的免费视频 | 十八禁国产超污无遮挡网站| 国产精品三级大全| 一个人看视频在线观看www免费| 国产精品久久久久久av不卡| 日本黄大片高清| 国产中年淑女户外野战色| 成人欧美大片| 精品久久国产蜜桃| 内射极品少妇av片p| 亚洲婷婷狠狠爱综合网| 一区二区三区高清视频在线| 青春草国产在线视频| 最新中文字幕久久久久| 国产色爽女视频免费观看| 亚洲欧洲日产国产| 欧美人与善性xxx| 亚洲高清免费不卡视频| 91久久精品电影网| 亚洲精品456在线播放app| 99久久精品热视频| 久久这里有精品视频免费| 亚洲av一区综合| 国产黄片美女视频| 男人爽女人下面视频在线观看| 免费高清在线观看视频在线观看| 九九爱精品视频在线观看| av又黄又爽大尺度在线免费看| 中文字幕av在线有码专区| 午夜亚洲福利在线播放| 国产高清不卡午夜福利| 日韩 亚洲 欧美在线| 哪个播放器可以免费观看大片| 精品人妻一区二区三区麻豆| 久久久久久国产a免费观看| 久久精品国产亚洲av涩爱| 大片免费播放器 马上看| 1000部很黄的大片| 男人狂女人下面高潮的视频| 我的女老师完整版在线观看| 国产精品人妻久久久久久| 日韩av在线大香蕉| 纵有疾风起免费观看全集完整版 | 国产高潮美女av| 午夜激情福利司机影院| 免费播放大片免费观看视频在线观看| 精品一区二区三卡| 日韩成人av中文字幕在线观看| 国产老妇女一区| 久久精品夜色国产| 日本午夜av视频| 十八禁国产超污无遮挡网站| 青春草亚洲视频在线观看| 亚洲av二区三区四区| 人妻少妇偷人精品九色| 国产午夜精品久久久久久一区二区三区| 久热久热在线精品观看| 精品午夜福利在线看| 国产亚洲精品av在线| 亚洲高清免费不卡视频| 久久精品人妻少妇| 久久精品国产亚洲av天美| 欧美精品国产亚洲| 日本熟妇午夜| 五月天丁香电影| 国产 一区精品| 亚洲人成网站高清观看| av在线天堂中文字幕| 大陆偷拍与自拍| 99热6这里只有精品| 亚洲av成人精品一二三区| 夜夜爽夜夜爽视频| 欧美成人精品欧美一级黄| 美女大奶头视频| 18禁动态无遮挡网站| 国产老妇女一区| 亚洲av.av天堂| 精品久久久久久久久久久久久| 国产男人的电影天堂91| 看黄色毛片网站| 国产精品人妻久久久影院| 亚洲在线自拍视频| 一级毛片电影观看| 久久久久免费精品人妻一区二区| 一级二级三级毛片免费看| 国产探花极品一区二区| 日韩成人av中文字幕在线观看| 在线观看人妻少妇| 亚洲精品aⅴ在线观看| 狂野欧美白嫩少妇大欣赏| 日韩一本色道免费dvd| 久久精品国产亚洲网站| 深夜a级毛片| 中文字幕亚洲精品专区| 又大又黄又爽视频免费| 久久久久久久久久久丰满| 亚洲av.av天堂| 一级爰片在线观看| 少妇的逼好多水| 国产激情偷乱视频一区二区| 有码 亚洲区| 免费看不卡的av| 亚洲av一区综合| 99久久九九国产精品国产免费| 六月丁香七月| 一级毛片黄色毛片免费观看视频| 男人和女人高潮做爰伦理| 两个人的视频大全免费| 国产黄色视频一区二区在线观看| 久久久午夜欧美精品| 亚洲一区高清亚洲精品| 看非洲黑人一级黄片| 亚洲国产成人一精品久久久| 亚洲怡红院男人天堂| 又黄又爽又刺激的免费视频.| 精品午夜福利在线看| a级一级毛片免费在线观看| 精品一区在线观看国产| 久久久欧美国产精品| 国产黄色小视频在线观看| 网址你懂的国产日韩在线| 18禁裸乳无遮挡免费网站照片| 22中文网久久字幕| 伊人久久国产一区二区| 免费大片18禁| 国内精品美女久久久久久| 欧美极品一区二区三区四区| 丰满乱子伦码专区| 国产有黄有色有爽视频| 久热久热在线精品观看| 国产一区二区亚洲精品在线观看| 三级男女做爰猛烈吃奶摸视频| 建设人人有责人人尽责人人享有的 | 免费看日本二区| 亚洲内射少妇av| 免费av不卡在线播放| 韩国高清视频一区二区三区| 亚洲国产欧美在线一区| 女人久久www免费人成看片| 三级毛片av免费| 久久久久久伊人网av| 欧美人与善性xxx| 久久久久精品性色| 国产成人91sexporn| 欧美人与善性xxx| 能在线免费观看的黄片| 日日撸夜夜添| 亚洲欧美日韩东京热| 成人av在线播放网站| 亚洲综合色惰| 国产成人freesex在线| 熟女人妻精品中文字幕| 亚洲av男天堂| 少妇熟女aⅴ在线视频| 久久精品夜色国产| 久久久久久久久久黄片| 少妇高潮的动态图| 三级国产精品片| 天堂√8在线中文| 夫妻性生交免费视频一级片| 欧美3d第一页| 久久久久久国产a免费观看| 人体艺术视频欧美日本| 国产精品蜜桃在线观看| 搡老乐熟女国产| 亚洲成人av在线免费| 国产高潮美女av| 亚洲国产精品国产精品| 嫩草影院新地址| 亚洲精品视频女| 国产免费又黄又爽又色| 精品久久久久久久末码| 少妇人妻一区二区三区视频| 日韩一区二区视频免费看| 能在线免费看毛片的网站| 亚洲精品成人久久久久久|