电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

XML入門問答

瀏覽:207日期:2022-06-03 13:00:05
什么是置標語言?
----------------------

  我們日常書寫的語言,被稱為書面自然語言。如果在書面自然語言中為了標識某些信息,而加入一些標記,這種書面自然語言就可被稱為置標語言(英語為:Markup Language)。比如在一段書面語言中,為了說明某一句話的重要,在這句話下面畫上底劃線。但是,我們在這里解釋的置標語言,實際上是一種為了計算機處理而設計的置標語言,其中所用到的標記,往往使用代表一定含義的文字或數字表示。通常的做法是,根據需要,先定義一套助意的標記,然后將這套標記添加到書面語言中去,使書面語言變成置標語言。

  例如,我們為了讓計算機了解,一段書面語言中,那一部分是標題,那一部分是作者名,那一部分是正文,我們定義如下一套標記:

  <標題>、</標題>;<作者>、</作者>;<正文>、</正文> 那么,我們就可以將上面這段書面語言改寫成置標語言:

<標題>什么是置標語言?</標題>

<作者>xml.net.cn</作者>

<正文>我們日常書寫的語言,被稱為書面自然語言。… …</正文>

  置標語言,不同于一般的控制流程序設計語言,基本上可以被視為是一種數據流的文檔結構描述語言。在計算機處理過程中,置標語言的標記既可以作為數據,也可以作為控制語句來使用。

  在計算機程序語言中,一般把一種語言的定義整體稱為某某程序設計語言,而把用這種語言編寫的文字段落,稱為某某語言程序。套用這個習慣,我們把置標語言的定義整體稱為某某置標語言,而把用這種置標語言編寫的文字段落,稱為某某語言文檔。如果我們把上面定義的那套標記叫做"文章置標語言"的話,那么下面那段置標語言,就可稱為"文章置標語言文檔"。


----------------------

什么是SGML?

----------------------

  從字面上看,SGML(Standard Generalized Markup Language--標準的通用置標語言)是一種置標語言,實際上它是一種通用的文檔結構描述置標語言,主要用來定義文獻模型的邏輯和物理類結構。SGML是ISO組織于1986年發布的ISO 8879國際標準。

  一個SGML語言程序,要由三部分組成,即語法定義、文件類型定義(簡稱DTD--Definition Type Document)和文件實例。語法定義,定義了文件類型定義和文件實例的語法結構;文件類型定義,定義了文件實例的結構和組成結構的元素類型。文件實例是SGML語言程序的主體部分。

  SGML的實際使用中,每一個特定的DTD都定義了一類文件。例如,所有的新聞稿件都可以使用同一個DTD。因此,人們習慣上把具有某一特定DTD的SGML語言,稱為某某置標語言。例如用于國際互聯網的HTML語言。這樣SGML就成為那些派生語言的元語言。


----------------------

什么是XML?

----------------------
  XML是eXtensible Markup Language(可擴展的置標語言)的縮寫,是W3C組織于1998年2月發布的標準。W3C組織制定XML標準的初衷是,定義一種互聯網上交換數據的標準。W3C采取了簡化SGML的策略,在SGML基礎上,去掉語法定義部分,適當簡化DTD部分,并增加了部分互聯網的特殊成分。因此,XML也是一種置標語言,基本上是SGML的一個子集。因為XML也有DTD,所以XML也可以作為派生其它置標語言的元語言。
----------------------

什么是HTML?

----------------------
 HTML是Hypertext Markup Language(超文本置標語言)的縮寫,是SGML的一個實例,是W3C組織發布的標準,是專門為在互聯網上發布信息而設計的置標語言。
----------------------

XML、SGML、HTML之間是什么關系?

----------------------
  HTML是SGML的一個實例,它的DTD作為標準被固定下來,因此,HTML不能作為定義其它置標語言的元語言。XML是SGML的一個子集,嚴格地講,XML也還是SGML。與HTML不同的是,XML有DTD,因而也可以象SGML那樣,作為元語言,來定義其它文件系統,或稱其它置標語言。如果把置標語言分為元置標語言和實例置標語言的話,SGML和XML都是元置標語言,而HTML和由XML派生的XHTML都是實例置標語言。
----------------------

XML的用途是什么?

----------------------
  在國際互聯網上,服務器與服務器之間、服務器與瀏覽器之間有大量的數據需要交換,特別是在電子商務中。這些被交換的數據,都被要求對數據的內容和表現方式有所說明,用置標語言擔當這個重任是再合適不過了。應該說SGML完全可以扮演這個國際互聯網上數據交換標準語言的角色,然而由于SGML對互聯網應用來講太復雜了,因而需要一種即能象SGML那樣作為元語言使用,又能比較簡單地進行處理的置標語言,來擔此重任。在這種背景下XML就應運而生了。因此在互聯網世界XML的用途主要有兩個,一是作為元置標語言,定義各種實例置標語言標準;二是作為標準交換語言,擔負起描述交換數據的作用。
----------------------

HTML已經這樣流行了,為什么還要發展XML?

----------------------

  簡單地講,HTML不能完成,我們希望XML所要完成的任務。原因很簡單,XML所要完成的任務,必須由元置標語言來完成,而HTML只是一個實例置標語言。 在XML發布之前,國際互聯網的發展受到HTML如下幾個問題的束縛:

1) HTML無法描述數據內容,而這一點恰恰是數據檢索、電子商務所必須的。

2) HTML對數據表現的描述能力是十分不夠的,如HTML還不能描述矢量圖形、   科學符號等對象,目前只能通過圖象來表現這些對象。

3) HTML實例置標語言的地位,完全不能適應對新標記需求的發展需要。   

  XML的出現,使上述問題都得到很好的解決。


----------------------

XML怎樣簡化SGML?

----------------------
  為簡單化SGML,XML重新定義了一些SGML的內部值和參數,并刪去了大量繁雜的、不常用的、使編程復雜的特征(見http://www.w3.org/TR/NOTE-sgml-xml-971215)。
----------------------

用XML你能定義自己的文件類型(DTD)嗎?

----------------------
  回答是肯定的。這也是XML與HTML區別最大的地方。
----------------------

誰對XML負責?

----------------------
  XML是W3C組織的一個項目,XML規格說明書是W3C組織的XML工作組制定的,這個工作組由各領域、公司的專家和協作者組成,并通過E_mail方式交換信息,進行修改和完善。XML是集體智慧的結晶,不是某個公司的專利。 1.0版規格說明書由W3C認可,并在1998年2月10日正式推薦使用。
----------------------

為什么XML如此重要?

----------------------
  試想在互聯網世界,如果大家都講方言,互相交換信息時都要進行翻譯,那將是一個多么難以溝通和交流的世界。在互聯網世界,XML之所以重要,恰恰是由于它扮演了"國際語言"角色的緣故。此外,XML更為互聯網世界提供了定義各行各業的"專業術語"的工具。

----------------------

什么是文檔類型定義(DTD)?

----------------------
  文檔類型定義 (DTD) 是一套關于標記符的語法規則。 它告訴你可以在文檔中使用哪些標記符, 它們應該按什么次序出現, 哪些標記符可以出現于其它標記符中, 哪些標記符有屬性, 等等. DTD原來是為使用SGML開發的, 它可以是XML文檔的一部分, 但是它通常是一份單獨的文檔或者一系列文檔 。XML本身并沒有一個通用的DTD,想使用XML進行數據交換的行業或組織可以定義它們自己的DTD。
----------------------

如何在瀏覽器中閱讀XML?

----------------------
  閱讀XML文檔的工具一般稱為XML解析器, 也稱為XML處理器。 XML處理器將數據傳送到應用軟件, 以便處理, 出版, 查詢, 或顯示。XML不給應用軟件提供 應用程序接口 (API), 它只是把數據傳給應用軟件. XML處理器不解析非構造良好的數據。 Netscape 和 Microsoft 都已經將XML解析器包含在其瀏覽器中。 XML開發者團體提供免費的XML閱讀器和解析器, 以便在應用軟件或XML制作軟件中進行應用。
----------------------

使用問題
如何得到XML瀏覽器?

----------------------

  XML標準已經發布規格說明書新出臺不久,所以現在很多都是在試驗階段的軟件。而處理HTML的瀏覽器有許多。但是將來會涌現大量不同領域的XML應用程序,所以不要指望會有一個瀏覽器能100%的處理好所有的程序。

  XML的工具(如解釋器(parsing),樹結構管理(tree management),搜索(searching),格式化工具(formatting)等等)都被加在瀏覽器的庫(libraries)里或工具包(toolkit)中,幫助開發人員更容易編寫XML程序。這種應用程序可以通過增加相應的語義來修改,使之適用于 另一個特殊領域,或使用Java等語言為瀏覽器開發plugins等嵌入程序,在Web上傳輸某一模塊。

  Microsoft公司的IE4和5瀏覽器可以處理一些Microsoft-oriented的XML程序,但顯示時要轉換為HTML文件。 詳情見development work at Microsoft和how to enable it。 Arbortext的XML Stylesheet program頁中介紹怎樣使用XML+XSL。你也需要ActiveX controls和XSL codebase。 Microsoft建議你可以在HTML文件中加入XML段,因為現在的只支持HTML的瀏覽器會忽略不認識的標識元素。

  可以下載的Netscape(Mozilla)瀏覽器已經通過一個XML+RDF測試,其中使用James Clark的expatXML解釋器(parser)。

  請看面向程序設計人員和軟件和工具開發商中軟件部分的注意說明(notes),更詳細的資料列在 http://www.oasis-pen.org/cover/xml.html。


----------------------

為什么要使用XML而不是HTML?

----------------------

  比較重要的原因有以下六條:

  1)作者和供應商能使用XML設計自己的文檔類型,不必被HTML所約束。

  2)由于XML的超文本鏈接能力比HTML強得多,XML提供的信息內容比      HTML更豐富,也更易于使用。

  3)XML能提供更多更好的機制方便瀏覽器的信息表現和優化性能。

  4)XML舍棄了SGML的復雜性,因此編寫處理XML的應用程序會很容易。

  5)信息易于存儲,可重復使用。

  6)XML文件在SGML環境中也可使用,不一定要局限于在WEB中使用。


----------------------

必須從SGML或HTML轉向XML嗎?

----------------------
  沒有必要。現有的SGML和HTML應用軟件將會繼續和現有文件一起工作。但是如果你想查看或下載使用XML文件,你就需要使用能夠理解、處理XML的程序。
----------------------

可以用Java創建和管理XML文件嗎?

----------------------
  是的,任何程序設計語言都能被用來從XML形式的源文檔中輸出數據。已經出現了許多的前端和后臺工具使得程序設計和數據管理更加方便。下面兩個網址有更加詳細的說明: http://developerlife.com >http://www.markwatson.com/XMLdb_0_1.htm http://developerlife.com
----------------------

開發問題
XML的規格說明書在哪里?

----------------------

  從http://www.w3.org/TR/REC-xml中就可以找到。


----------------------

“DTDless”、“valid”和“well-formed”等術語的含意是什么?

----------------------
  在標準SGML文檔中,所有用到的標記、元素、元素的屬性都必須由文件類型定義(DTD)來說明。但是這種限制在XML的應用中并不是總是需要的,所以XML文檔被設計成既可以帶有DTD,也可以沒有DTD文件。DTDless的意思是沒有DTD的XML文件,你可以創建自己的標識和元素,但不用在DTD中正式定義。DTDless文件通過創建元素時對它們直接進行定義。但是當XML應用程序,如一個瀏覽器遇到DTDless文件時,因為沒有DTD文件告訴瀏覽器關于這個文件的結構信息,所以創建DTDless文檔時,仍需要一些規則來進行規范。這樣“well_formed”XML文檔的概念就相應產生了,它明確規定了書寫XML文檔的語法規范。所有符合這個規范的XML文檔就被稱為是“well_formed”的XML文檔。如果一個“well_formed”的XML文檔,包含了DTD說明,那么這個文檔就被稱為是一個“valid”的XML文檔了。
----------------------

為什么XML文件的分析結果出現亂碼?

----------------------

  這是由編碼問題引起的。XML標準規定,XML分析器必須支持“UTF-8”和“UTF-16”編碼,而且必須能夠自動區分這兩種編碼的文件,對于其他編碼(包括常用的中文編碼“GB2312”或“BIG5”)并不要求支持。如果XML文件中包含編碼聲明,分析器則按照聲明的編碼進行處理,否則就按照識別結果進行處理(識別的結果總是“UTF-8”和“UTF-16”中的一種)。因此,如果XML文件的編碼在這兩種之外,你必須在XML文件前加上編碼聲明,如:<?xml version="1.0" encoding="gb2312"?>就表示XML文件的編碼是“gb2312”。

  現有的XML分析器大多不支持中文編碼“GB2312”或“BIG5”,因此無法讀取包含中文的XML文件。你可以使用支持中文編碼的分析器,如MSXML,IBMJAVA4C,IBMJAVA4J等進行XML分析。你也可以用內碼轉換工具,將編碼轉換為“UTF-8”或“UTF-16”后進行解析,然后將解析結果轉換回原來的編碼。本站的軟件園地中的ccnv(Code Converter)就是這樣的工具。當然,你也可以自己寫一個內碼轉換程序。

  關于“UTF-8”和“UTF-16”編碼的詳細信息,請查看本站標準薈萃中的UTF-16和UTF-8標準。


----------------------

XML如何與數據庫連接?

----------------------

  XML是一種文件格式,它沒有規定與數據庫的連接方法,你需要用傳統的方法連接數據庫,進行數據庫查詢,然后將查詢結果轉化為XML格式。現在有一些工具提供了XML與數據庫的連接過程大都遵循這樣的步驟。下面是一個利用ASP直接生成XML文件的例子,你可以訪問http://www.xml.net.cn/Asps/test/roster1.asp查看執行效果。

復制代碼 代碼如下:<%@ language="VBScript" %>
<?xml version="1.0" encoding="gb2312"?>
<?xml:stylesheet type="text/xsl" href="../image/roster.xsl"?> 
<roster>
<% 
set cConn = Server.CreateObject("ADODB.Connection")
call cConn.Open("DSN","USER", "PWD")
set rs = cConn.Execute("SELECT DISTINCT * FROM roster")
Do While Not rs.EOF %>
<Record>
<Name><%=trim(rs("name"))%></Name>
<NativePlace><%=trim(rs("NativePlace"))%></NativePlace>
<Age><%=trim(rs("Age"))%></Age>
<Telephone><%=trim(rs("Telephone"))%></Telephone>
</Record>
<% rs.MoveNext 
Loop
rs.Close
set rs=nothing
set cConn=nothing
%>
</roster>  

標簽: XML/RSS
相關文章:
主站蜘蛛池模板: 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 昊宇水工|河北昊宇水工机械工程有限公司 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 次氯酸钠厂家,涉水级次氯酸钠,三氯化铁生产厂家-淄博吉灿化工 | 陕西自考报名_陕西自学考试网| 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 厂厂乐-汇聚海量采购信息的B2B微营销平台-厂厂乐官网 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 新能源汽车电机定转子合装机 - 电机维修设备 - 睿望达 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 立刷【微电签pos机】-嘉联支付立刷运营中心| 高速混合机_锂电混合机_VC高效混合机-无锡鑫海干燥粉体设备有限公司 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器| 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 |