• <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麻豆狂野| 麻豆成人午夜福利视频| 国产一区在线观看成人免费| 久久婷婷成人综合色麻豆| 午夜两性在线视频| 色综合婷婷激情| 亚洲avbb在线观看| 成人三级做爰电影| 亚洲国产精品成人综合色| 日韩欧美免费精品| 国产午夜精品久久久久久| 欧美又色又爽又黄视频| 黑人巨大精品欧美一区二区mp4| 免费在线观看视频国产中文字幕亚洲| 亚洲中文日韩欧美视频| 亚洲第一电影网av| 国产97色在线日韩免费| 欧美成狂野欧美在线观看| 久久精品国产亚洲av高清一级| 日本精品一区二区三区蜜桃| 男女做爰动态图高潮gif福利片| 亚洲电影在线观看av| 亚洲专区国产一区二区| 狂野欧美激情性xxxx| 在线观看午夜福利视频| 19禁男女啪啪无遮挡网站| 国产精品久久久人人做人人爽| 99久久久亚洲精品蜜臀av| 亚洲色图av天堂| 成人永久免费在线观看视频| 成人一区二区视频在线观看| 亚洲天堂国产精品一区在线| 亚洲国产精品久久男人天堂| 首页视频小说图片口味搜索| 欧美乱妇无乱码| 亚洲一码二码三码区别大吗| 叶爱在线成人免费视频播放| 国产精品自产拍在线观看55亚洲| 久久天堂一区二区三区四区| 午夜日韩欧美国产| 亚洲在线自拍视频| 高清在线国产一区| 久久久久久亚洲精品国产蜜桃av| 桃红色精品国产亚洲av| 精品免费久久久久久久清纯| 少妇人妻一区二区三区视频| 波多野结衣高清无吗| 日本免费一区二区三区高清不卡| 婷婷亚洲欧美| 欧美乱码精品一区二区三区| 精品久久久久久久人妻蜜臀av| 亚洲 欧美一区二区三区| 欧美另类亚洲清纯唯美| 成人手机av| 国产黄色小视频在线观看| or卡值多少钱| 亚洲熟妇熟女久久| 岛国视频午夜一区免费看| 丰满的人妻完整版| 色噜噜av男人的天堂激情| 国产男靠女视频免费网站| 色哟哟哟哟哟哟| 亚洲午夜精品一区,二区,三区| 国产午夜精品论理片| 看片在线看免费视频| 人人妻人人看人人澡| 欧美高清成人免费视频www| 国产亚洲精品综合一区在线观看 | 日本一本二区三区精品| 中出人妻视频一区二区| x7x7x7水蜜桃| 久久精品成人免费网站| 久久久久久久精品吃奶| 大型av网站在线播放| 性色av乱码一区二区三区2| 亚洲av电影在线进入| videosex国产| 国产亚洲精品久久久久5区| 日本a在线网址| 久久中文字幕人妻熟女| 久久久久久久午夜电影| 亚洲成人国产一区在线观看| 黄色女人牲交| 两个人免费观看高清视频| 一级a爱片免费观看的视频| 男人舔女人下体高潮全视频| 精品久久久久久,| avwww免费| 国产av一区二区精品久久| 日韩欧美三级三区| 亚洲国产欧美人成| 国产精品自产拍在线观看55亚洲| 男女之事视频高清在线观看| 18禁美女被吸乳视频| 久久精品成人免费网站| 操出白浆在线播放| 可以免费在线观看a视频的电影网站| 久久精品国产99精品国产亚洲性色| e午夜精品久久久久久久| 国产单亲对白刺激| 精品日产1卡2卡| 高清在线国产一区| 日韩大尺度精品在线看网址| 波多野结衣巨乳人妻| 又黄又粗又硬又大视频| 色老头精品视频在线观看| 日本成人三级电影网站| 亚洲 欧美 日韩 在线 免费| 亚洲av成人不卡在线观看播放网| 一级a爱片免费观看的视频| www日本黄色视频网| 国产精品久久久人人做人人爽| 十八禁网站免费在线| 一个人免费在线观看的高清视频| 亚洲性夜色夜夜综合| 国产成人精品无人区| 高清毛片免费观看视频网站| 国模一区二区三区四区视频 | 日本免费a在线| a在线观看视频网站| 美女 人体艺术 gogo| 很黄的视频免费| 成人18禁在线播放| 一级毛片精品| 亚洲av片天天在线观看| 熟妇人妻久久中文字幕3abv| 亚洲午夜精品一区,二区,三区| 在线观看www视频免费| av中文乱码字幕在线| 亚洲精品久久成人aⅴ小说| 国产精品免费一区二区三区在线| 亚洲18禁久久av| 中文字幕熟女人妻在线| www.www免费av| 亚洲人成伊人成综合网2020| 特大巨黑吊av在线直播| 人妻丰满熟妇av一区二区三区| 国产欧美日韩一区二区精品| 禁无遮挡网站| 两人在一起打扑克的视频| 九色国产91popny在线| 欧美日韩国产亚洲二区| 国产亚洲精品久久久久久毛片| 日韩免费av在线播放| 啦啦啦免费观看视频1| 日本精品一区二区三区蜜桃| 亚洲精品粉嫩美女一区| 18禁美女被吸乳视频| 一级作爱视频免费观看| 精品久久久久久成人av| 日日夜夜操网爽| 少妇熟女aⅴ在线视频| 精品国产超薄肉色丝袜足j| 久久久国产欧美日韩av| 免费在线观看完整版高清| 最近最新中文字幕大全免费视频| 国产熟女午夜一区二区三区| 最新在线观看一区二区三区| 一本精品99久久精品77| 9191精品国产免费久久| 欧美日韩精品网址| 婷婷精品国产亚洲av在线| 国产爱豆传媒在线观看 | 亚洲七黄色美女视频| 精品无人区乱码1区二区| 中文在线观看免费www的网站 | 午夜成年电影在线免费观看| www.精华液| 精品国产乱子伦一区二区三区| 特级一级黄色大片| 小说图片视频综合网站| 欧美又色又爽又黄视频| 亚洲成人国产一区在线观看| 99国产综合亚洲精品| 欧美色视频一区免费| www国产在线视频色| 欧美一级a爱片免费观看看 | 波多野结衣高清作品| 日本a在线网址| 在线观看午夜福利视频| av福利片在线| 男女那种视频在线观看| 亚洲专区字幕在线| 午夜福利高清视频| 国产欧美日韩一区二区三| 久久久国产精品麻豆| 午夜免费激情av| 亚洲avbb在线观看| 香蕉久久夜色| 99久久久亚洲精品蜜臀av| 男女做爰动态图高潮gif福利片| 嫩草影院精品99| 久9热在线精品视频| 亚洲欧美精品综合久久99| 麻豆一二三区av精品| 国产精品亚洲一级av第二区| 亚洲国产看品久久| 午夜福利免费观看在线| 日本 欧美在线| 中出人妻视频一区二区| 午夜日韩欧美国产| 每晚都被弄得嗷嗷叫到高潮| 99久久精品热视频| 精品国产乱码久久久久久男人| 99久久国产精品久久久| 日韩欧美国产在线观看| 成人永久免费在线观看视频| 久久久久久免费高清国产稀缺| 亚洲真实伦在线观看| 一二三四社区在线视频社区8| 一本久久中文字幕| 美女扒开内裤让男人捅视频| 成人欧美大片| 女同久久另类99精品国产91| 精华霜和精华液先用哪个| 亚洲av电影在线进入| 亚洲色图 男人天堂 中文字幕| 欧美日韩亚洲国产一区二区在线观看| 亚洲精品av麻豆狂野| 精品一区二区三区视频在线观看免费| 美女午夜性视频免费| 国产精品精品国产色婷婷| 亚洲色图 男人天堂 中文字幕| www.熟女人妻精品国产| 成人永久免费在线观看视频| 男人舔女人的私密视频| av国产免费在线观看| 欧美日韩亚洲综合一区二区三区_| 国产日本99.免费观看| 国产人伦9x9x在线观看| 欧美性长视频在线观看| 精品久久久久久,| 露出奶头的视频| 在线观看免费午夜福利视频| 亚洲人成网站高清观看| 久久久久国产精品人妻aⅴ院| 日韩欧美国产一区二区入口| 五月玫瑰六月丁香| 午夜福利在线观看吧| 免费看日本二区| 老司机深夜福利视频在线观看| 成人国产一区最新在线观看| 亚洲精品美女久久久久99蜜臀| 一边摸一边抽搐一进一小说| 久久久久国产一级毛片高清牌| 色综合婷婷激情| 麻豆久久精品国产亚洲av| 亚洲av成人av| 啪啪无遮挡十八禁网站| 亚洲精品美女久久久久99蜜臀| 搡老妇女老女人老熟妇| 国产亚洲欧美98| 色综合婷婷激情| 午夜影院日韩av| 国产亚洲精品久久久久5区| 日本撒尿小便嘘嘘汇集6| 天堂av国产一区二区熟女人妻 | 国产av在哪里看| 久久久久久大精品| 狂野欧美白嫩少妇大欣赏| 99精品在免费线老司机午夜| 亚洲精品在线美女| 欧美黄色片欧美黄色片| 国产av又大| 高潮久久久久久久久久久不卡| 妹子高潮喷水视频| 欧美黄色片欧美黄色片| 久久久久国内视频| 欧美久久黑人一区二区| 日本成人三级电影网站| 18禁国产床啪视频网站| 十八禁人妻一区二区| 两个人看的免费小视频| 国产视频一区二区在线看| 国产av一区二区精品久久| 这个男人来自地球电影免费观看| 成人亚洲精品av一区二区| 在线十欧美十亚洲十日本专区| 日韩欧美国产一区二区入口| 九色成人免费人妻av| 99久久国产精品久久久| 中文资源天堂在线| 18禁黄网站禁片免费观看直播| 久久精品国产亚洲av高清一级| 精品欧美一区二区三区在线| 日本熟妇午夜| 搡老岳熟女国产| 久久中文字幕一级| 性欧美人与动物交配| 无限看片的www在线观看| 日韩 欧美 亚洲 中文字幕| 亚洲av熟女| 亚洲国产中文字幕在线视频| 日韩精品中文字幕看吧| 国内揄拍国产精品人妻在线| 国产精品久久视频播放| 最近最新中文字幕大全电影3| 亚洲人成网站在线播放欧美日韩| 男女床上黄色一级片免费看| 亚洲欧美日韩高清专用| 国产激情欧美一区二区| 欧美又色又爽又黄视频| 一个人免费在线观看电影 | 欧美色欧美亚洲另类二区| 不卡av一区二区三区| 亚洲美女视频黄频| 又大又爽又粗| 黑人欧美特级aaaaaa片| 久久久久久人人人人人| 亚洲中文av在线| 午夜激情福利司机影院| 香蕉久久夜色| 美女免费视频网站| 1024视频免费在线观看| 99热这里只有是精品50| 91字幕亚洲| 狠狠狠狠99中文字幕| 国产精品永久免费网站| 两个人的视频大全免费| 视频区欧美日本亚洲| 很黄的视频免费| 亚洲专区字幕在线| 国产主播在线观看一区二区| 男插女下体视频免费在线播放| 一级毛片精品| av天堂在线播放| 欧美在线一区亚洲| 正在播放国产对白刺激| 我的老师免费观看完整版| 欧美性猛交╳xxx乱大交人| 亚洲精品国产一区二区精华液| 国产亚洲精品久久久久久毛片| 国产一区二区在线av高清观看| 97超级碰碰碰精品色视频在线观看| 亚洲色图av天堂| 九色成人免费人妻av| 久久久久国产一级毛片高清牌| 亚洲精品中文字幕在线视频| 一夜夜www| 久久人妻av系列| 成人国产一区最新在线观看| 一个人免费在线观看电影 | 中文在线观看免费www的网站 | 99在线视频只有这里精品首页| 国产亚洲精品av在线| 亚洲国产看品久久| 麻豆国产av国片精品| 超碰成人久久| 亚洲av美国av| 日本撒尿小便嘘嘘汇集6| 成年版毛片免费区| 欧美黄色片欧美黄色片| 无人区码免费观看不卡| 亚洲自偷自拍图片 自拍| 久久中文看片网| 国产亚洲欧美98| 在线观看66精品国产| 麻豆国产97在线/欧美 | 两性午夜刺激爽爽歪歪视频在线观看 | 一区二区三区激情视频| 久久久精品欧美日韩精品| 欧美丝袜亚洲另类 | 岛国视频午夜一区免费看| 很黄的视频免费| 女同久久另类99精品国产91| 久久久久久久午夜电影| www国产在线视频色| 三级男女做爰猛烈吃奶摸视频| 亚洲精品美女久久av网站| 久久久久性生活片| 天天一区二区日本电影三级| 国产精品久久久久久精品电影| 久久香蕉激情| 久久精品亚洲精品国产色婷小说| 在线永久观看黄色视频| av福利片在线| 一本综合久久免费| 亚洲激情在线av| 亚洲成人久久爱视频| 国产精品一区二区三区四区免费观看 | 欧美高清成人免费视频www| 男女午夜视频在线观看| 免费观看人在逋| 亚洲人成网站高清观看| 男女午夜视频在线观看| 免费看十八禁软件| 免费一级毛片在线播放高清视频| 国产不卡一卡二| 久久久国产成人免费| 不卡av一区二区三区| www.999成人在线观看| 桃色一区二区三区在线观看| 白带黄色成豆腐渣| 国产一区二区在线av高清观看| 欧美另类亚洲清纯唯美| 成人特级黄色片久久久久久久| 一二三四社区在线视频社区8| 狂野欧美激情性xxxx| 三级男女做爰猛烈吃奶摸视频| 精品久久久久久久毛片微露脸| 老司机福利观看| 人妻夜夜爽99麻豆av| 午夜亚洲福利在线播放| 黄色a级毛片大全视频| 男女午夜视频在线观看| 1024视频免费在线观看| 看黄色毛片网站| 99久久精品热视频| 亚洲人成伊人成综合网2020| 老司机在亚洲福利影院| 亚洲熟妇熟女久久| 亚洲国产中文字幕在线视频| 少妇粗大呻吟视频| 99国产综合亚洲精品| 国产精品一区二区免费欧美| 国产在线观看jvid| av福利片在线| 欧美日韩精品网址| 久久久国产精品麻豆| 精品久久久久久久久久久久久| 国产精品影院久久| 在线观看午夜福利视频| netflix在线观看网站| 99久久精品热视频| 国产成人一区二区三区免费视频网站| 变态另类成人亚洲欧美熟女| a级毛片a级免费在线| 伦理电影免费视频| 久久人人精品亚洲av| 久久天躁狠狠躁夜夜2o2o| 女人爽到高潮嗷嗷叫在线视频| 中文字幕人妻丝袜一区二区| 91麻豆av在线| 日本免费一区二区三区高清不卡| 母亲3免费完整高清在线观看| 色综合站精品国产| 国产视频内射| 三级国产精品欧美在线观看 | 最近最新中文字幕大全免费视频| 可以在线观看毛片的网站| 国产又色又爽无遮挡免费看| 久久精品91无色码中文字幕| 好看av亚洲va欧美ⅴa在| 岛国视频午夜一区免费看| 亚洲av电影不卡..在线观看| 日韩精品青青久久久久久| 嫁个100分男人电影在线观看| 亚洲va日本ⅴa欧美va伊人久久| 国产三级黄色录像| 中文在线观看免费www的网站 | 两人在一起打扑克的视频| 日本黄大片高清| 中亚洲国语对白在线视频| 久久精品亚洲精品国产色婷小说| 变态另类丝袜制服| 久久久久精品国产欧美久久久| 色在线成人网| 国产成人aa在线观看| 国产视频一区二区在线看| 狠狠狠狠99中文字幕| 亚洲av片天天在线观看| 免费在线观看完整版高清| www.精华液| 国产成人系列免费观看| 免费在线观看黄色视频的| 一边摸一边做爽爽视频免费| 搡老妇女老女人老熟妇| 精品久久久久久久人妻蜜臀av| 日韩欧美三级三区| 国内久久婷婷六月综合欲色啪| 亚洲成人中文字幕在线播放| 中文字幕精品亚洲无线码一区| 妹子高潮喷水视频| 18禁裸乳无遮挡免费网站照片| 亚洲一区中文字幕在线| 嫩草影院精品99| 黄色毛片三级朝国网站| 99精品欧美一区二区三区四区| 色尼玛亚洲综合影院| 美女免费视频网站| 精品一区二区三区四区五区乱码| 日本黄大片高清| 99riav亚洲国产免费| 国产精品国产高清国产av| а√天堂www在线а√下载| 国产精品亚洲美女久久久| 亚洲无线在线观看| 看免费av毛片| 美女高潮喷水抽搐中文字幕| 中文字幕最新亚洲高清| 在线观看一区二区三区| www国产在线视频色| 神马国产精品三级电影在线观看 | 三级国产精品欧美在线观看 | 制服诱惑二区| 三级男女做爰猛烈吃奶摸视频| 亚洲五月天丁香| 国产精品亚洲美女久久久| 国产亚洲欧美在线一区二区| 成人18禁在线播放| 久久精品国产亚洲av香蕉五月| 国产v大片淫在线免费观看| 伊人久久大香线蕉亚洲五| 欧美色视频一区免费| 亚洲中文字幕一区二区三区有码在线看 | 天天躁狠狠躁夜夜躁狠狠躁| 日韩有码中文字幕| 亚洲成人久久性| 18禁裸乳无遮挡免费网站照片| 亚洲最大成人中文| 亚洲性夜色夜夜综合| 99久久99久久久精品蜜桃| 最近视频中文字幕2019在线8| 国产99久久九九免费精品| 免费电影在线观看免费观看| 日韩欧美在线二视频| 亚洲国产看品久久| 可以免费在线观看a视频的电影网站| 悠悠久久av| 欧美色视频一区免费| 麻豆久久精品国产亚洲av| 成年人黄色毛片网站| 一边摸一边做爽爽视频免费| 麻豆av在线久日| 又紧又爽又黄一区二区| 少妇裸体淫交视频免费看高清 | 亚洲 欧美 日韩 在线 免费| 午夜福利在线观看吧| 久久久久国产精品人妻aⅴ院| 免费看美女性在线毛片视频| 一区二区三区国产精品乱码| 免费高清视频大片| 国产精品一区二区免费欧美| 宅男免费午夜| 观看免费一级毛片| 国产精品一及| 天堂影院成人在线观看| 久久99热这里只有精品18| 蜜桃久久精品国产亚洲av| 欧美黑人精品巨大| 成熟少妇高潮喷水视频| 美女免费视频网站| 女人被狂操c到高潮| 日韩精品青青久久久久久| 99热6这里只有精品| 亚洲全国av大片| 精品无人区乱码1区二区| 动漫黄色视频在线观看| 给我免费播放毛片高清在线观看| 精品不卡国产一区二区三区| 丝袜人妻中文字幕| 久久香蕉精品热| 最近最新免费中文字幕在线| av免费在线观看网站| 亚洲aⅴ乱码一区二区在线播放 | 日韩欧美免费精品| 欧美绝顶高潮抽搐喷水| 18禁美女被吸乳视频| 岛国在线观看网站| 国产伦人伦偷精品视频| 亚洲自偷自拍图片 自拍| 一个人免费在线观看电影 | 亚洲一区中文字幕在线| 国产高清有码在线观看视频 | 国产一区在线观看成人免费| 精品久久蜜臀av无| 国产精品香港三级国产av潘金莲| 亚洲av电影不卡..在线观看| 男女下面进入的视频免费午夜| 国产片内射在线| 丰满人妻一区二区三区视频av | 亚洲自拍偷在线| 在线看三级毛片| 午夜福利在线在线| 亚洲人成伊人成综合网2020| 男女午夜视频在线观看| 成熟少妇高潮喷水视频| 男女做爰动态图高潮gif福利片| 中文在线观看免费www的网站 | 正在播放国产对白刺激| 99精品欧美一区二区三区四区| 脱女人内裤的视频| 亚洲人成77777在线视频| 日本熟妇午夜| 69av精品久久久久久| av福利片在线观看| 国产精华一区二区三区| 18禁观看日本| av片东京热男人的天堂| 在线视频色国产色| 国产精品 欧美亚洲| 十八禁网站免费在线| 脱女人内裤的视频| 亚洲av电影在线进入| 无限看片的www在线观看| 啪啪无遮挡十八禁网站| 欧美三级亚洲精品| 亚洲人与动物交配视频| 亚洲欧美日韩无卡精品| 日本在线视频免费播放| 免费av毛片视频| 亚洲 欧美一区二区三区| 黄色视频,在线免费观看| 成年版毛片免费区| 亚洲成av人片免费观看| 成人国产一区最新在线观看| 国产精品亚洲av一区麻豆| 久久婷婷人人爽人人干人人爱| 成人18禁高潮啪啪吃奶动态图| 国产午夜精品久久久久久| 熟妇人妻久久中文字幕3abv| 国产精品久久视频播放|