基于分散模式驗證xml文檔的制作方法

            文檔序號:6496815閱讀:339來源:國知局
            基于分散模式驗證xml文檔的制作方法
            【專利摘要】對于文檔中的每個結構化元素收集規則。應用于元素的任何具體實例的規則依賴于文檔內的實例的分層位置。以說明這些依賴性的方式收集并且高效地組織規則。一旦所述規則被收集后,規則可以被進一步處理。例如,在計算之間可以存在依賴性。以說明這些依賴性的方式調度計算的執行。一旦規則被收集并且進一步處理后,規則用于驗證給定文檔。
            【專利說明】基于分散模式驗證XML文檔
            【技術領域】
            [0001]本發明涉及驗證由諸如XML之類的標記語言標記的文檔。
            【背景技術】
            [0002]本節中描述的方法是可以追隨的方法,而不是已被先前構思或者追隨的必然方法。因此,除非另有陳述,不假定本節中描述的方法中的任何一個僅僅由于它們包含在本節中而獲得現有技術的承認。
            [0003]用于構成并描述數據的層次標記語言的使用在計算機產業得到廣泛承認。標記語H的不例是XML。
            [0004]利用層次標記語言構成的數據由節點組成。節點通過一對對應的開始和結束標志劃界,其不僅劃界節點,而且指定節點的名稱。例如,在下面的結構化數據片段中,
            [0005]<AXB>5</BXD>10</DX/A>
            [0006]開始標志<A>和結束標志</A>劃界具有名稱A的節點。
            [0007]對應的標志之間的數據被稱為節點的內容。節點的內容可以或者是標量值(例如,整數、文本串),或是一個或多個其它節點。僅僅包含標量值的節點這里被稱為標量節點。包含另一個節點的節點這里被稱為結構化節點。被包含的節點這里被稱為后代節點。
            [0008]除了包含一個或多個節點之外,結構化節點的內容也可以包括標量值。在節點中的此類內容這里被稱為混合內容。
            [0009]結構化節點因此形成具有多級節點的分層結構,所述結構化節點在頂層。在每個級別處的節點鏈接到不同級別處的一個或多個節點。在頂層以下的級別處的每個節點是在子節點上面的級別處的父節點的子節點。具有相同的父節點的節點是同屬節點。父節點可以具有多個子節點。沒有鏈接到它的父節點的節點是根節點,并且沒有鏈接到它的子節點的節點是葉節點。例如,在結構化節點A中,節點A是在頂層處的根節點。節點B和D是A的后代和子節點,并且相對于彼此,節點B和D是同屬節點。節點B和D也是葉節點。

            【發明內容】

            [0010]文檔是一個或多個結構化節點的任意序列。文檔可以被以各種格式存儲。例如,文檔可以被存儲為文本文件,或文檔可以被存儲在XML數據庫中的行的大對象(LOB)列中,或存儲為可訪問為互聯網上的資源的網頁。
            [0011]創建符合計算設備被配置為處理的結構和約束的文檔非常重要。文檔模式是限制文檔的結構和內容的一組規則。符合文檔模式的文檔這里被稱為有效文檔和文檔模式的實例。
            [0012]一般說來,模式是用于數據單元的結構和約束的一組規則。這里使用術語模式既指代單個模式,即,用于數據單元的單個類型的規則,或指代模式的集合,每個定義不同類型的數據單元。例如,術語模式可以指代多個文檔模式或指代單個文檔模式。
            [0013]這里的模式和規則可以利用模式聲明來表達。模式聲明是根據模式標準和/或語言定義模式規則的表達式。
            [0014]用于XML文檔的模式標準是XML模式。控制XML模式的標準包括:XML模式,2001年5月2日,W3C推薦的第O部分、第I部分、第2部分,其內容通過引用合并于此;XML模式第I部分:2004年10月28日,W3C推薦,結構,第二版,其內容通過引用合并于此;XML模式1.1第2部分:2006年2月17日,W3C工作草案,數據類型,其內容通過引用合并于此;以及XML模式第2部分:2004年10月28日,W3C推薦,數據類型,第二版,其內容通過引用合并于此。在此文檔中所述的XML模式不局限于W3C XML模式,而是包括用于描述XML文檔的結構的和/或類型信息的任何其它機制,例如,Relax NG。
            [0015]XML模式提供這里稱為文檔集中模式的模式類型。在文檔集中模式中,文檔模式由明確地聲明為文檔模式的模式聲明來定義。
            [0016]驗證是指確定文檔或其部分是否符合模式的過程。已被確定符合文檔模式的文檔或其部分這里被稱為被驗證的。一般地,已經發展的驗證機制擅長驗證文檔集中模式。但是,不是所有形式的模式是文檔集中的,諸如在XAP專利申請中描述的分散形式。這里描述的是可以用來簡化驗證分散的文檔模式的過程的技術。
            [0017]基于上述,存在對用于根據分散文檔模式高效地驗證文檔的技術和機制的需要。
            【專利附圖】

            【附圖說明】
            [0018]在附圖中:
            [0019]圖1A和IB是描述根據本發明的實施例的具有類型和狀態的元素的圖。
            [0020]圖2是描述根據本發明實施例的包含作為元素的實例的節點的文檔的圖。
            [0021]圖3是描述根據實施例的用于收集規則以驗證文檔的文檔規則收集數據結構的圖。
            [0022]圖4是描述根據實施例的用于對文檔的文檔規則收集的技術的圖。
            [0023]圖5是概述用于根據實施例的調度規則的技術的圖。
            [0024]圖6是描述根據實施例的依賴關系圖的圖。
            [0025]圖7是用于描述根據實施例的將計算分成階段的算法的偽代碼。
            [0026]圖8是描述可以被用在實施例中的計算機系統的圖。
            【具體實施方式】
            [0027]在下面說明中,為了說明,闡述許多細節以便提供對本發明的更徹底的理解。但是,本領域技術人員將清晰,在沒有這些細節的情況下也可以實踐本發明。在其它實例中,公知的結構和設備以方框圖形式示出以便避免不必要地模糊本發明。
            [0028]概述
            [0029]驗證文檔需要確定什么規則是驗證文檔所需的。驗證文檔所需規則的集合這里被稱為文檔規則集合。確定文檔規則集合的操作這里被稱為文檔規則收集。這里描述的是用于分散模式的文檔規則收集技術。
            [0030]在分散模式的特定模型的上下文內描述用于文檔規則收集的技術。為了描述所述技術,重要的是要首先描述所述模型。但是,應當理解,這里描述的技術不局限于這里描述的分散模式的特定方式。[0031]元素和分散模式
            [0032]標記語言的優點是用于結構化文檔的標志可以被給出向人描寫標志的內容的名稱。“元素”將標志的描述能力擴展到計算設備。如使用的術語,“元素”將名稱與對具有該名稱的節點內容聲明的一組規則關聯。具有元素名稱的文檔中的節點被稱為元素的實例。
            [0033]“元素”的此定義不應該與傳統上由XML界認為是“元素”的定義混淆,其是元素是文檔中的節點。
            [0034]在文檔域之內,期望的性質是在相同名稱的標志之間的語義一致性。為了在文檔域之內語義一致,甚至當相同的節點名稱出現在具有不同模式的文檔時,具有相同名稱的節點也共享一個或多個中心性質。語義一致性可以經由分散模式的能力實現。
            [0035]在分散模式中,元素的語料庫對文檔集合中文檔和節點聲明模式。有效的文檔必須是語料庫中的元素的有效的元素實例;元素不需要聲明元素定義文檔模式,如在文檔集中模式情況下。文檔內的有效節點必須至少是具有節點的名稱的元素的有效實例。
            [0036]雖然重要的是元素實例跨一組文檔具有一致性質,但是元素實例可以需要對于其中元素實例出現的各種上下文被進一步改進。例如,元素SHIPPING可以被定義為標量美元值。它對設計表示訂單的訂單元素可以有用處,其中具有可以將SHIPPING的實例進一步約束到零的免費送貨。通過允許結構化元素指定對結構化元素的任何實例應用于包含在其中的后代元素實例的規則,分散模式允許此類進一步改進,如下面將進一步描述的。
            [0037]元素類型
            [0038]存在兩個主要種類的元素。標量元素定義標量節點的內容。
            [0039]結構化元素列出其它元素,其被稱為由結構化元素包含的或列出的子元素。結構化元素被稱為相對于子元素的父元素。結構化元素定義默認應用到子元素的規則,或更具體地在結構化元素的實例內的子元素的實例。
            [0040]圖1A-1B描述根據實施例的說明性元素。參考圖1A,它描述元素ORDER,其表示指令。元素 ORDER 列出如子元素 LINE ITEM、TOT、AMT、DISC、BILLING、和 SENDING。
            [0041]LINE ITEM是表示指令中的行項目的結構化元素。元素LINE ITEM列出Τ0Τ、ΑΜΤ、和DISC作為子元素。這些是列為ORDER的子代的相同元素。此外,LINE ITEM列出標量元素QTY和PRICE作為子元素。
            [0042]類型和狀態
            [0043]根據實施例,結構化元素是多類型的。即,結構化元素的聲明可以指定多個類型。根據實施例,結構化元素具有默認類型,指定操縱結構化元素的聲明的類型的任何一個的所有元素實例的基本元素模式。用于結構化元素的類型除了默認類型之外這里被稱為非默認類型。
            [0044]類型可以是可變的。可變的類型具有一個或多個“類型狀態”或“狀態”。根據實施例,每個狀態可以定義零個或更多個規則。每個類型具有默認狀態。用于類型的狀態除了默認狀態之外這里被稱為非默認狀態。
            [0045]參考圖1,元素ORDER具有兩個類型,默認類型和類型US。默認類型具有兩個狀態,默認狀態和ACCEPTED狀態。默認狀態定義下列計算:T0T=AMT-DISC, AMT=SUM (“LINEITEM/AMT”),DISC=SUM (“LINE ITEM/DISC”)。
            [0046]狀態簡化對在階段之間演進或轉變的對象進行建模的類型的發展。狀態可以用來表示在具體階段處的對象。作為狀態的使用的例子,ORDER的默認類型的狀態ACCEPTED表示已被接受的訂單。
            [0047]對于類型US存在一個默認狀態。默認狀態聲明如下規則,即經由“范圍縮小”將后代節點元素POSTAL CODE實例限制到U.S郵政編碼。將在稍后更詳細描述范圍縮小。
            [0048]LINE ITEM的默認類型和默認狀態指定計算AMT=PRICE*QTY。LINE ITEM也定義類型DIGITAL,表示可以被數字地傳送的項目。類型DIGITAL的默認狀態列出元素EMAIL,表示用于數字項目的傳送的電子郵件地址。
            [0049]參考圖1B,BILLING和SENDING是結構化元素。BILLING表示訂單被計費到的實體。SENDING表示將訂單運送到的目的地。
            [0050]BILLING和SENDING都包含兩個其它元素,標量元素NAME和結構化元素ADDR。BILLING和SENDING也具有帶有規則(未示出)的默認狀態和狀態COMPLETE。用于BILLING和SENDING的COMPLETE狀態要求子元素實例NAME是非零值并且子元素實例ADDR處于狀態 COMPLETE。
            [0051]元素ADDR是包含三個子標量元素STREET、CITY和POSTAL CODE的結構化元素。元素ADDR具有帶有規則(未示出)的默認狀態和狀態COMPLETE。COMPLETE狀態包括需要子元素實例STREET、CITY、和POSTAL CODE是非零的規則。
            [0052]這里的元素和規則可以利用模式聲明來表達。例如,計算可以利用XQuery語言聲明。XAP專利申請提供元素聲明的示例。應當理解實施例不局限于任何具體語言、格式、或語法以用于指定路徑、約束或計算。
            [0053]說明性的文檔
            [0054]文檔可以是元素語料庫中的結構化元素的任何實例。圖2描述是類型US的元素ORDER的實例的文檔ORDER。節點由它們的節點名稱來指代。當然如果節點是元素的實例,則節點名稱是元素的名稱。如果節點是元素的除了默認類型以外的類型的實例,則在括號中指定此類型。
            [0055]參考圖2,0RDER[US]是文檔ORDER的根節點。在0RDER[US]的子節點之間是標量元素實例TOT、AMT、和DISC。
            [0056]此外,ORDER [US]包含元素LINE ITEM的默認類型的實例。這些子節點的每一個包括由LINE ITEM的默認狀態列出的標量元素的子實例,其是TOT、AMT、DISC、PRICE和QTY。
            [0057]在ORDER [US]中的另一個節點 LINE ITEM [DIGITAL]是元素 LINE ITEM 的 DIGITAL類型的實例。節點LINE ITEM[DIGITAL]包括由默認類型包含的子元素的實例,其是TOT、AMT、DISC、QTY和PRICE。此外,節點LINE ITEM [DIGITAL]包括元素EMAIL的實例,其特定于類型DIGITAL。
            [0058]ORDER [US]也包含節點BILLING、元素BILLING的實例、和節點SENDING。節點BILLING和SENDING都是包含節點ADDR和NAME的結構化節點。節點ADDR是包含子元素實例STREET、CITY和POSTAL CODE的結構化節點。
            [0059]路徑和類型合格的路徑
            [0060]對于給定節點,路徑是包括以下的元素名稱的序列:(I)在給定節點和上下文節點之間的零個或更多祖先結點名稱的每一個,以及(2)這里稱為終端元素的給定節點的元素名稱。利用路徑表達式表達路徑。根據實施例,路徑表達式是由定界符“/”分隔的有序的路徑元素名稱的序列。例如,在文檔ORDER中,假定節點BILLING是上下文節點,路徑表達式ADDR/CITY表示是BILLING的后代節點的節點CITY的路徑。
            [0061 ] 絕對路徑是其中上下文節點是根節點的路徑。根節點是在沒有父代的節點樹中的一個節點。在文檔ORDER中,ORDER [US]是根節點。在路徑表達式中,在具有初始“/”的根節點的元素名稱之前,通過將根節點表示為上下文來表達絕對路徑。例如,/ORDER/BILLING/ADDR/CITY是對于節點CITY的絕對路徑。
            [0062]類型合格的路徑是其中路徑中的每個元素由至少一個類型合格的路徑。根據實施例,在用于類型合格的路徑的類型合格的路徑表達式中,利用包含在括號中的類型標識符明確地標識節點的類型。用于節點名稱的此類括號的缺少指定節點的元素的默認類型。
            [0063]例如,類型合格的路徑表達式/ORDER[US] /SENDING/ADDR/CITY標識節點CITY。在ORDER [US]中的非節點是由類型合格的路徑表達式/0RDER/BILLING/ADDR/CITY標識(注意ORDER沒有被標識的括號的類型)
            [0064]路徑(和其路徑表達式)可以標識文檔中的節點。由路徑標識的節點是具有那個路徑的節點。因為多個節點可以具有相同的路徑,路徑可以標識多于一個節點。例如,類型合格的路徑表達式/ORDER[US]/LINE ITEM標識ORDER中的兩個節點,而/ORDER[US]/LINEITEM [DIGITAL]標識一個節點。
            [0065]按類型不合格的路徑這里可以簡單地被稱為是不合格的。如果節點的名稱和零個或更多祖先結點匹配路徑中的相應名稱,則不考慮哪個節點或任何祖先是實例的類型,節點由不合格的路徑標識。因此,不合格的路徑/ORDER/LINE ITEM標識LINE ITEM命名的節點和在文檔ORDER中的節點LINE ITEM [DIGITAL]。
            [0066]由路徑標識的節點的任何子或后代節點被稱為路徑的子代或后代。因此,節點EMAIL是合格的路徑/ORDER/LINE ITEM [DIGITAL]和不合格的路徑/ORDER/LINE ITEM的子代。
            [0067]根據實施例,路徑表達式中的類型標識符可以利用模式匹配標記來標識多個類型。例如,/ORDER[US] /LINEITEM[*] /ADDR/CITY 標識作為 LINEITEM[DIGITAL]和兩個LINEITEM節點的后代的城市節點。
            [0068]路徑表達式可以以任何語言、格式、或標準。例如,路徑可以利用XPath表達。應當理解實施例不局限于任何具體語言、格式、或語法以用于表達或指定路徑。
            [0069]規則的表達式
            [0070]結構化元素的規則可以指定元素的實例內的一個或多個節點,S卩服從為了驗證的規則。所述一個或多個節點這里被稱為規則的主體并服從規則,而規則被稱為可應用于或應用于所述一個或多個節點。對于ORDER [US],對于BILLING的COMPLETE狀態的約束NAMEIS NON-NULL,主題是節點 NAME。
            [0071]計算定義評估用于這里稱為目標的主體的值的表達式。目標是標量元素節點。表達式可以包含利用相對路徑表達式標識的操作數。對于定義計算的元素的實例,上下文是元素實例的路徑。在其中目標和操作數是指子元素的情況中,相對路徑表達式簡單地是子元素的名稱。
            [0072]例如,LINE ITEM定義下列計算:
            [0073]AMT=PRICE*QTY[0074]定義用于LINE ITEM的此計算,使得對于在ORDER [US]中的每個LINE ITEM節點,AMT子節點等于計算PRICE*QTY的結果。
            [0075]因為相對路徑表達式用于指代操作數,所以計算在元素實例之內操作時可以標識多個節點。例如,元素ORDER可以定義下列計算:
            [0076]AMT=SUM (“LINE ITEM/AMT”)
            [0077]在0RDER[US]中,這使得ORDER [US]的子節點AMT等于多個節點AMT、LINE ITEM節點的每一個的子代的總和。因此,相對路徑LINE ITEM/AMT標識并解決三個LINE ITEM節點(其包括節點 LINE ITEM [DIGITAL]/AMT) ο
            [0078]節點可以服從在節點的父元素實例之內操作的規則。例如,LINE ITEM定義下列計算:AMT=PRICE*QTY。規則在LINE ITEM的實例之內操作。對于LINE ITEM的每個實例,子節點AMT服從計算作為計算的目標。
            [0079]元素的默認類型的默認狀態的規則在元素的任何實例之內操作。類型的默認狀態的規則在類型的所有實例之內操作。當驗證針對具體不需要非默認狀態時,類型的非默認狀態的規則在不同類型或相同類型的任何實例之內不操作。
            [0080]范圍縮小
            [0081]如先前提到的,改進規則的集合以應用于由元素定義本身操作所需的那些以外的元素的實例是有用的。范圍縮小允許結構化元素指定要被在結構化元素的后代結構化元素實例之內操作的規則。范圍縮小的規則應用于后代結構化元素實例的子元素實例。
            [0082]例如,用于ORDER的類型US的默認狀態聲明范圍縮小的規則POSTALCODE=US:DOffNSCOPE= “SENDING/ADDR”,指定根據范圍縮小路徑表達式SENDING/ADDR縮小規則 POSTAL CODE=US 的范圍。在 0RDER[US]中,規則在子節點 ORDER [US]/SENDING/ADDR,ORDER [US]的非即時后代之內操作,并且應用于節點ORDER [US]/SENDING/ADDR/P0STALCODE。
            [0083]范圍縮小的規則包括規則和范圍縮小子句,其指定范圍縮小路徑,不合格的或合格的相對路徑。根據實施例,范圍縮小路徑可以僅僅是不合格的。在此示例中,范圍縮小的規則是POST CODE=US并且范圍縮小子句是D0WNSC0PE= “SENDING/ADDR”,并且范圍縮小路徑是SENDING/ADDR。對于定義范圍縮小的規則的元素的元素實例,范圍縮小的規則使得規則在由元素實例的上下文之內的相對路徑標識的后代元素之內操作。在文檔ORDER [US]情況下,范圍縮小的規則 POSTAL CODE=US:DOffNSCOPE= “SENDING/ADDR” 使得規則 POSTALCODE=US在元素實例0RDER[US]的上下文之內,在后代元素實例SENDING/ADDR,即由范圍縮小路徑表達式SENDING/ADDR標識的節點之內操作。
            [0084]類似約束,計算可以被縮小范圍。例如,元素ORDER的默認類型聲明范圍縮小的規則 T0T=AMT_DISC:D0WNSC0PING=“LINE ITEM”。因此,計算 T0T=AMT_DISC 應用于兩個 LINEITEM節點的每一個和LINE TIME [DIGITAL]節點。
            [0085]當類型或狀態的規則是可操作的或適用的時
            [0086]存在規則在結構化元素實例之內變得可操作的各種方式。規則可以被默認類型的結構化元素的默認狀態定義。元素實例可以包含指定實例的類型的屬性(例如XML屬性),使得至少類型的默認狀態的規則在元素實例之內可操作。
            [0087]規則可以在元素實例進入定義規則的非默認狀態時變得可操作。例如,當節點ORDER [US] /BILLING處于COMPLETE狀態時,規則NAME IS NON-NULL是可操作的,所述規則由BILLING的COMPLETE狀態聲明。
            [0088]狀態可以被以若干方式指定。首先,用于子元素實例的父節點的操作約束可以將子元素實例限制到具體狀態。例如,在ACCEPTED狀態中,規則SENDING IN STATE OFCOMPLETE是在節點0RDER[US]之內操作的。此約束將節點SENDING限制到元素SENDING的狀態 COMPLETE。
            [0089]文檔的根節點的狀態可以由用于文檔的驗證的輸入狀態參數指定。例如,ACCEPTED狀態可以被指定用于ORDER [US]作為當調用文檔的驗證時的輸入狀態參數。用于ORDER的ACCEPTED狀態的規則是可操作的,以及用于默認類型的默認狀態和類型US的默認狀態的規則是可操作的。
            [0090]在這種情況下,在ACCEPTED狀態中經過作為輸入參數在什么規則貫穿0RDER[US]中的節點的分層變得可操作上具有梯級效應。0RDER[US]的ACCEPTED狀態將節點SENDING和BILLING限制到COMPLETE狀態,使得狀態的規則可操作,其使得在SENDING和BILLING中的相應ADDR子節點在COMPLETE狀態中并且使得那個狀態的規則可操作。
            [0091]用于分散模式的文檔規則收集
            [0092]在分散模式下,文檔規則收集基于文檔中元素實例的“分層上下文”。用于元素實例的分層上下文是特定絕對路徑,在該特定絕對路徑下,元素實例落入文檔。因此,作為由相同的路徑標識的節點的元素實例共享相同的分層上下文。
            [0093]元素實例的分層上下文具有最高的重要性,因為分層的上下文指示哪些規則在元素實例之內可操作。具體地,哪些規則是可操作的取決于向實例的路徑中的每個前代節點的元素、類型、和通狀態。相同元素的實例可以具有在不同文檔之間并且甚至在相同文檔內變化的分層上下文。對于作為相同元素的實例但是在文檔之內或文檔之間具有不同分層上下文的兩個節點,不同的規則集合可以在其中可操作。
            [0094]在分散模式中,文檔集合中的任何文檔可以是結構化元素的實例,結構化元素本身可以由許多結構化元素的許多實例組成。任何一個特定文檔的驗證需要包括對于文檔中結構化元素的每個實例可操作的規則集合的文檔規則集合。
            [0095]因為對于任何特定元素實例可操作的規則取決于實例的分層上下文,所以在分層上下文可以被解析時,即當實例的路徑時可以在包含實例的文檔中解析時,對于元素實例可操作的規則集合形成。因此對任何元素實例所需的規則集合的確定不僅需要參考在元素語料庫中的元素的聲明而且參考在文檔分層結構之內的實例的位置的確定。
            [0096]根據本發明的實施例,當文檔中任何一個元素實例的分層上下文是可解析的時,對個別文檔基礎執行文檔規則集合收集。通過以深度優先次序遍歷并訪問文檔的節點收集規則。在深度優先次序的遍歷中,遍歷文檔起始于根節點,每個節點被訪問,并且在遍歷到同屬之前遍歷并訪問它的子代。訪問節點意味著相對于節點執行操作。此類操作包括檢查、收集、和記錄來自于元素語料庫中節點的元素的規則。
            [0097]重要的是注意深度優先遍歷意味著到結構化元素的任何實例被訪問時,所有祖先結點已被訪問。因此,按祖先的元素范圍縮小到實例的任何規則和實例服從的任何狀態約束到實例在遍歷期間被訪問時已被遇到并且記錄。
            [0098]給定元素和具有其實例的文檔,具有相同分層上下文的元素的實例可以共享相同的規則集合,而具有不同分層上下文的實例可以不共享。在深度優先遍歷期間,規則被收集以實際上用于每個遇到的分層上下文或結構化元素的路徑并且存儲在與分層上下文相關聯的數據結構中。一旦文檔被遍歷并且規則被收集后,文檔規則收集數據結構具有元內容和對文檔定制的組織。在文檔規則收集數據結構中收集的規則可以被進一步處理并且然后用于高效地驗證文檔。
            [0099]文檔規則收集結構
            [0100]根據本發明的實施例,通過收集用于與文檔中結構化節點的類型合格的路徑對應的每個分層上下文的規則執行文檔規則收集。通過以深度優先次序遍歷并訪問文檔的節點來收集規則,如將在稍后進一步描述的。
            [0101]圖3描述文檔規則收集數據結構301。參考圖3,類型合格的路徑305是包含這里稱為類型合格的路徑條目的多個條目的列表。每個此類類型合格的路徑條目包含用于共享文檔中相同類型合格的路徑的文檔中節點集合的規則。因此,條目的類型合格的路徑表達式標識文檔中的節點,其中條目中的規則可以是可操作的。
            [0102]在類型合格的路徑305中的類型合格的路徑條目被按它關聯的類型合格的路徑參考。類型合格的路徑條目/0RDER[US]包含用于節點ORDER [US]的規則,類型合格的路徑條目/ORDER[US]/LINE ITEM包含用于兩個LINE ITEM節點的規則,類型合格的路徑條目 /ORDER [US]/LINE ITEM [DIGITAL]包含用于 LINE ITEM [DIGITAL]的規則,類型合格的路徑/ORDER US]/BILLING包含用于BILLING的如此標識的實例的規則,類型合格的路徑/ORDER [US]/SENDING 包含用于如此標識的實例 SENDING 的規則,/0RDER[US]/BILLING/ADDR包含用于在0RDER[US]中的ADDR的如此標識的實例的規則,以及/ORDER[US]/SENDING/ADDR包含用于如此標識的實例ADDR的規則。
            [0103]每個類型合格的路徑條目包含多個列表,每個列表包含特定種類的規則。狀態/約束325包含約束。列表按狀態細分,并且因此包含一個或多個狀態條目。每個狀態條目包含零個或更多約束的子列表。狀態/約束325包含用于默認狀態以及零個或更多其它狀態的條目。
            [0104]范圍縮小的約束320包含條目,每個包含范圍縮小到相應類型合格的路徑的所有節點的約束。
            [0105]目標310是條目的列表,每個列表包含作為類型合格的路徑的子代的計算的目標。對于目標310中的每個目標,存在計算列表315,因為目標可以是多個計算的主體。經受多個計算的目標可以創建關于哪一個計算應用于目標的沖突。此類沖突可以利用各種沖突解析技術處理。
            [0106]為了表達的方便起見,在目標310中的目標和計算315中的計算被稱為包括或包含在包含目標310和計算315的類型合格的路徑條目中。類似地,在類型合格的路徑條目中的任何目標、或規則,例如計算或約束,被稱為被包含或屬于類型合格的路徑。
            [0107]文檔規則收集
            [0108]圖4示出在每個結構化節點在文檔的深度優先遍歷期間被訪問時執行的操作。對于標量節點繞過操作。利用文檔ORDER和在圖3中描述的文檔規則收集數據結構示出操作。在例示中,文檔規則收集數據結構還未如描述的被填充。被訪問的具體節點被稱為當前節點。為了例示,輸入驗證狀態是ACCEPTED。[0109]參考圖4,遍歷的第一節點是結構化節點0RDER[US]。確定沒有用于類型合格的路徑/0RDER[US]的類型合格的路徑條目(405)。給定用于默認狀態和默認類型的規則是對于元素的所有實例是可操作的,用于元素ORDER的默認狀態和默認類型的聲明的規則被從元素的語料庫中檢索(410)。因為當前節點ORDER [US]的類型是US,因此用于元素ORDER的類型US的默認狀態的規則也被檢索(410)。因為節點ORDER被需要對默認類型的ACCEPTED狀態驗證,所以用于ACCEPTED狀態的規則也被檢索。作為約束的檢索的規則然后被存儲在狀態/約束325中(415)。
            [0110]對于作為計算的檢索的每個規則,計算的目標被作為目標列表條目增加到目標310并且計算與目標列表條目有關地被增加到計算315 (420)。例如,ORDER聲明計算T0T=AMT-DISCo此計算TOT的目標被增加到目標310的條目。計算被作為條目增加到計算315,條目包括參考用于TOT的目標列表條目的指針或其它類型。
            [0111]接下來,范圍縮小到當 前節點的計算被檢索并且增加到目標310和計算315(425 )。對于ORDER [US],作為在深度優先遍歷中訪問的第一節點,在所有范圍縮小的計算330中沒有條目。同樣,在所有范圍縮小的約束335中沒有范圍縮小的約束以被增加到范圍縮小的約束320 (430)。
            [0112]接下來,在元素ORDER中聲明的范圍縮小的計算被存儲在所有范圍縮小的計算330中(435)。例如,范圍縮小的計算T0T=AMT_DISC =DOffNSCOP I NG^ LI NE ITEM”被作為條目增加到所有范圍縮小的計算330。由于深度優先遍歷被可解析為/ORDER [US]的ORDER [US]的絕對合格的路徑節點也被記錄在條目中。此類信息用于確定當隨后訪問的節點的絕對合格的路徑可以被解析時,范圍縮小的計算是否在隨后訪問的節點之內可操作。在此路徑、已經記錄的0RDER[US]的絕對合格的路徑、與范圍縮小的規則的范圍縮小子句的相對路徑表達式之間,可以確定規則是否已被范圍縮小到隨后訪問的節點。
            [0113]最后,由元素ORDER聲明的范圍縮小的約束被存儲在所有范圍縮小的約束335的條目中(440)。絕對合格的路徑節點/ORDER[US]也被記錄在條目中。
            [0114]被遍歷和訪問的下一個節點是LINE ITEM節點。確定沒有用于類型合格的路徑/ORDER [US]/LINE ITEM的類型合格的路徑條目(405),并且因此創建條目。用于元素LINEITEM的默認狀態和默認類型聲明的規則然后被從元素的語料庫中檢索(410)。在這些檢索的規則當中,約束被存儲在狀態/約束325中(415),并且計算和相應的目標被分別存儲在計算315和目標310中(420)。
            [0115]接下來,可操作的范圍縮小的計算被檢索并且增加到目標310和計算315(430)。所有范圍縮小的計算330包含為0RDER[US]增加的條目,其記錄范圍縮小規則T0T=AMT-DISC:D0ffNSC0PING= iiLINE ITEM”和對應的合格的路徑,/ORDER US]。給定范圍縮小相對路徑表達式是LINE ITEM,其相對于記錄在條目中的合格的路徑/ORDER[US],匹配當前節點的合格的路徑/ORDER[US]/LINE ITEM,范圍縮小的計算已被范圍縮小到當前節點LINE ITEM。范圍縮小的計算和相應的目標被分別增加到計算315和目標310。
            [0116]LINEITEM-T0T、AMT、DISC、PRICE、和QTY的所有子節點是標量節點。因此,不需要為這些節點收集規則。
            [0117]當節點LINE ITEM [DIGITAL]被訪問時,確定沒有用于類型合格的路徑/ORDER [US]/LINE ITEM[DIGITAL]的類型合格的路徑條目(405),并且因此創建條目。用于元素LINE ITEM的默認狀態和默認類型和用于類型DIGITAL的默認狀態的聲明的規則然后被從元素的語料庫中檢索(410)。在這些檢索的規則當中,約束被存儲在狀態/約束325中(415),并且計算和相應的目標被分別存儲在計算315和目標310中。
            [0118]所有范圍縮小的計算330包含為0RDER[US]增加的條目,其記錄范圍縮小規則TOT=AMT-DISC:DOffNSCOPING= “LINE ITEM”和對應的合格的路徑,/0RDER[US]。在實施例中,當確定規則是否已被范圍縮小到當前節點時,合格路徑中的類型被忽略,即匹配實際上被基于不合格的路徑確定。給定范圍縮小相對路徑表達式是LINE ITEM,其相對于記錄在條目中的合格的路徑/0RDER[US]并且忽略類型,匹配當前節點的合格路徑/ORDER[US]/LINEITEM[DIGITAL],范圍縮小的計算已被范圍縮小到當前節點LINE ITEM[DIGITAL]。范圍縮小的計算和相應的目標被分別增加到計算315和目標310。
            [0119]在實施例中,當確定規則是否已被范圍縮小到當前節點時考慮當前節點的合格路徑的類型。在這種情況下,范圍縮小路徑表達式LINE ITEM不匹配當前節點的合格路徑/ORDER[US]/LINE ITEM[DIGITAL]。
            [0120]當第二 LINE ITEM節點被訪問時,確定存在用于類型合格的路徑/ORDER[US] /LINEITEM的類型合格的路徑條目(405)。用于節點的文檔規則收集已經被完成。
            [0121]當SENDING節點被訪問時,確定沒有用于類型合格的路徑/ORDER[US]/SENDING的類型合格的路徑條目(405),并且因此創建條目。為元素SENDING的默認狀態和默認類型聲明的規則然后被從元素的語料庫中檢索(410)。約束被存儲在狀態/約束325中(415),并且計算和相應的目標被分別存儲在計算315和目標310中(420)。因為父節點ORDER被針對ACCEPTED狀態驗證,使得規則SENDING IN STATE OF COMPLETE、節點SENDING服從的ORDER的可操作的規則,用于元素SENDING的狀態COMPLETE的規則被檢索并且存儲。因此,規則 ADDR IN STATE OF COMPLETE 和 NAME IS NON-NULL 被存儲在狀態 / 約束 325 中。
            [0122]當父節點SENDING的子節點ADDR被訪問時,確定沒有用于類型合格的路徑/ORDER [US] //SENDING/ADDR的類型合格的路徑條目(405),并且因此創建條目。用于元素ADDR的默認類型的默認狀態的聲明的規則然后被從元素的語料庫中檢索(410)。約束被存儲在狀態/約束325中(415),并且計算和相應的目標被分別存儲在計算315和目標310中(420)。因為父節點SENDING被針對它的COMPLETE狀態驗證,使得規則ADDR IN STATE OFCOMPLETE、應用于子節點ADDR的可操作的SENDING規則,用于元素ADDR的狀態COMPLETE的規則被檢索并且存儲。因此,規則STREET IS NON-NULL、NAME IS NON-NULL、和POSTALCODE IS NON-NULL被存儲在狀態/約束325中。
            [0123]調度計算
            [0124]文檔的驗證包括在文檔規則收集期間收集的計算的調度。調度用于文檔的計算包括(I)定義其中適當地執行計算的序列,和(2)檢測將使得不可能確定適當的執行序列的任何情況。圖5概括根據本發明的實施例的用于實現這些目標的技術。
            [0125]參考圖5,用于文檔中的目標的計算被收集(510)。在實施例中,計算可以利用如上所述的文檔規則收集技術被收集,雖然實施例不局限于以這種方式收集規則。計算表達式被解析以提取操作數(515)。
            [0126]計算可以取決于另一個計算的結果。建立依賴關系圖以反映收集的計算之間的此類依賴性(520)。利用依賴關系圖(525)執行循環檢測。至少一個循環的檢測指示錯誤。[0127]最后,計算被分成調度階段,按從早到晚調度階段排序。執行劃分以使得沒有從屬的計算屬于相同的或比該從屬的計算所依賴的計算更早的調度階段,如將進一步詳細解釋的。
            [0128]提取依賴性并建立依賴關系圖
            [0129]為了建立依賴關系圖,在文檔規則收集結構中收集的計算表達式的每一個被解析以確定操作數。操作數和目標是按它們各自的類型合格路徑完全合格的。生成“目標節點”以用于計算的每個目標,并且因此目標節點不僅表示目標而且表示計算。對于具有向另一個目標解析的計算表達式操作數的每個特定目標,從特定目標的節點到該另一個目標的節點建立有向弧。結果,對于列在計算315上的每個從屬的計算,存在從從屬計算的相應目標節點到從屬計算依賴的計算的相應目標節點的弧。
            [0130]為了示出,圖6示出用于在為0RDER[US]執行的文檔規則收集期間收集的計算的依賴關系圖。
            [0131 ] 參考圖6,依賴關系圖601是包括目標節點的有向圖。每個目標節點被注釋有它的目標、類型合格的路徑、和計算。圖6中的目標節點這里被稱為利用目標節點和目標名稱的類型合格的路徑。因此,/0RDER[US]的TOT是指在依賴關系圖601的甚頂部處的節點。
            [0132]通過在文檔規則收集期間檢查并分析文檔規則收集數據結構301中收集的規則來生成依賴關系圖601。類型合格的路徑條目/0RDER[US]包含計算TOT=AMT - DISC、AMT=SUM(“LINE ITEM/AMT”)、DISC=SUM(“LINE ITEM/DISC”)、其目標分別是 T0T、AMT、DISC。ORDER [US]的目標節點TOT按類型合格的路徑/0RDER[US]合格并且表示目標Τ0Τ。類似地,0RDER[US]的目標節點AMT按/ORDER[US]合格,并且表示計算AMT=SUM (“LINE ITEM/AMT”)的目標,并且0RDER[US]的DISC按/ORDER[US]合格并且表示計算DISC=SUM (“LINEITEM/DISC”)的目標。
            [0133]注意存在由元素LINE ITEM聲明的相同計算和目標的兩個實例。這是讓相同元素LINE ITEM按類型合格的路徑305中的單獨的類型合格的路徑/0RDER[US]/LINE ITEM和/ORDER [US]/LINE ITEM[DIGITAL]合格的結果。/ORDER [US]/LINE ITEM 的目標節點 AMT 表示計算 AMT=PRICE*QTY 的目標并且 /ORDER [US]/LINE ITEM [DIGITAL]的目標節點 AMT 表示計算AMT=PRICE*QTY的目標。類似地,/ORDER[US]/LINE ITEM的目標節點TOT表示計算T0T=AMT_DISC的目標并且/ORDER [US] /LINE ITEM [DIGITAL]的目標節點TOT表示計算TOT=AMT - DISC 的目標。
            [0134]從第一目標節點指向第二目標節點的弧表示第一目標節點的計算依賴于第二目標節點的計算。例如,存在從/0RDER[US]的AMT到/ORDER[US]/LINE ITEM的AMT的有向弧,表示計算 AMT=SUM (“LINE ITEM/AMT”)依賴于計算 AMT=PRICE*QTY。
            [0135]確定計算之間的依賴性勢必解析類型合格的路徑305中的計算以提取操作數并且確定每個操作數是否是另一個計算的目標。在對類型合格的路徑解析操作數和目標的文檔分層上下文之后做出此確定。
            [0136]例如,用于/0RDER[US]的類型合格的路徑條目包括用于計算SUM (“LINE ITEM/AMT”)的目標AMT并且用于/ORDER [US] /LINE ITEM的類型合格的路徑條目包括計算AMT=PRICE*QTY。在對相應的類型合格的路徑解析目標和操作數之后,確定在計算SUM(“LINE ITEM/AMT”)中的操作數/ORDER[US]/LINE ITEM/AMT 也是用于計算 AMT=PRICE*QTY的目標 /ORDER[US]/LINE ITEM/AMT。
            [0137]劃分成調度階段
            [0138]基于依賴關系圖601,計算被以依賴性一致,即從屬的計算處于比所依賴的計算更晚的階段的方式劃分成為調度階段。此劃分通過基于由圖表示的依賴性劃分依賴關系圖中的目標節點來實現。每個目標節點被用對目標節點確定的調度階段標記,從而建立用于目標節點的對應計算的調度階段。計算這里被稱為為計算建立的調度階段而被調度。
            [0139]圖6示出目標節點如何被劃分為調度階段。調度階段2是最近的階段以及調度階段O是最早的階段。/0RDER[US]的目標節點TOT用調度階段2標記;計算T0T=AMT_DISC為調度階段2而被調度。/ORDER[US]/LINE ITEM的目標節點AMT用階段I標記;計算AMT=PRICE*QTY (按類型合格的路徑條目/ORDER[US]/LINE ITEM)被較早為調度階段O調度。
            [0140]當在驗證期間執行計算時,可以相對于為相同調度階段調度的任何其它計算以任何次序執行計算。但是,在為較早調度階段調度的任何計算調度之后且在為較晚調度階段調度的任何計算之前進行計算。
            [0141]根據實施例,在維護依賴性一致性的盡可能最早階段中調度計算。因此,從屬的計算可以比從屬的計算所直接依賴的計算晚一個或多個階段被調度。例如,從屬的計算TOT=AMT - DISC (參見/ORDER[US]/的TOT)被調度為階段2,而它依賴的計算DISC=SUM(“LINE ITEM/DISC”)調度為階段 O。
            [0142]圖7示出用于確定目標節點的調度階段并利用調度階段標記目標節點的算法的偽代碼。在偽代碼中,術語計算是指諸如依賴關系圖601之類的依賴關系圖中的目標節點,因為每個目標節點邏輯上表示計算。在圖7中的行號給偽代碼的每個行編號。通過參考塊中第一行的行號說明偽代碼的行的塊的操作。
            [0143]函數scheduleO被調用(701)。每個計算的調度階段被初始化為_1 (701)。從依賴關系圖中的任何計算起,為每個計算調用遞歸函數scheduleRec(calc) (706)。函數scheduleRec (calc) (710)離開用為計算確定的調度階段標記的相應的計算,并且返回調度階段。
            [0144]當scheduleRec (calc)被針對計算(“當前計算”)調用時,如果當前目標節點已經用非負的調度階段標記(712),則返回調度階段。否則,如果當前計算在依賴關系圖中沒有子從屬,則當前計算用調度階段O標記(714)。
            [0145]否則,對于當前節點所依賴的每個計算(“依賴性”),scheduleRec (calc)被調用并且返回依賴性的調度階段(721)。如果當前計算的階段是在依賴性的階段之后的較小調度階段,則當前計算的階段被設置為隨后的調度階段(722)。
            [0146]硬件總覽
            [0147]在計算機系統上實施這里描述的技術和機制的要求保護的實施例,并且優選地在驗證龐大數目的復雜文檔的環境中使用。實際上,要求保護的實施例中計算機系統的使用是所需的。技術不應該被以可修正以被智力地或手動地執行的任何方式解釋。可以用來實施實施例的示例計算機系統包括在本節中描述的計算機系統和被配置為在XAP專利申請中描述的運行XAP應用程序的服務器。
            [0148]根據一個實施例,由一個或多個專用的計算設備實施這里描述的技術。專用的計算設備可以是執行技術的硬線,或可以包括諸如一個或多個專用集成電路(ASIC)或現場可編程門陣列(FPGA)之類的被永久編程以執行技術的數字電子設備,或可以包括被編程以按照固件、存儲器、其它存儲器、或組合中的程序指令執行技術的一個或多個通用硬件處理器。此類專用的計算設備也可以組合具有自定義程序以實現技術的自定義硬線邏輯、ASIC、或FPGA。專用的計算設備可以是桌上型計算機系統、便攜式計算機系統、手持設備、網絡設備或合并硬線和/或程序邏輯以執行技術的任何其它設備。
            [0149]例如,圖8是示出了可以實施本發明的實施例的計算機系統800的方框圖。計算機系統800包括總線802或用于通信信息的其它通信機制,和耦接到總線802的用于處理信息的硬件處理器804。硬件處理器804可以是例如通用的微處理器。
            [0150]計算機系統800也包括諸如隨機存取存儲器(RAM)或其它動態存儲器之類的耦接到總線802的用于存儲要由處理器804運行的信息和指令的主存儲器806。主存儲器806也可以用于在執行由處理器804運行的指令期間存儲臨時變量或其它中間信息。此類指令當存儲在處理器804可訪問的非瞬時存儲介質中時,將計算機系統800呈現為被定制以執行指令中指定的操作的專用機器。
            [0151]計算機系統800還包括耦接到總線802的用于存儲用于處理器604的靜態信息和指令的只讀存儲器(ROM) 808或其它靜態存儲器設備。諸如磁盤、光盤、或固態驅動之類的存儲設備810被提供并且耦接到總線802以存儲消息和指令。
            [0152]計算機系統800可以經由總線802被連接到諸如陰極射線管(CRT)之類的用于向計算機用戶顯示信息的顯示器812。包括字母數字和其它鍵的輸入設備814被耦接到總線802以向處理器804通信信息和命令選擇。用戶輸入設備的另一個類型是光標控制816,諸如鼠標、跟蹤球、或用于向處理器804通信方向信息和命令選擇并用于控制光標在顯示器上移動的光標方向鍵。此輸入設備通常具有分成兩軸的兩個自由度,第一軸(例如,X)和第二軸(例如,y),其允許設備指定平面中的位置。
            [0153]計算機系統800可以利用與計算機系統結合使得或編程計算機系統800成為專用機器的定制的硬線邏輯、一個或多個ASIC或FPGA、固件和/或程序邏輯執行這里描述的技術。根據一個實施例,由計算機系統800響應于處理器804運行包含在主存儲器806中的一個或多個指令的一個或多個序列執行這里的技術。此類指令可以從諸如存儲設備810之類的另一個存儲介質被讀入到主存儲器806。包含在主存儲器806中的指令序列的運行使得處理器804執行這里描述的處理步驟。在可替換實施例中,硬線電路可以被代替使用或與軟件指令結合。
            [0154]這里使用的術語“存儲介質”是指存儲使得機器以具體的方式操作的數據和/或指令的任何非瞬時介質。此類存儲介質可以包括非易失性介質和/或易失性介質。非易失性介質包括例如諸如存儲設備810之類的光盤或磁盤。易失性介質包括動態存儲器,諸如主存儲器806。存儲介質的常見形式包括例如,軟盤、軟磁盤、硬盤、固態驅動器、磁帶、或任何其它磁數據存儲介質、CD-ROM、任何其它光數據存儲器介質、具有孔模式的任何物理介質、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存儲器芯片或盒。
            [0155]存儲介質與傳輸介質不同但是可以被結合傳輸介質使用。傳輸介質參與在存儲介質之間傳輸信息。例如,傳輸介質包括同軸電纜、銅線和光纖,包括包含總線802的線路。傳輸介質也可以采取聲波或光波的形式,諸如那些在放射波和紅外數據通信期間生成的。[0156]介質的各種形式可以被包含在向用于運行的處理器804傳送一個或多個指令的一個或多個序列中。例如,指令可以最初被攜帶在遠程計算機的磁盤或固態驅動器上。遠程計算機可以加載指令到它的動態存儲器中并將指令通過電話線利用調制解調器發送。計算機系統800本地的調制解調器可以在電話線上接收數據并且使用紅外發送器將數據轉換到紅外線信號。紅外檢測器可以接收在紅外線信號中攜帶的數據并且適當的電路可以在總線802上放置數據。總線802將數據攜帶到處理器804從其檢索并運行指令的主存儲器806。由主存儲器806接收到的指令可以在由處理器804運行之前和之后可選地被存儲在存儲設備810上。
            [0157]計算機系統800也包括耦接到總線802的通信接口 818。通信接口 818提供耦接到被連接到本地網絡822的網絡鏈路820的雙向數據通信。例如,通信接口 818可以是綜合服務數字網(ISDN)卡、電纜調制解調器、衛星調制解調器、或提供數據通信連接到對應類型的電話線的調制解調器。如另一個示例,通信接口 818可以是向兼容的LAN提供數據通信連接的局域網(LAN)卡。也可以執行無線鏈路。在任何此類實施方式中,通信接口 818發送并接收傳送表示各種類型信息的數字數據流的電、電磁或光信號。
            [0158]網絡鏈路820通常經由一個或多個網絡向其它數據設備提供數據通信。例如,網絡鏈路820可以經由本地網絡822向主機824或由互聯網服務供應商(ISP) 826操作的數據裝置提供連接。ISP826隨后經由現在普通被稱為“互聯網”828的全球數據包數據通信網絡提供數據通信業務。本地網絡822和互聯網828兩者都使用傳送數字數據流的電、電磁或光信號。往返于計算機系統800傳送數字數據的、經由各種網絡的信號和網絡鏈路820上并經由通信接口 818的信號是傳輸介質的示例形式。
            [0159]計算機系統800可以經由網絡、網絡鏈路820和通信接口 818發送消息并接收包括程序代碼的數據。在互聯網示例中,服務器830可以經由互聯網828、ISP826、本地網絡822和通信接口 818發送用于應用程序的請求的代碼。
            [0160]接收到的代碼可以被處理器804按照接收的運行,和/或被存儲在存儲設備810或其它非易失性存儲器中用于稍后運行。
            [0161]在上述說明書中,已經參考可以在各實施方式之間不同的許多細節描述了本發明的實施例。因此,說明書和附圖應當被認為是說明性的,而不是限制的意義上的。本發明范圍的唯一并專用的指示、和由 申請人:指定的本發明范圍的內容是由本申請發出的權利要求書的、以此類權利要求書發出的特定形式的、文字和等效范圍,包括任何隨后校正。
            【權利要求】
            1.一種方法,包括: 確定文檔內的節點的路徑,其中每個節點是元素語料庫的元素的實例,每個元素定義一組規則,該組規則包括以下中的至少一個: 約束所述元素的后代元素的一個或多個約束, 用于所述元素的目標后代元素的一個或多個計算, 其中每個路徑標識所述文檔內的所述節點中的一個或多個節點的子集; 對于所述路徑中的每個路徑,與所述每個路徑相關聯地收集并存儲對于相應的一個或多個節點是其實例的元素聲明的規則;以及 基于對于所述路徑中的每個路徑收集的規則驗證文檔。
            2.如權利要求1所述的方法,其中: 所述元素語料庫的每個元素是所述元素的類型;并且 所述路徑中的每個路徑按路徑中的每個元素的相應類型合格。
            3.如權利要求1所述的方法,其中: 所述元素語料庫的每個元素是所述元素的類型,其中每個類型具有一個或多個狀態,其中對于每個元素定義的該組規則對于所述一個或多個狀態的一個狀態被定義; 其中所述路徑中的每個路徑按路徑中每個元素的相應類型合格。
            4.如權利要求1所述的`方法, 其中所述節點包括前代節點和作為前代節點的后代的后代節點; 其中前代節點是第一元素的實例并且與第一路徑相關聯,其中后代節點與第二路徑相關聯; 其中第一元素定義范圍縮小的規則;并且 其中與所述每個路徑相關聯地收集并存儲對于所述路徑的相應元素定義的規則包括與所述后代節點的所述第二路徑相關聯地收集并存儲所述范圍縮小的規則。
            5.如權利要求1所述的方法, 其中對于路徑收集并存儲的所述規則包括計算; 其中所述步驟還包括: 基于計算之間的依賴性,將計算分成從早到晚排序的多個階段,所述多個階段的每個階段包含所述計算中的一個或多個的子集;以及 其中對于所述多個階段的每個階段,所述階段的每個計算不依賴于相同階段或較晚階段中的計算。
            6.一種方法,包括: 遍歷并訪問文檔內的節點,其中每個節點是元素語料庫的元素的實例,每個元素定義一組規則,該組規則包括以下中的至少一個: 約束所述元素的后代元素的一個或多個約束, 用于所述元素的目標后代元素的一個或多個計算, 其中訪問所述節點中的每個節點包括: 確定是否存在用于路徑列表中的所述每個節點的路徑的條目; 響應于確定不存在用于所述每個節點的路徑的條目, 檢索對于所述節點是其實例的相應元素定義的一個或多個規則;與所述路徑相關聯地將條目增加到路徑列表中; 將檢索的所述一個或多個規則增加到條目中;以及 基于所述路徑列表中的規則驗證文檔。
            7.如權利要求6所述的方法,其中訪問所述每個節點包括:響應于確定不存在用于所述每個節點的路徑的條目,將由所述相應元素定義的范圍縮小的規則增加到用于范圍縮小的規則的列表。
            8.如權利要求6所述的方法,其中訪問所述每個節點包括:響應于確定不存在用于所述每個節點的路徑的條目: 確定用于范圍縮小的規則的列表包括應用于所述路徑的范圍縮小的規則;以及 將所述范圍縮小的規則增加到所述條目中。
            9.如權利要求6所述的方法,其中: 所述元素語料庫的每個元素是所述元素的類型;并且 所述路徑中的每個路徑按路徑中每個元素的相應類型合格。
            10.如權利要求6所述的方法,其中: 所述元素語料庫的每個元素是所述元素的類型,其中每個類型具有一個或多個狀態,其中對于每個元素定義的該組規則對于所述一個或多個狀態的一個狀態被定義; 其中所述路徑中的每個路徑按路徑中每個元素的相應類型合格。
            11.一種方法,包括: 執行一組規則以確定文檔是否有效; 其中該組規則包括計算,所述計算基于所述計算之間的依賴性被分成多個階段,所述依賴性基于所述文檔中的節點的路徑; 根據所述階段執行計算; 在執行計算之后,執行該組規則中的其它規則,其中執行該組規則中的其它規則包括,對于所述文檔中的多個節點的每個節點,基于所述每個節點的路徑,執行與所述每個節點相關聯的所述其它規則的子集; 基于執行規則以確定文檔是否有效,來生成指示所述文檔是否有效的數據。
            12.如權利要求11所述的方法,其中該組規則由元素語料庫定義,其中所述文檔包含作為元素語料庫的元素的 實例的節點。
            【文檔編號】G06F17/27GK103874995SQ201280050633
            【公開日】2014年6月18日 申請日期:2012年8月27日 優先權日:2011年8月30日
            【發明者】A·D·比拉斯, 拉維·穆爾蒂, M·塞亞迪安 申請人:甲骨文國際公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品