專利名稱:可擴(kuò)展標(biāo)記語言集中器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及如何將純文本、超文本、PDF、Word、RTF、Excel、PowerPoint、程序代碼、FrameMaker、Latex等非結(jié)構(gòu)化文件和諸如WML等結(jié)構(gòu)化文件統(tǒng)一轉(zhuǎn)換成一種易操作的、具有語義功能的可擴(kuò)展標(biāo)記語言的裝置和實(shí)現(xiàn)方法。
背景技術(shù):
擴(kuò)展的標(biāo)記語言(Extensible Markup Language,縮寫為XML)是SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語言)的一個(gè)子集,是簡化的SGML。它是互聯(lián)網(wǎng)聯(lián)合組織(W3C)創(chuàng)建一組規(guī)范,以便于軟件開發(fā)人員和內(nèi)容創(chuàng)作者在網(wǎng)頁上組織信息,其目的不僅在于滿足不斷增長的網(wǎng)絡(luò)應(yīng)用需求,而且也在于確保在通過網(wǎng)絡(luò)進(jìn)行交互合作時(shí),具有良好的可靠性與互操作性。由于XML可以自定義文件類型,有利于信息的表達(dá)和結(jié)構(gòu)化組織,且可以以一致的方式格式化和傳送數(shù)據(jù),大大降低了數(shù)據(jù)管理和交換的成本。XML的強(qiáng)大之處就在于它具有一套統(tǒng)一的數(shù)據(jù)格式,這種統(tǒng)一的數(shù)據(jù)格式可以使數(shù)據(jù)管理和交換的成本更低,也更易于管理。結(jié)構(gòu)化信息的一個(gè)主要的用處就是允許不同格式的數(shù)據(jù)可以相互交換。不同的行業(yè)往往創(chuàng)建不同的規(guī)則來確定本行業(yè)內(nèi)交換信息所需的內(nèi)容模型。一旦這個(gè)內(nèi)容模型被確定,整個(gè)行業(yè)就需要都使用這個(gè)內(nèi)容模型來標(biāo)記信息以保證行業(yè)內(nèi)彼此能容易且有效地共享信息。因此,XML在電子商務(wù)、信息服務(wù)、通訊等領(lǐng)域有著廣泛應(yīng)用。尤其是隨著第三代移動通信標(biāo)準(zhǔn)的逐步統(tǒng)一,一種單一的適用于當(dāng)前和未來多種移動網(wǎng)絡(luò)的數(shù)據(jù)通信架構(gòu),迫切需要隨時(shí)隨地的在移動中訪問Internet的網(wǎng)絡(luò)服務(wù)。
本發(fā)明的目的是通過該方法和裝置來實(shí)現(xiàn)歸整各種數(shù)據(jù)格式信息,實(shí)現(xiàn)數(shù)據(jù)的無縫連接,提高文本內(nèi)容的重用性、便捷性。
本發(fā)明另一個(gè)目的是實(shí)現(xiàn)不同數(shù)據(jù)文件格式的相互轉(zhuǎn)換,達(dá)到一種數(shù)據(jù)瀏覽器或閱讀器能瀏覽和閱讀其它格式的數(shù)據(jù)文件。
本發(fā)明的再一個(gè)目的是通過有語義的可擴(kuò)展標(biāo)記語言來實(shí)現(xiàn)對數(shù)據(jù)文件內(nèi)容的智能機(jī)器理解。
本發(fā)明的再一個(gè)目的是通過有語義的可擴(kuò)展標(biāo)記語言來實(shí)現(xiàn)對數(shù)據(jù)文件內(nèi)容的有效地分布式控制。
本發(fā)明解決上述問題的技術(shù)方案如下1.可擴(kuò)展標(biāo)記語言集中器,簡稱為XML Hub,包括基于非結(jié)構(gòu)化的XML Hub和基于結(jié)構(gòu)化的XML Hub。
2.基于非結(jié)構(gòu)化XML Hub是將超文本、純文本、PDF、word、RTF,Excel,PowerPoint,Word、FrameMaker、Latex、程序代碼等非結(jié)構(gòu)化文檔轉(zhuǎn)換成一種統(tǒng)一的易操作的XML,記為processible XML,簡稱為pXML。在非結(jié)構(gòu)化文檔轉(zhuǎn)換成pXML時(shí)調(diào)用了文檔所對應(yīng)的解析器來讀取文件內(nèi)容。
3.基于結(jié)構(gòu)化數(shù)據(jù)的XML Hub是使用結(jié)構(gòu)化文件解析器讀取結(jié)構(gòu)化數(shù)據(jù)后,用XSLT將結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成pXML。基于結(jié)構(gòu)化數(shù)據(jù)的XML Hub還可使用XSLT或其它外部程序?qū)⑷鏒ocBook XML、Legal XML、VoiceXML、MathXML等其它格式的結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換成pXML。
4.在pXML中定義了元素XMLSTREAM、HEAD、DMETATAGS、DMETA、EMETATAGS、EMETA、DSTYLES、DSTYLE、DSTRUCTURE、BODY、SECTION、PAGE、PARAGRAPH、SPECIALTEXT、TEXT、IMAGE、LINK、FOOTNOTE、ENDNOTE、HEADER、FOOTER、ANCHOR、TAB、HR、MARKER、TABLE、TGROUP、TBODY、THEAD、TFOOT、ROW、CELL、COLUMN、COLUMN-DEF、LIST、LI、LABEL、BLOCKQUOTE、PRE、BREAK、FRAME、SVG、FIELD、INDEXITEM。
pXML中元素的屬性有Style、css-style、number、font、font-size、font-fixed、origfont、emphasis、emphasis-bold、emphasis-italic、emphasis-underline,emphasis-superscript、emphasis-subscript、x、y、height、width、top、left、align、valign、leftindent、rightindent、spacebefore、spaceafter、textindent、border-left、border-right、border-top、border-bottom、top-padding、Left-padding、right-padding、bottom-padding、rowspan、colspan、width-type、height-type。這些屬性可用到多個(gè)元素中。
5.pXML的元素定義如下1)XMLSTREAM元素是pXML的頂層,能有HEAD,BODY元素作為其子元素,沒有屬性定義。
2)HEAD元素描述文件的頭信息,XMLSTREAM可作為其上層,其子元素有DMETATAGS、EMETATAGS和DSTRUCTURE,沒有屬性。
3)元素DMETATAGS用于描述meta標(biāo)記和源文檔屬性,HEAD為其父元素、META為其子元素。在超文本中,Meta出現(xiàn)在超文本的HEAD元素中。在word文檔中,DMETATAGS描述文檔的建立、設(shè)置域等如一個(gè)Miscrosoft word文檔的DMETATAGS描述如下<pre listing-type="program-listing"><![CDATA[ ?。糄METATAGS><META name=″Title″value=″Transforming existing content into″pXML″″/> <META name=″Subject″/> ?。糓ETA name=″Author″value=″Rizwan Virk″/> <META name=″Application name″value=″Microsoft Word 9.0″/> ?。糓ETA name=″Last print date″value=″1/28/2002 9:48:00AM″/>]]></pre><pre listing-type="program-listing"><![CDATA[ <META name=″Creation date″value=″10/15/2002 11:41:00AM″/> ?。糓ETA name=″Last save time″value=″10/15/2002 2:13:00PM″/> ?。糓ETA name=″Total editing time″value=″3″/> ?。糓ETA name=″Number of pages″value=″2″/> <META name=″Number of words″value=″3392″/> <META name=″Number of characters″value=″17586″/> ?。糓ETA name=″Security″value=″0″/> ?。糓ETA name=″Category″/> ?。糓ETA name=″Format″/> …</DMETATAGS>]]></pre>4)META元素描述文檔的個(gè)性屬性,DMETATAGS作為其父元素,沒有子元素,有META名稱和值。
5)EMETATAGS用于描述在源文件生成pXML過程中的環(huán)境屬性,HEAD作為其父元素,子元素為EMETA。如<EMETATAGS>
<EMETA name=″STDSourceFileName″value=″articlemeaningfulxml.doc″/>
<EMETA name=″STDSourceFileDirectory″value=″C:\WordSamples″/>
<EMETA name=″STDPreprocessor″value=″WordDriver″/>
<EMETA name=″STDSourceFileType″value=″doc″/>
<EMETA name=″STDPreprocessorOptions″value=″includeLists=true|includeTables=true|includeFormattedText=true|docPacketFile=C:\\ExecutionResults\xml.doc.EXEC.xml|dotFile=c:\drivers″/>
</EMETATAGS>
6)EMETA元素用于描述從源文件轉(zhuǎn)換成pXML過程中的環(huán)境參數(shù),父元素為EMETATAGS,沒有子元素,有EMETA名稱和值。
7)DSTYLES元素描述源文檔的格式屬性。對于word文檔,DSTYLES用于描述文檔中的有效格式,有HEAD父元素和STYLE子元素。對于超文本而言,DSTYLES是指格式函數(shù)或者css文件。
8)STYLE元素描述源文檔中的格式,有DSTYLES父元素,屬性有name,font,font-size,font-.xed,align,valign,leftindent,rightindent,linespacing,spacebefore,spaceafter,emphasis,emphasis-bold,emphasis-italic,emphasis-underline,emphasis-superscript,emphasis-subscript。
9)DSTRUCTURE元素僅用于描述PDF中的bookmarks,有HEAD父元素和OUTLINE子元素。
10)BODY用于描述文檔的主體,有XMLSTREAM父元素和任何塊元素,如SECTION,PAGE和BLOCK。
11)SECTION元素用于描述word文檔的分區(qū),有BODY父元素和任意塊元素,屬性有number,orientation,height,width,margin-left,margin-top,margin-right,margin-bottom,section-type,columns。
12)PAGE元素描述分頁源文件中的單頁,如pdf文件。有BODY父元素和任意塊元素作為其子元素,包括PARAGRAPH,IMAGE,TABLE,LIST,BLOCKQUOTE,PRE,ANCHOR,BREAK,F(xiàn)RAME。PAGE元素具有number,height,width,margin-left,margin-top,margin-right,margin-bottom等屬性。
13)PARAGRAPH元素用于描述文檔中的文本,一般而言,所有的文本都?xì)w屬于PARAGRAPH元素。PARAGRAPH元素有BODY,CELL,LI,BLOCKQUOTE,SECTION,PAGE等父元素,有如#PCDATA,SPECIALTEXT,LINK,ANCHOR,IMAGE,TEXT,F(xiàn)IELD等內(nèi)嵌元素,屬性有font-related,paragraph-related,emphasis-related,number,Style,x,y,height,width。
14)SPECIALTEXT元素用于描述在PARAGRAPH元素中的不同于PARAGRAPH元素的文本,有PARAGRAPH父元素,有如#PCDATA,SPECIALTEXT,LINK,ANCHOR,IMAGE,TEXT,F(xiàn)IELD等內(nèi)嵌元素及fontrelated,emphasis-related,number,Style,x,y,height,width等屬性。
15)TEXT元素用于處理在PARAGRAPH中與PARAGRAPH元素相同格式的文本,僅用于PDF的解析器中的每個(gè)文本處理時(shí)需要各自的坐標(biāo)和維度的情況。有PARAGRAPH父元素,有如#PCDATA,SPECIALTEXT,LINK,ANCHOR,IMAGE,TEXT,F(xiàn)IELD等內(nèi)嵌元素及font related,emphasis-related,number,Style,x,y,height,width等屬性。不能出現(xiàn)在塊層但能出現(xiàn)在內(nèi)嵌層。
16)IMAGE元素用于描述源文檔中的圖像。在word解析器和HTML解析器中,圖像放在pXML文件的命名為xxxxx.xx_Images子目錄中,xxxxx.xx為pXML文件名。IMAGE元素可在塊層和內(nèi)嵌層,有BODT,PAGE,CELL,LI,BLOCKQUOTE,PRE,PARAGRAPH等父元素和如下屬性a)href=文件名,常為圖像文件的相對路經(jīng);b)format=文件格式。對于word解析器,位圖類型有BMP、JPEG、GIF。
c)width和height為圖像的寬和高。
d)x和y為圖像在一頁中的位置,主要是針對pdf文檔而言。
e)number為該圖像相對其它圖像或段落的位置。
f)alt為在超文本中的圖像描述文本。
17)LINK元素描述連接,常出現(xiàn)在PARAGRAPH中,且有文本描述。LINK元素有PARAGRAPH,SPECIALTEXT等父元素和#PCDATA,SPECIALTEXT子元素,有href和alt屬性,可出現(xiàn)在內(nèi)嵌層。
18)FOOTNOTE和ENDNOTE元素描述文檔的腳注,可出現(xiàn)在文檔的末尾或PARAGRAPH元素中。有BODY,PARAGRAPH父元素,所有的塊層的元素度可作為其子元素,有ref,reftype,label等屬性。
19)HEADER and FOOTER元素描述文檔的頁眉和頁腳,可出現(xiàn)在文檔的末尾或PARAGRAPH元素中。有BODY父元素,所有的塊層的元素度可作為其子元素。有如下屬性a)number描述HEADER或FOOTER元素所在的分區(qū)編碼;b)headerType用于描述HEADER或FOOTER元素是首頁、最后頁、奇偶數(shù)等。
20)ANCHOR元素描述一個(gè)文檔能訪問到的地址,等價(jià)于超文本中的<A>,可在PARAGRAPH元素內(nèi)部或外部,類似于MARKER元素。有BODY,PAGE,CELL,LI,BLOCKQUOTE,PRE,PARAGRAPH,SPECIALTEXT等父元素,有name和number屬性,其中number屬性描述ANCHOR元素的相對位置。ANCHOR元素可出現(xiàn)在塊層和內(nèi)嵌層中。
21)TAB元素用于描述文檔中的TAB符,所有的內(nèi)嵌層元素都可作為其父元素,可出現(xiàn)在內(nèi)嵌層。
22)HR元素僅用于描述超文本文檔所有的內(nèi)嵌層元素都可作為其父元素,可出現(xiàn)在塊層。
23)MARKER元素是一個(gè)文件中的終止符,其父元素有塊容器和PARAGRAPH,屬性有id,number等,可出現(xiàn)在塊層和內(nèi)嵌層中。
24)TABLE元素描述源文檔中的一個(gè)表,其父元素有BODY,PAGE,SECTIONCELL,LI,BLOCKQUOTE,PRE,其子元素有TGROUP,COLUMN,ROW,屬性有number來描述它出現(xiàn)的位置,可出現(xiàn)在塊層中。
25)TGROUP,TBODY,THEAD,TFOOT元素用于描述源文檔中的表,屬性有用于描述TGROUP中的欄數(shù)的cols,可出現(xiàn)在塊層中。
26)ROW元素是TABLE元素的子元素,用于描述表中的單一行,CELL為其子元素,有rowtype、Style和number屬性,其中,若rowtype為header則為頭行,若為data則為普通行;Style為該行的格式;number為該行在整個(gè)文檔中的位置。
27)CELL元素是ROW元素的子元素,用于描述表中的一格,子元素有PARAGRAPH,LIST,TABLE,LIST,BLOCKQUOTE,PRE,IMAGE,ANCHOR等。CELL元素有celltype、Style、number等屬性,其中,celltype=header,則該行為表的頭行,若celltype=data則該行為表的普通行;Style描述該表格的格式;number描述該表格在整個(gè)文檔的位置。
28)COLUMN元素TABLE元素的子元素,用于描述表中的單一列。對于Word,MIF等文檔,指定column的寬度和映射到CALs表較容易;對于PDF文檔時(shí),當(dāng)指定一個(gè)pagedef時(shí),COLUMN元素是指在一頁中的某個(gè)區(qū)域。有符TABLE,TGROUP等父元素沒有子元素,有column-id及width屬性。其中,column-id是指其在表中的列的序號;width描述該列的寬度。
29)COLUMN-DEF元素用于描述列,有TABLE父元素和COLUMN子元素,有描述列數(shù)的cols屬性。
30)LIST元素用于描述文檔中的一個(gè)列表。在pXML中分OL、UL和DL,其中,OL表示排序列表;UL表示無序的、浮動的列表;DL表示無序的、不浮動的數(shù)據(jù)列表。任何塊容器都可作為其父元素,其元素為LI,有type、Style和Number屬性。其中,type為OL、UL、或DL;Number描述列表在文檔中的位置;Style描述列表的格式。另外,LIST元素可出現(xiàn)在塊層中。
31)LI元素是LIST子元素,描述列表項(xiàng),有PARAGRAPH,LIST,TABLE,LI,BLOCKQUOTE,PRE,IMAGE,ANCHOR等子元素,且有l(wèi)evel、number、Style、type等屬性。其中,level值代表該列表內(nèi)嵌的層級;number表示列表項(xiàng)在列表中的位置;Style表示列表項(xiàng)的格式、type常為空,若列表類型為DL,則其為DT或DL,表示其是否為頭或數(shù)據(jù)項(xiàng)。
32)LABEL元素是針對word文檔而定義的,作為LI元素的子元素,有PARAGRAPH和LI父元素,其子元素有#PCDATA。
33)BLOCKQUOTE元素描述一個(gè)內(nèi)嵌文本,塊容器可作為其父元素、塊級元素可作為其子元素,有number屬性來描述其中文檔中的相對位置,可出現(xiàn)在塊層。
34)PRE元素是用于將其包起來的文字排版、格式,原封不動的呈現(xiàn)出來,塊容器可作為其父元素,塊層元素可作為其子元素,有描述其在文檔中的相對位置的number屬性,并可出現(xiàn)在塊層。
35)BREAK元素描述源文檔中的分隔符,塊容器和內(nèi)嵌容器均可作為其父元素,無子元素,有type和number屬性,且可出現(xiàn)在塊層和內(nèi)嵌層。其中,type屬性用于描述其類型,如頁分隔、列分隔、行分隔等;number屬性描述BREAK元素在文檔中的相對位置。
36)FRAME元素用于描述文檔中的文本幀,有BODY,SECTION,PAGE等父元素,所有的塊級元素都可作為其子元素,有x,y,top,left,height,width,number等屬性,且可出現(xiàn)在塊層級。
37)SVG元素用于描述外部的SVG文件,僅用于pdf文檔中,有PAGE父元素,無子元素,有src屬性,可出現(xiàn)在塊層上。其中,src為SVG的相對或絕對文件名。
38)FIELD元素用于描述嵌套在源文檔中的文本中的一個(gè)域,常用于word文檔中,有PARAGRAPH,TEXT,SPECIALTEXT等父元素和#PCDATA子元素,有用于描述域碼的code屬性,能用于內(nèi)嵌層。
39)INDEXITEM元素用于描述來自MIF文件中的索引項(xiàng),有PARAGRAPH,TEXT,SPECIALTEXT等父元素和inline子元素,有primary、secondary、tertiary等屬性。其中,primary為初始索引項(xiàng);secondary為次索引項(xiàng);tertiary為第三次索引項(xiàng),可用于內(nèi)嵌層。
6.pXML中的元素屬性可用于多個(gè)元素,有些屬性用于特定的元素,在這里將列出一些主要的元素屬性的定義。
1)Style屬性給PARAGRAPH或SPECIALTEXT的格式的一個(gè)名稱。在Word和Framemaker文檔中,Style屬性是指段落或字符集的格式;在超文本中,若源文本是在<H1>到<H7>標(biāo)簽中,則標(biāo)簽名附加在Style屬性,較容易找到使用的是那個(gè)頭。在超文本中,Style屬性也可能包括″classname″,即在<P class=myheading>中,Style屬性將被轉(zhuǎn)換成在pXML中的格式<PARAGRAPH Style=″myheading″>。對于如超文本而言,Style屬性可能有多個(gè)格式,在轉(zhuǎn)換成pXML時(shí)將其用逗號隔開。<PARAGRAPH>和<SPECIALTEXT>元素常有該屬性。
2)css-style屬性用于描述超文本源文件。若超文本的paragraph元素有style屬性包含有CSS屬性,在pXML中將逐字地包含在該元素中。若超文本是<p style=″font-size9;colorred;″,則在pXML中的cSS-Style屬性是<PARAGRAPH css-Style=″font-size9;colorred;″>。
3)number屬性是指一組從1開始的數(shù)值,用來描述當(dāng)前元素在文檔中的位置,以便于確定元素發(fā)生的先后順序。所有的BODY元素都具有number屬性。
4)font,font-size,font-fixed,origfont是用于描述與字體相關(guān)的屬性。其中,在word或pdf文檔中,font-size按點(diǎn)值指定,在超文本中是指一個(gè)從1到7的相對值,1對應(yīng)于H1,7對應(yīng)于H7。font-fixed是true或false,一般而言Courier集子體是固定子體寬度。有<PARAGRAPH>,<SPECIALTEXT>,<TEXT>,<STYLE>等元素具有以上屬性。
5)emphasis,emphasis-bold,emphasis-italic,emphasis-underline,emphasis-superscript,emphasis-subscript屬性用于修飾基本子體,常用于<PARAGRAPH>元素層或在PARAGRAPH中的<SPECIALTEXT>。這些屬性賦值為true或false。所有解析器都要求執(zhí)行emphasis,emphasis-bold,emphasis-italic,and emphasis-underline屬性。而superscript和subscript僅用于特定的解析器。有<PARAGRAPH>,<SPECIALTEXT>,<TEXT>,and<STYLE>等元素具有這些屬性。
6)x,y,height,width,top和left屬性常被解析器用在處理特定格式的文檔中,如pdf文檔。其中x和y坐標(biāo)是指基于頁的坐標(biāo),數(shù)字是點(diǎn)值或其它相對測定值,依賴于源內(nèi)容。在一些元素中,常用top和left而不是x和y。所有BODY的塊元素有x,y,height和width屬性。
7)align,valign,leftindent,rightindent,spacebefore,spaceafter和textindent屬性用于描述段落層的格式信息。其中,align為left,center,right,justify或blank;valign為top,middle,bottom或blank;leftindent為段落靠左縮進(jìn)的大??;rightindent為段落靠右縮進(jìn)的大??;linespacing為行間距,缺省值為1,即單行距;spacebefore為段前值;spaceafter為段后值;textindent為首行縮進(jìn)值。除了如SPECIALTEXT,LINK內(nèi)嵌元素外,其它元素都具有這些屬性。
8)border-left,border-right,border-top,border-bottom屬性表示偏左、偏右、偏上、偏下,它們可設(shè)為true或false來描述表對象,也可為數(shù)值表示邊界的長度。這些屬性也可有邊界顏色。有TABLE、CELL和ROW具有上屬性。
9)top-padding,left-padding,right-padding,bottom-padding屬性設(shè)為整數(shù)值,表示在表中格的填充顏色。TABLE和CELL有以上屬性。
10)rowspan和colspan屬性設(shè)為數(shù)值,表示表格的行跨度和列跨度,僅CELL有這些屬性。
11)width-type和height-type屬性僅用于從word文檔中生成的表格,可設(shè)為auto、percent、points、fixed等。
7.文檔解析器具有解析其所對應(yīng)文檔中的如下內(nèi)容轉(zhuǎn)換成pXML1)解析其所對應(yīng)文檔中的圖的功能。在文檔解析器中可選擇地將bitmap、矢量圖、WMF文件功能轉(zhuǎn)換成所需格式的圖像,并在pXML中用IMAGE來標(biāo)注。對于office文檔中的OLE對象,是將其視為WMF文件來處理。
2)解析所對應(yīng)文檔中的書簽、分隔符、域、頁眉、頁腳、片斷、腳注等功能,分別在pXML中用ANCHOR、BREAK、FIELD、HEADER、FOOTER、SECTION及PARAGRAPH中的Footnote格式來標(biāo)注。分隔符分為page、column、section等三種類型。
3)解析所對應(yīng)文檔中的文本格式信息,如字體、字體顏色、大小、黑體、斜體等,定義為PARAGRAPH元素中屬性。
4)解析文檔中的隱藏文本功能,在轉(zhuǎn)換后的pXML中用SPECIALTEXT把隱藏文本進(jìn)行標(biāo)記。
5)解析文本中的連接功能,并在pXML中l(wèi)ink標(biāo)注。
6)解析文檔中的列舉功能,并在pXML中列舉用LIST標(biāo)注、列舉中的條用LABEL標(biāo)注。
7)解析文檔中的表功能,采用,并在pXML中用TABLE、TGROUP、TBODY、THEAD及COLUMN等來標(biāo)注表。
8)解析如pdf、MIF、HTML、XML等文檔中的分層結(jié)構(gòu),在pXML中用FRAME來描述文檔中的分層結(jié)構(gòu)。在份層結(jié)構(gòu)中有以下主要元素用Layoutdefs,定義layoutdef的頭信息、用MarginDef定義一系列頁的邊界、用PageDef定義為某頁或一系列頁中的正方塊定義某種類型的塊等。
8.如Java、C++等程序文件解析器可解析程序文件中的類名、類路經(jīng)、類參數(shù)等文檔內(nèi)容。
9.通過調(diào)用外部程序來進(jìn)行文檔內(nèi)容的轉(zhuǎn)換,接口為-I{輸入},-O{輸出}。而在解析其它XML格式文檔或純文本文檔的過程中還可調(diào)用XSLT來解析文檔,生成pXML,調(diào)用格式包括XSLT文件名、XSLT參數(shù),例如XSLTArguments=[arg1=value1|arg2=value2|arg3=value3]。
10.XML Hub開放接口,通過動態(tài)加載未知格式文檔的解析器來實(shí)現(xiàn)對未知文檔的解析,生成pXML文檔。
圖1表示XML Hub的核心作用,實(shí)現(xiàn)文檔數(shù)據(jù)的無縫連接、轉(zhuǎn)換和發(fā)布。
圖2表示XML Hub的體系結(jié)構(gòu)。
圖3表示XML Hub工作流程。
圖4描述了XML Hub的工作環(huán)境和功能模塊。
具體實(shí)施例方式
XML的優(yōu)點(diǎn)就在于它具有一套統(tǒng)一的數(shù)據(jù)格式,這種統(tǒng)一的數(shù)據(jù)格式可以使數(shù)據(jù)管理和交換的成本更低,也更易于管理。結(jié)構(gòu)化信息的一個(gè)主要的用處就是允許不同格式的數(shù)據(jù)可以相互交換。不同的行業(yè)往往創(chuàng)建不同的規(guī)則來確定本行業(yè)內(nèi)交換信息所需的內(nèi)容模型。一旦這個(gè)內(nèi)容模型被確定,整個(gè)行業(yè)就需要都使用這個(gè)內(nèi)容模型來標(biāo)記信息以保證行業(yè)內(nèi)彼此能容易且有效地共享信息。因此,XML在電子商務(wù)、信息服務(wù)、通訊等領(lǐng)域有著廣泛應(yīng)用。尤其是隨著第三代移動通信標(biāo)準(zhǔn)的逐步統(tǒng)一,一種單一的適用于當(dāng)前和未來多種移動網(wǎng)絡(luò)的數(shù)據(jù)通信架構(gòu),迫切需要隨時(shí)隨地的在移動中訪問Internet的網(wǎng)絡(luò)服務(wù)。
圖1說明了XML Hub的核心作用,即實(shí)現(xiàn)文檔數(shù)據(jù)的無縫連接、轉(zhuǎn)換和發(fā)布功能。通過XML Hub來歸整各種文檔數(shù)據(jù)格式信息,實(shí)現(xiàn)文檔數(shù)據(jù)的無縫連接,提高文本內(nèi)容的重用性、便捷性。文檔數(shù)據(jù)歸整為用戶提供可在各種平臺上便捷地閱讀文檔內(nèi)容,而不需要在閱讀器上加載各種格式的數(shù)據(jù)解析器。同時(shí)數(shù)據(jù)內(nèi)容通過XML Hub來實(shí)現(xiàn)不同格式數(shù)據(jù)文件之間的相互轉(zhuǎn)換,達(dá)到一種數(shù)據(jù)瀏覽器或閱讀器就能瀏覽和閱讀其它格式的數(shù)據(jù)文件。另外,通過XMLHub,以有語義的可擴(kuò)展標(biāo)記語言為中間媒介來實(shí)現(xiàn)數(shù)據(jù)文件內(nèi)容的智能機(jī)器理解,并實(shí)現(xiàn)對數(shù)據(jù)文件內(nèi)容的有效地分布式控制。
在XML Hub中定義了一種易處理的可擴(kuò)展標(biāo)記語言,簡稱為pXML。pXML有元素XMLSTREAM、HEAD、DMETATAGS、DMETA、EMETATAGS、EMETA、DSTYLES、DSTYLE、DSTRUCTURE、BODY、SECTION、PAGE、PARAGRAPH、SPECIALTEXT、TEXT、IMAGE、LINK、FOOTNOTE、ENDNOTE、HEADER、FOOTER、ANCHOR、TAB、HR、MARKER、TABLE、TGROUP、TBODY、THEAD、TFOOT、ROW、CELL、COLUMN、COLUMN-DEF、LIST、LI、LABEL、BLOCKQUOTE、PRE、BREAK、FRAME、SVG、FIELD、INDEXITEM。
pXML中的元素具有屬性Style、css-style、number、font、font-size、font-fixed、origfont、emphasis、emphasis-bold、emphasis-italic、emphasis-underline,emphasis-superscript、emphasis-subscript、x、y、height、width、top、left、align、valign、leftindent、rightindent、spacebefore、spaceafter、textindent、border-left、border-right、border-top、border-bottom、top-padding、Left-padding、right-padding、bottom-padding、rowspan、colspan、width-type、height-type。這些屬性可用到多個(gè)元素中。
圖2說明了XML Hub的體系結(jié)構(gòu)。XML Hub主要功能塊有類型判斷器、分頁處理器、文本處理器、對象處理器、文檔解析器倉庫、參數(shù)庫、pXML元素和屬性庫等組成。類型判斷器能根據(jù)輸入文檔的參數(shù)確定文檔的類型,判斷它們是諸如純文本、超文本、PDF、Word、RTF、Excel、PowerPoint、程序代碼、FrameMaker、Latex等非結(jié)構(gòu)化文件還是諸如WML等結(jié)構(gòu)化文件。分頁處理器處理文檔中的存在層、幀和欄的情況,如在HTML中的分層和分幀情況,pdf中的分欄、分層等。對于HTML中分幀情況時(shí)采取各幀內(nèi)數(shù)據(jù)內(nèi)容單獨(dú)處理。對于pdf等文檔中的層單獨(dú)處理成頁中層元素。文檔中的分欄按照從左到右的順序處理成頁中的段落元素。文本處理器處理段落元素中的文本內(nèi)容,包括字體、格式、大小等內(nèi)容處理成段落中的元素的屬性值。在文本處理器中還包括處理文檔中所存在的鏈接和標(biāo)簽,若是鏈接則生成pXML中的link元素。對象處理器主要處理文檔中所包含的圖、表、公式等特殊內(nèi)容,并分別生成pXML中的元素Image、Table、specialtext等元素。在解析器倉庫中包含有各種文檔格式的解析器的接口,解析器的接口是開放的、使得可以動態(tài)加載和替換解析器。參數(shù)倉庫保存文檔提出過程的內(nèi)容選擇、輸出內(nèi)容格式、所選解析器型號等文檔解析過程中的環(huán)境參數(shù),在運(yùn)營過程中,將讀如到pXML中的EMETATAGS中。在倉庫中還保存著pXML所用的元素和屬性與文檔的格式標(biāo)簽的對照表。
圖3描述了XML Hub工作流程,當(dāng)文檔數(shù)據(jù)從互聯(lián)網(wǎng)、文件服務(wù)器、文檔倉庫或文件中提取出來輸入到XML Hub,XML Hub根據(jù)文檔頭文件判斷輸入文檔的數(shù)據(jù)類型,從倉庫中選取相應(yīng)的文檔解析器、配置參數(shù)及文檔與pXML中元素參照表內(nèi)容,然后用文檔解析器分析文檔格式,并調(diào)用分頁處理器、文本處理器及對象處理器對文檔數(shù)據(jù)實(shí)現(xiàn)分頁處理、對象處理、文本內(nèi)容處理,最終生成pXML語言格式的文檔和源文檔中的圖或?qū)ο?。最后根?jù)輸出要求,生成相應(yīng)的輸出文檔,用于數(shù)據(jù)發(fā)布、存儲或分析等下一步工作。
在圖4中,XML Hub的外部環(huán)境主要包括網(wǎng)絡(luò)環(huán)境、終端顯示環(huán)境等內(nèi)容。因此,XML Hub可根據(jù)外部環(huán)境來適當(dāng)?shù)卣{(diào)整網(wǎng)絡(luò)傳輸方法、終端顯示等內(nèi)容就可以。
權(quán)利要求
1.可擴(kuò)展標(biāo)記語言集中器,簡稱為XML Hub,包括基于非結(jié)構(gòu)化的XML Hub和基于結(jié)構(gòu)化的XML Hub.
2.在權(quán)利1中的基于非結(jié)構(gòu)化XML Hub是將超文本、純文本、PDF、word、RTF,Excel,PowerPoint,Word、FrameMaker、Latex、程序代碼等非結(jié)構(gòu)化文檔轉(zhuǎn)換成一種統(tǒng)一的易處理的XML,記為processible XML,簡稱為pXML。在非結(jié)構(gòu)化文檔轉(zhuǎn)換成pXML時(shí)調(diào)用了文檔所對應(yīng)的解析器來讀取文件內(nèi)容。
3.在權(quán)利1中的基于結(jié)構(gòu)化數(shù)據(jù)的XML Hub是使用結(jié)構(gòu)化文件解析器讀取結(jié)構(gòu)化數(shù)據(jù)后,用XSLT將結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成pXML?;诮Y(jié)構(gòu)化數(shù)據(jù)的XML Hub還可使用XSLT或其它外部程序?qū)XML轉(zhuǎn)換成其它格式的結(jié)構(gòu)化數(shù)據(jù),如DocBook XML、Legal XML、VoiceXML、MathXML等。
4.在權(quán)利2和3中的pXML中定義了元素XMLSTREAM、HEAD、DMETATAGS、DMETA、EMETATAGS、EMETA、DSTYLES、DSTYLE、DSTRUCTURE、BODY、SECTION、PAGE、PARAGRAPH、SPECIALTEXT、TEXT、IMAGE、LINK、FOOTNOTE、ENDNOTE、HEADER、FOOTER、ANCHOR、TAB、HR、MARKER、TABLE、TGROUP、TBODY、THEAD、TFOOT、ROW、CELL、COLUMN、COLUMN-DEF、LIST、LI、LABEL、BLOCKQUOTE、PRE、BREAK、FRAME、SVG、FIELD、INDEXITEM。pXML中元素的屬性有Style、css-style、number、font、font-size、font-fixed、origfont、emphasis、emphasis-bold、emphasis-italic、emphasis-underline,emphasis-superscript、emphasis-subscript、x、y、height、width、top、left、align、valign、leftindent、rightindent、spacebefore、spaceafter、textindent、border-left、border-right、border-top、border-bottom、top-padding、Left-padding、right-padding、bottom-padding、rowspan、colspan、width-type、height-type。這些屬性可用到多個(gè)元素中。
5.在權(quán)利4中的pXML的元素定義如下1)XMLSTREAM元素是pXML的頂層,能有HEAD,BODY元素作為其子元素,沒有屬性定義。2)HEAD元素描述文件的頭信息,XMLSTREAM可作為其上層,其子元素有DMETATAGS、EMETATAGS和DSTRUCTURE,沒有屬性。3)元素DMETATAGS用于描述meta標(biāo)記和源文檔屬性,HEAD為其父元素、META為其子元素。在超文本中,Meta出現(xiàn)在超文本的HEAD元素中。在word文檔中,DMETATAGS描述文檔的建立、設(shè)置域等如一個(gè)Miscrosoft word文檔的DMETATAGS描述如下<DMETATAGS><META name=″Title″value=″Transforming existing content into″pXML″″/><META name=″Subject″/><META name=″Author″value=″Rizwan Virk″/><META name=″Application name″value=″Microsoft Word 9.0″/><META name=″Last print date″value=″1/28/2002 9:48:00AM″/><META name=″Creation date″value=″10/15/2002 11:41:00AM″/><METAname=″Last save time″value=″10/15/2002 2:13:00PM″/><META name=″Total editing time″value=″3″/><META name=″Number of pages″value=″2″/><META name=″Number of words″value=″3392″/><META name=″Number of characters″value=″17586″/><META name=″Security″value=″0″/><META name=″Category″/><META name=″Format″/>…</DMETATAGS>4)META元素描述文檔的個(gè)性屬性,DMETATAGS作為其父元素,沒有子元素,有META名稱和值。5)EMETATAGS用于描述在源文件生成pXML過程中的環(huán)境屬性,HEAD作為其父元素,子元素為EMETA。如<EMETATAGS><EMETA name=″STDSourceFileName″value=″articlemeaningfulxml.doc″/><EMETA name=″STDSourceFileDirectory″value=″C\WordSamples″/><EMETA name=″STDPreprocessor″value=″WordDriver″/><EMETA name=″STDSourceFileType″value=″doc″/><EMETA name=″STDPreprocessorOptions″value=″includeLists=true |includeTables=true | includeFormattedText=true | docPacketFile = C\\ExecutionResults\xml.doc.EXEC.xml | dotFile=c\drivers″/></EMETATAGS>6)EMETA元素用于描述從源文件轉(zhuǎn)換成pXML過程中的環(huán)境參數(shù),父元素為EMETATAGS,沒有子元素,有EMETA名稱和值。7)DSTYLES元素描述源文檔的格式屬性。對于word文檔,DSTYLES用于描述文檔中的有效格式,有HEAD父元素和STYLE子元素。對于超文本而言,DSTYLES是指格式函數(shù)或者css文件。8)STYLE元素描述源文檔中的格式,有DSTYLES父元素,屬性有name,font,font-size,font-.xed,align,valign,leftindent,rightindent,linespacing,spacebefore,spaceafter,emphasis,emphasis-bold,emphasis-italic,emphasis-underline,emphasis-superscript,emphasis-subscript。9)DSTRUCTURE元素僅用于描述PDF中的bookmarks,有HEAD父元素和OUTLINE子元素。10)BODY用于描述文檔的主體,有XMLSTREAM父元素和任何塊元素,如SECTION,PAGE和BLOCK。11)SECTION元素用于描述word文檔的分區(qū),有BODY父元素和任意塊元素,屬性有number,orientation,height,width,margin-left,margin-top,margin-right,margin-bottom,section-type,columns。12)PAGE元素描述分頁源文件中的單頁,如pdf文件。有BODY父元素和任意塊元素作為其子元素,包括PARAGRAPH,IMAGE,TABLE,LIST,BLOCKQUOTE,PRE,ANCHOR,BREAK,F(xiàn)RAME。PAGE元素具有number,height,width,margin-left,margin-top,margin-right,margin-bottom等屬性。13)PARAGRAPH元素用于描述文檔中的文本,一般而言,所有的文本都?xì)w屬于PARAGRAPH元素。PARAGRAPH元素有BODY,CELL,LI,BLOCKQUOTE,SECTION,PAGE等父元素,有如#PCDATA,SPECIALTEXT,LINK,ANCHOR,IMAGE,TEXT,F(xiàn)IELD等內(nèi)嵌元素,屬性有font-related,paragraph-related,emphasis-related,number,Style,x,y,height,width。14)SPECIALTEXT元素用于描述在PARAGRAPH元素中的不同于PARAGRAPH元素的文本,有PARAGRAPH父元素,有如#PCDATA,SPECIALTEXT,LINK,ANCHOR,IMAGE,TEXT,F(xiàn)IELD等內(nèi)嵌元素及fontrelated,emphasis-related,number,Style,x,y,height,width等屬性。15)TEXT元素用于處理在PARAGRAPH中與PARAGRAPH元素相同格式的文本,僅用于PDF的解析器中的每個(gè)文本處理時(shí)需要各自的坐標(biāo)和維度的情況。有PARAGRAPH父元素,有如#PCDATA,SPECIALTEXT,LINK,ANCHOR,IMAGE,TEXT,F(xiàn)IELD等內(nèi)嵌元素及font related,emphasis-related,number,Style,x,y,height,width等屬性。不能出現(xiàn)在塊層但能出現(xiàn)在內(nèi)嵌層。16)IMAGE元素用于描述源文檔中的圖像。在word解析器和HTML解析器中,圖像放在pXML文件的命名為xxxxx.xx_Images子目錄中,xxxxx.xx為pXML文件名。IMAGE元素可在塊層和內(nèi)嵌層,有BODY,PAGE,CELL,LI,BLOCKQUOTE,PRE,PARAGRAPH等父元素和如下屬性a)href=文件名,常為圖像文件的相對路經(jīng);b)format=文件格式。對于word解析器,位圖類型有BMP、JPEG、GIF。c)width和height為圖像的寬和高。d)x和y為圖像在一頁中的位置,主要是針對pdf文檔而言。e)number為該圖像相對其它圖像或段落的位置。f)alt為在超文本中的圖像描述文本。17)LINK元素描述連接,常出現(xiàn)在PARAGRAPH中,且有文本描述。LINK元素有PARAGRAPH,SPECIALTEXT等父元素和#PCDATA,SPECIALTEXT子元素,有href和alt屬性,可出現(xiàn)在內(nèi)嵌層。18)FOOTNOTE和ENDNOTE元素描述文檔的腳注,可出現(xiàn)在文檔的末尾或PARAGRAPH元素中。有BODY,PARAGRAPH父元素,所有的塊層的元素度可作為其子元素,有ref,reftype,label等屬性。19)HEADER and FOOTER元素描述文檔的頁眉頁腳,可出現(xiàn)在文檔的末尾或PARAGRAPH元素中。有BODY父元素,所有的塊層的元素度可作為其子元素。有如下屬性a)number描述HEADER或FOOTER元素所在的分區(qū)編碼;b)headerType用于描述HEADER或FOOTER元素是首頁、最后頁、奇偶數(shù)等。20)ANCHOR元素描述一個(gè)文檔能訪問到的地址,等價(jià)于超文本中的<A>,可在PARAGRAPH元素內(nèi)部或外部,類似于MARKER元素。有BODY,PAGE,CELL,LI,BLOCKQUOTE,PRE,PARAGRAPH,SPECIALTEXT等父元素,有name和number屬性,其中number屬性描述ANCHOR元素的相對位置。ANCHOR元素可出現(xiàn)在塊層和內(nèi)嵌層中。21)TAB元素用于描述文檔中的TAB符,所有的內(nèi)嵌層元素都可作為其父元素,可出現(xiàn)在內(nèi)嵌層。22)HR元素僅用于描述超文本文檔所有的內(nèi)嵌層元素都可作為其父元素,可出現(xiàn)在塊層。23)MARKER元素是一個(gè)文件中的終止符,其父元素有塊容器和PARAGRAPH,屬性有id,number等,可出現(xiàn)在塊層和內(nèi)嵌層中。24)TABLE元素描述源文檔中的一個(gè)表,其父元素有BODY,PAGE,SECTIONCELL,LI,BLOCKQUOTE,PRE,其子元素有TGROUP,COLUMN,ROW,屬性有number來描述它出現(xiàn)的位置,可出現(xiàn)在塊層中。25)TGROUP,TBODY,THEAD,TFOOT元素用于描述源文檔中的表,屬性有用于描述TGROUP中的欄數(shù)的cols,可出現(xiàn)在塊層中。26)ROW元素是TABLE元素的子元素,用于描述表中的單一行,CELL為其子元素,有rowtype、Style和number屬性,其中,若rowtype為header則為頭行,若為data則為普通行;Style為該行的格式;number為該行在整個(gè)文檔中的位置。27)CELL元素是ROW元素的子元素,用于描述表中的一格,子元素有PARAGRAPH,LIST,TABLE,LIST,BLOCKQUOTE,PRE,IMAGE,ANCHOR等。CELL元素有celltype、Style、number等屬性,其中,celltype=header,則該行為表的頭行,若celltype=data則該行為表的普通行;Style描述該表格的格式;number描述該表格在整個(gè)文檔的位置。28)COLUMN元素TABLE元素的子元素,用于描述表中的單一列。對于Word,MIF等文檔,指定column的寬度和映射到CALs表較容易;對于PDF文檔時(shí),當(dāng)指定一個(gè)pagedef時(shí),COLUMN元素是指在一頁中的某個(gè)區(qū)域。有符TABLE,TGROUP等父元素沒有子元素,有column-id及width屬性。其中,column-id是指其在表中的列的序號;width描述該列的寬度。29)COLUMN-DEF元素用于描述列,有TABLE父元素和COLUMN子元素,有描述列數(shù)的cols屬性。30)LIST元素用于描述文檔中的一個(gè)列表。在pXML中分OL、UL和DL,其中,OL表示排序列表;UL表示無序的、浮動的列表;DL表示無序的、不浮動的數(shù)據(jù)列表。任何塊容器都可作為其父元素,其元素為LI,有type、Style和Number屬性。其中,type為OL、UL、或DL;Number描述列表在文檔中的位置;Style描述列表的格式。另外,LIST元素可出現(xiàn)在塊層中。31)LI元素是LIST子元素,描述列表項(xiàng),有PARAGRAPH,LIST,TABLE,LI,BLOCKQUOTE,PRE,IMAGE,ANCHOR等子元素,且有l(wèi)evel、number、Style、type等屬性。其中,level值代表該列表內(nèi)嵌的層級;number表示列表項(xiàng)在列表中的位置;Style表示列表項(xiàng)的格式、type常為空,若列表類型為DL,則其為DT或DL,表示其是否為頭或數(shù)據(jù)項(xiàng)。32)LABEL元素是針對word文檔而定義的,作為LI元素的子元素,有PARAGRAPH和LI父元素,其子元素有#PCDATA。33)BLOCKQUOTE元素描述一個(gè)內(nèi)嵌文本,塊容器可作為其父元素、塊級元素可作為其子元素,有number屬性來描述其中文檔中的相對位置,可出現(xiàn)在塊層。34)PRE元素是用于將其包起來的文字排版、格式,原封不動的呈現(xiàn)出來,塊容器可作為其父元素,塊層元素可作為其子元素,有描述其在文檔中的相對位置的number屬性,并可出現(xiàn)在塊層。35)BREAK元素描述源文檔中的分隔符,塊容器和內(nèi)嵌容器均可作為其父元素,無子元素,有type和number屬性,且可出現(xiàn)在塊層和內(nèi)嵌層。其中,type屬性用于描述其類型,如頁分隔、列分隔、行分隔等;number屬性描述BREAK元素在文檔中的相對位置。36)FRAME元素用于描述文檔中的文本幀,有BODY,SECTION,PAGE等父元素,所有的塊級元素都可作為其子元素,有x,y,top,left,height,width,number等屬性,且可出現(xiàn)在塊層級。37)SVG元素用于描述外部的SVG文件,僅用于pdf文檔中,有PAGE父元素,無子元素,有src屬性,可出現(xiàn)在塊層上。其中,src為SVG的相對或絕對文件名。38)FIELD元素用于描述嵌套在源文檔中的文本中的一個(gè)域,常用于word文檔中,有PARAGRAPH,TEXT,SPECIALTEXT等父元素和#PCDATA子元素,有用于描述域碼的code屬性,能用于內(nèi)嵌層。39)INDEXITEM元素用于描述來自MIF文件中的索引項(xiàng),有PARAGRAPH,TEXT,SPECIALTEXT等父元素和inline子元素,有primary、secondary、tertiary等屬性。其中,primary為初始索引項(xiàng);secondary為次索引項(xiàng);tertiary為第三次索引項(xiàng),可用于內(nèi)嵌層。
6.在權(quán)利4中的屬性可用于多個(gè)元素,有些屬性用于特定的元素,在這里將列出一些主要的元素的屬性的定義。1)Style屬性給PARAGRAPH或SPECIALTEXT的格式的一個(gè)名稱。在Word和Framemaker文檔中,Style屬性是指段落或字符集的格式;在超文本中,若源文本是在<H1>到<H7>標(biāo)簽中,則標(biāo)簽名附加在Style屬性,較容易找到使用的是那個(gè)頭。在超文本中,Style屬性也可能包括″classname″,即在<P class=myheading>中,Style屬性將被轉(zhuǎn)換成在pXML中的格式<PARAGRAPH Style=″myheading″>。對于如超文本而言,Style屬性可能有多個(gè)格式,在轉(zhuǎn)換成pXML時(shí)將其用逗號隔開。<PARAGRAPH>和<SPECIALTEXT>元素常有該屬性。2)css-style屬性用于描述超文本源文件。若超文本的paragraph元素有style屬性包含有CSS屬性,在pXML中將逐字地包含在該元素中。若超文本是<p style=″font-size9;colorred;″,則在pXML中的css-style屬性是<PARAGRAPH css-style=″font-size9;colorred;″>。3)number屬性是指一組從1開始的數(shù)值,用來描述當(dāng)前元素在文檔中的位置,以便于確定元素發(fā)生的先后順序。所有的BODY元素都具有number屬性。4)font,font-size,font-fixed,origfont是用于描述與字體相關(guān)的屬性。其中,在word或pdf文檔中,font-size按點(diǎn)值指定,在超文本中是指一個(gè)從1到7的相對值,1對應(yīng)于H1,7對應(yīng)于H7。font-fixed是true或false,一般而言Courier集子體是固定子體寬度。有<PARAGRAPH>,<SPECIALTEXT>,<TEXT>,<STYLE>等元素具有以上屬性。5)emphasis,emphasis-bold,emphasis-italic,emphasis-underline,emphasis-superscript,emphasis-subscript屬性用于修飾基本子體,常用于<PARAGRAPH>元素層或在PARAGRAPH中的<SPECIALTEXT>。這些屬性賦值為true或false。所有解析器都要求執(zhí)行emphasis,emphasis-bold,emphasis-italic,and emphasis-underline屬性。而superscript和subscript僅用于特定的解析器。有<PARAGRAPH>,<SPECIALTEXT>,<TEXT>,and<STYLE>等元素具有這些屬性。6)x,y,height,width,top和left屬性常被解析器用在處理特定格式的文檔中,如pdf文檔。其中x和y坐標(biāo)是指基于頁的坐標(biāo),數(shù)字是點(diǎn)值或其它相對測定值,依賴于源內(nèi)容。在一些元素中,常用top和left而不是x和y。所有BODY的塊元素有x,y,height和width屬性。SPECIALTEXT和TEXT屬性只有在數(shù)據(jù)源為pdf文檔時(shí)才有以上屬性。7)align,valign,leftindent,rightindent,spacebefore,spaceafter和textindent屬性用于描述段落層的格式信息。其中,align為left,center,right,justify或blank;valign為top,middle,bottom或blank;leftndent為段落靠左縮進(jìn)的大小;rightindent為段落靠右縮進(jìn)的大小;linespacing為行間距,缺省值為1,即單行距;spacebefore為段前值;spaceafter為段后值;textindent為首行縮進(jìn)值。除了如SPECIALTEXT,LINK內(nèi)嵌元素外,其它元素都具有這些屬性。8)border-left,border-right,border-top,border-bottom屬性表示偏左、偏右、偏上、偏下,它們可設(shè)為true或false來描述表對象,也可為數(shù)值表示邊界的長度。這些屬性也可有邊界顏色。有TABLE、CELL和ROW具有上屬性。9)top-padding,left-padding,right-padding,bottom-padding屬性設(shè)為整數(shù)值,表示在表中格的填充顏色。TABLE和CELL有以上屬性。10)rowspan和colspan屬性設(shè)為數(shù)值,表示表格的行跨度和列跨度,僅CELL有這些屬性。11)width-type和height-type屬性僅用于從word文檔中生成的表格,可設(shè)為auto、percent、points、fixed等。
7.在權(quán)利2、3中的文檔解析器具有解析其所對應(yīng)文檔中的如下內(nèi)容1)能解析其所對應(yīng)文檔中的圖的功能。在文檔解析器中可選擇地將bitmap、矢量圖、WMF文件功能轉(zhuǎn)換成所需格式的圖像,并在pXML中用IMAGE來標(biāo)注。對于office文檔中的OLE對象,是將其視為WMF文件來處理。2)能解析所對應(yīng)文檔中的書簽、分隔符、域、頁眉、頁腳、片斷、腳注等功能,分別在pXML中用ANCHOR、BREAK、FIELD、HEADER、FOOTER、SECTION及PARAGRAPH中的Footnote格式來標(biāo)注。分隔符分為page、column、section等三種類型。3)能解析所對應(yīng)文檔中的文本格式信息,如字體、字體顏色、大小、黑體、斜體等,定義為PARAGRAPH元素中屬性。4)能解析文檔中的隱藏文本功能,在轉(zhuǎn)換后的pXML中用SPECIALTEXT把隱藏文本進(jìn)行標(biāo)記。5)能解析文本中的連接功能,并在pXML中l(wèi)ink標(biāo)注。6)能解析文檔中的列舉功能,并在pXML中列舉用LIST標(biāo)注、列舉中的條用LABEL標(biāo)注。7)能解析文檔中的表功能,采用,并在pXML中用TABLE、TGROUP、TBODY、THEAD及COLUMN等來標(biāo)注表。8)能解析如pdf、MIF、HTML、XML等文檔中的分層結(jié)構(gòu),在pXML中用FRAME來描述文檔中的分層結(jié)構(gòu)。在份層結(jié)構(gòu)中有以下主要元素用Layoutdefs,定義layoutdef的頭信息、用MarginDef定義一系列頁的邊界、用PageDef定義為某頁或一系列頁中的正方塊定義某種類型的塊等。
8.在權(quán)利2中的如Java、C++等程序文件解析器可解析程序文件中的類名、類路經(jīng)、類參數(shù)等文檔內(nèi)容。
9.在權(quán)利3中還包括調(diào)用外部程序來進(jìn)行文檔內(nèi)容的轉(zhuǎn)換,接口為-I{輸入},-O{輸出}。而在解析其它XML格式文檔或純文本文檔的過程中還可調(diào)用XSLT來解析文檔,生成pXML,調(diào)用格式包括XSLT文件名、XSLT參數(shù),例如XSLTArguments=[arg1=value1|arg2=value2|arg3=value3]。
10.XML Hub開放接口,通過動態(tài)加載未知格式文檔的解析器來實(shí)現(xiàn)對未知文檔的解析。
全文摘要
本發(fā)明提供一種將純文本、超文本、PDF、Word、RTF、Excel、PowerPoint、程序代碼、FrameMaker、Latex等非結(jié)構(gòu)化文件和諸如WML等結(jié)構(gòu)化文件統(tǒng)一轉(zhuǎn)換成一種具有語義的可擴(kuò)展標(biāo)記語言的裝置和實(shí)現(xiàn)方法??蓴U(kuò)展標(biāo)記語言集中器裝置由各個(gè)類型文件的解析器組成。本裝置通過數(shù)據(jù)文件解析器讀取文件內(nèi)容,然后將文件內(nèi)容自動處理成一種易處理的可擴(kuò)展標(biāo)記語言形式,記為ProcessibleExtensible Markup Language,簡稱為pXML。pXML對數(shù)據(jù)內(nèi)容起到歸整作用,即用格式化的可擴(kuò)展標(biāo)記語言來描述數(shù)據(jù)內(nèi)容。在解析器定義文件屬性,包括源文件類型、須處理的文件內(nèi)容、輸出文件屬性等。生成后的pXML可用于內(nèi)容分析或轉(zhuǎn)換成其它格式的文件。
文檔編號G06F17/30GK101055577SQ20061007253
公開日2007年10月17日 申請日期2006年4月12日 優(yōu)先權(quán)日2006年4月12日
發(fā)明者陳翌, 何余良 申請人:龍搜(北京)科技有限公司