XML驗證

驗證 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:

  • 格式良好的XML文檔

  • 有效的XML文檔

良好的XML文檔

XML文檔被認爲是良好的,如果它附着在下面的規則:

  • 非DTD的XML文件必須使用預定義的字符實體 amp(&), apos(single quote), gt(>),lt(<), quote(double quote).

  • 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。

  • 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(.... or ).</p> </li> <li><p> 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.</p> </li> <li><p> amp(&), apos(single quote), gt(>), lt(<), quote(double quote) 除了這些之外的實體必須被聲明.</p> </li> </ul> <h3 id="示例">示例</h3> <p>格式良好的XML文檔的示例:</p> <?xml version\="1.0" encoding\="UTF-8" standalone\="yes" ?> <!DOCTYPE address \[ <!ELEMENT address (name,company,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone (#PCDATA)><p> ]> <address> <name>Tanmay Patil</name> <company>YiiBai</company> <phone>(011) 123-4567</phone> </address></p> <p>上面的例子被認爲是良好的形成爲:</p> <ul> <li><p> 它定義文檔類型。這裏,文檔類型是 元素 類型.</p> </li> <li><p> 它包括命名爲一個根元素 地址.</p> </li> <li><p> 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.</p> </li> <li><p> 保持標籤序.</p> </li> </ul> <h2 id="有效的xml文檔">有效的XML文檔</h2> <p>如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章 XML - DTDs.</p> </div></div></div><div class="functional-area-bottom"><div class="text-center"><div class="d-inline-block dropdown"><button type="button" id="dropdown-basic" aria-expanded="false" class="dropdown-toggle btn btn-outline-secondary btn-lg"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="share-nodes" class="svg-inline--fa fa-share-nodes " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M352 224c53 0 96-43 96-96s-43-96-96-96s-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9 .7-7.8 .7-11.9s-.2-8-.7-11.9l94.1-47C302.6 213.8 326.1 224 352 224z"></path></svg><span class="ml-1 show-row">Share</span></button></div></div></div></article></div><div class="card-footer"><div class="row"><div class="col"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="arrow-left" class="svg-inline--fa fa-arrow-left " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"></path></svg><a href="/xml/xml-encoding">XML編碼</a></div><div class="col text-md-end"><a href="/xml/xml-dtds"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="arrow-right" class="svg-inline--fa fa-arrow-right " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"></path></svg>XML文檔類型聲明</a></div></div></div></div></div></div></div></div><footer class="bg-white py-5 font-size-14" id="footer"><div class="container"><div class="row"><dl class="col-6 col-md-3 d-none d-sm-block"><dt class="h6">鏈接</dt><dd class="my-1"><a class="text-secondary" href="https://www.ecool.shop/" title="Ecool Shop">Ecool Shop</a></dd></dl></div><hr class="mt-2 mb-4"/><div class="row"><div class="col-md-12"><div class="text-secondary text-center"> Copyright © 2015-2023 億聚網.</div></div></div></div></footer><script src="/_next/static/chunks/webpack-546743ddf7e8cb4f.js" async=""></script><script src="/_next/static/chunks/bce60fc1-3d5ef5c4572453f6.js" async=""></script><script src="/_next/static/chunks/698-b4ee1b293f5fb4bc.js" async=""></script><script src="/_next/static/chunks/main-app-a5eb339177c85de1.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/1c4d07c82cde5388.css\",{\"as\":\"style\"}]\n0:\"$L2\"\n"])</script><script>self.__next_f.push([1,"3:I{\"id\":2353,\"chunks\":[\"272:static/chunks/webpack-546743ddf7e8cb4f.js\",\"253:static/chunks/bce60fc1-3d5ef5c4572453f6.js\",\"698:static/chunks/698-b4ee1b293f5fb4bc.js\"],\"name\":\"default\",\"async\":false}\n5:I{\"id\":43012,\"chunks\":[\"470:static/chunks/app/global-error-2d20c7d510a72141.js\"],\"name\":\"\",\"async\":false}\n6:I{\"id\":67676,\"chunks\":[\"957:static/chunks/59925f94-6302db480f248368.js\",\"210:static/chunks/ce69f5c4-ada3b84c9854a250.js\",\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"652:static/chunks/652-2922f1746919c870"])</script><script>self.__next_f.push([1,".js\",\"814:static/chunks/814-8c170bd1a2e2c86e.js\",\"928:static/chunks/928-e2c979bb342b0445.js\",\"285:static/chunks/285-4809214f326cf011.js\",\"185:static/chunks/app/layout-491b43680903f5ac.js\"],\"name\":\"\",\"async\":false}\n7:I{\"id\":29099,\"chunks\":[\"957:static/chunks/59925f94-6302db480f248368.js\",\"210:static/chunks/ce69f5c4-ada3b84c9854a250.js\",\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"652:static/chunks/652-2922f1746919c870.js\",\"814:static/chunks/814-8c170bd1a2e2c86e.js\",\"928:static/chunks/928-e2c979bb342b0445.js\""])</script><script>self.__next_f.push([1,",\"285:static/chunks/285-4809214f326cf011.js\",\"185:static/chunks/app/layout-491b43680903f5ac.js\"],\"name\":\"\",\"async\":false}\nb:I{\"id\":49180,\"chunks\":[\"272:static/chunks/webpack-546743ddf7e8cb4f.js\",\"253:static/chunks/bce60fc1-3d5ef5c4572453f6.js\",\"698:static/chunks/698-b4ee1b293f5fb4bc.js\"],\"name\":\"default\",\"async\":false}\nc:I{\"id\":92306,\"chunks\":[\"272:static/chunks/webpack-546743ddf7e8cb4f.js\",\"253:static/chunks/bce60fc1-3d5ef5c4572453f6.js\",\"698:static/chunks/698-b4ee1b293f5fb4bc.js\"],\"name\":\"default\",\"async\""])</script><script>self.__next_f.push([1,":false}\n"])</script><script>self.__next_f.push([1,"2:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/1c4d07c82cde5388.css\",\"precedence\":\"next\"}]],[\"$\",\"$L3\",null,{\"buildId\":\"PeSdcBxKDNQIZlulyUEdm\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/xml/xml-validation\",\"initialTree\":[\"\",{\"children\":[[\"slug\",\"xml\",\"d\"],{\"children\":[[\"post\",\"xml-validation\",\"d\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialHead\":[\"$L4\",null],\"globalErrorComponent\":\"$5\",\"notFound\":[\"$\",\"html\",null,{\"lang\":\"zh-Hant-TW\",\"children\":[[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"meta\",null,{\"charSet\":\"utf-8\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.png\"}],[\"$\",\"$L6\",null,{\"async\":true,\"src\":\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1574283203161704\"}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$L8\",[\"$L9\",[],[\"$\",\"div\",null,{\"className\":\"page-content\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"div\",null,{\"className\":\"box-404-wrap\",\"children\":[\"$\",\"div\",null,{\"className\":\"box\",\"children\":[\"$\",\"div\",null,{\"className\":\"d-flex flex-column align-items-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-wrap\",\"children\":[\"$\",\"h1\",null,{\"data-t\":\"404\",\"className\":\"h1\",\"children\":\"404\"}]}],[\"$\",\"div\",null,{\"className\":\"text-center mt-2\",\"children\":\"很抱歉,找不到此頁面! \"}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"a\",null,{\"role\":\"button\",\"tabindex\":\"0\",\"href\":\"/\",\"className\":\"btn btn-primary\",\"children\":\"可前往首頁重新尋找頁面\"}]}]]}]}]}]}]}]],[\"$\",\"footer\",null,{\"className\":\"bg-white py-5 font-size-14\",\"id\":\"footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[\"$\",\"dl\",null,{\"className\":\"col-6 col-md-3 d-none d-sm-block\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"h6\",\"children\":\"鏈接\"}],[\"$\",\"dd\",null,{\"className\":\"my-1\",\"children\":[\"$\",\"a\",null,{\"className\":\"text-secondary\",\"href\":\"https://www.ecool.shop/\",\"title\":\"Ecool Shop\",\"children\":\"Ecool Shop\"}]}]]}]}],[\"$\",\"hr\",null,{\"className\":\"mt-2 mb-4\"}],[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[\"$\",\"div\",null,{\"className\":\"col-md-12\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-secondary text-center\",\"children\":\" Copyright © 2015-2023 億聚網.\"}]}]}]]}]}]]}]}]]}],\"asNotFound\":false,\"children\":[[\"$\",\"html\",null,{\"lang\":\"zh-Hant-TW\",\"children\":[[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"meta\",null,{\"charSet\":\"utf-8\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.png\"}],[\"$\",\"$L6\",null,{\"async\":true,\"src\":\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1574283203161704\"}],[\"$\",\"body\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$La\",[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"hasLoading\":false,\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"notFound\":[\"$\",\"div\",null,{\"className\":\"page-content\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"div\",null,{\"className\":\"box-404-wrap\",\"children\":[\"$\",\"div\",null,{\"className\":\"box\",\"children\":[\"$\",\"div\",null,{\"className\":\"d-flex flex-column align-items-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-wrap\",\"children\":[\"$\",\"h1\",null,{\"data-t\":\"404\",\"className\":\"h1\",\"children\":\"404\"}]}],[\"$\",\"div\",null,{\"className\":\"text-center mt-2\",\"children\":\"很抱歉,找不到此頁面! \"}],[\"$\",\"div\",null,{\"className\":\"mt-4\",\"children\":[\"$\",\"a\",null,{\"role\":\"button\",\"tabindex\":\"0\",\"href\":\"/\",\"className\":\"btn btn-primary\",\"children\":\"可前往首頁重新尋找頁面\"}]}]]}]}]}]}]}],\"notFoundStyles\":[],\"childProp\":{\"current\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",[\"slug\",\"xml\",\"d\"],\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"hasLoading\":false,\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"childProp\":{\"current\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",[\"slug\",\"xml\",\"d\"],\"children\",[\"post\",\"xml-validation\",\"d\"],\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"hasLoading\":false,\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"childProp\":{\"current\":[\"$Ld\",null],\"segment\":\"__PAGE__\"},\"styles\":[]}],\"segment\":[\"post\",\"xml-validation\",\"d\"]},\"styles\":[]}],\"segment\":[\"slug\",\"xml\",\"d\"]},\"styles\":[]}],[\"$\",\"footer\",null,{\"className\":\"bg-white py-5 font-size-14\",\"id\":\"footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[\"$\",\"dl\",null,{\"className\":\"col-6 col-md-3 d-none d-sm-block\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"h6\",\"children\":\"鏈接\"}],[\"$\",\"dd\",null,{\"className\":\"my-1\",\"children\":[\"$\",\"a\",null,{\"className\":\"text-secondary\",\"href\":\"https://www.ecool.shop/\",\"title\":\"Ecool Shop\",\"children\":\"Ecool Shop\"}]}]]}]}],[\"$\",\"hr\",null,{\"className\":\"mt-2 mb-4\"}],[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[\"$\",\"div\",null,{\"className\":\"col-md-12\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-secondary text-center\",\"children\":\" Copyright © 2015-2023 億聚網.\"}]}]}]]}]}]]}]}]]}],null]}]]\n"])</script><script>self.__next_f.push([1,"e:I{\"id\":43817,\"chunks\":[\"957:static/chunks/59925f94-6302db480f248368.js\",\"210:static/chunks/ce69f5c4-ada3b84c9854a250.js\",\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"652:static/chunks/652-2922f1746919c870.js\",\"814:static/chunks/814-8c170bd1a2e2c86e.js\",\"928:static/chunks/928-e2c979bb342b0445.js\",\"285:static/chunks/285-4809214f326cf011.js\",\"185:static/chunks/app/layout-491b43680903f5ac.js\"],\"name\":\"\",\"async\":false}\nf:I{\"id\":77095,\"chunks\":[\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"91:static/chunks/app/c"])</script><script>self.__next_f.push([1,"ategory/[slug]/page-bbf4c946a9f81329.js\"],\"name\":\"\",\"async\":false}\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"div\",null,{\"className\":\"shadow-sm\",\"id\":\"sf-header\",\"children\":[[\"$\",\"$Le\",null,{}],[\"$\",\"div\",null,{\"className\":\"sub-head d-lg-flex bg-white\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"div\",null,{\"className\":\"tag-container-outer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"tag-container\",\"children\":[[\"$\",\"span\",\"java\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/java\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"Java技術\"}]}],[\"$\",\"span\",\"web\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/web\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"Web開發\"}]}],[\"$\",\"span\",\"hightlang\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/hightlang\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"高級語言\"}]}],[\"$\",\"span\",\"misc\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/misc\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"其他技術\"}]}],[\"$\",\"span\",\"script\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/script\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"腳本語言\"}]}],[\"$\",\"span\",\"database\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/database\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"數據庫\"}]}],[\"$\",\"span\",\"bigdata\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/bigdata\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"大數據教程\"}]}],[\"$\",\"span\",\"xml\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/xml\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"XML技術\"}]}],[\"$\",\"span\",\"zhuanyejiaoyu\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/zhuanyejiaoyu\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"專業教育\"}]}],[\"$\",\"span\",\"framework\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/framework\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"框架\"}]}],[\"$\",\"span\",\"software\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/software\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"軟件工具教程\"}]}],[\"$\",\"span\",\"telecom\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/telecom\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"通信技術\"}]}],[\"$\",\"span\",\"5f75e0e8c632ea000650d41e\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/microsoft-technology\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"微軟技術\"}]}],[\"$\",\"span\",\"quality\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/quality\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"軟件測試\"}]}],[\"$\",\"span\",\"mobile-dev\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/mobile-dev\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"手機開發\"}]}],[\"$\",\"span\",\"frontend\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/frontend\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"前端技術\"}]}],[\"$\",\"span\",\"5f75e2d9c632ea000650d488\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/artificial-intelligence\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"人工智能\"}]}],[\"$\",\"span\",\"how2code\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/how2code\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"實例代碼\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"gradient-block\"}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"div\",null,{\"className\":\"shadow-sm\",\"id\":\"sf-header\",\"children\":[[\"$\",\"$Le\",null,{}],[\"$\",\"div\",null,{\"className\":\"sub-head d-lg-flex bg-white\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"div\",null,{\"className\":\"tag-container-outer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"tag-container\",\"children\":[[\"$\",\"span\",\"java\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/java\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"Java技術\"}]}],[\"$\",\"span\",\"web\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/web\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"Web開發\"}]}],[\"$\",\"span\",\"hightlang\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/hightlang\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"高級語言\"}]}],[\"$\",\"span\",\"misc\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/misc\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"其他技術\"}]}],[\"$\",\"span\",\"script\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/script\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"腳本語言\"}]}],[\"$\",\"span\",\"database\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/database\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"數據庫\"}]}],[\"$\",\"span\",\"bigdata\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/bigdata\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"大數據教程\"}]}],[\"$\",\"span\",\"xml\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/xml\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"XML技術\"}]}],[\"$\",\"span\",\"zhuanyejiaoyu\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/zhuanyejiaoyu\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"專業教育\"}]}],[\"$\",\"span\",\"framework\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/framework\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"框架\"}]}],[\"$\",\"span\",\"software\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/software\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"軟件工具教程\"}]}],[\"$\",\"span\",\"telecom\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/telecom\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"通信技術\"}]}],[\"$\",\"span\",\"5f75e0e8c632ea000650d41e\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/microsoft-technology\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"微軟技術\"}]}],[\"$\",\"span\",\"quality\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/quality\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"軟件測試\"}]}],[\"$\",\"span\",\"mobile-dev\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/mobile-dev\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"手機開發\"}]}],[\"$\",\"span\",\"frontend\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/frontend\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"前端技術\"}]}],[\"$\",\"span\",\"5f75e2d9c632ea000650d488\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/artificial-intelligence\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"人工智能\"}]}],[\"$\",\"span\",\"how2code\",{\"className\":\"tag-nav__item me-3\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/category/how2code\",\"className\":\"text-secondNav\",\"prefetch\":false,\"children\":\"實例代碼\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"gradient-block\"}]]}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"10:I{\"id\":48364,\"chunks\":[\"957:static/chunks/59925f94-6302db480f248368.js\",\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"652:static/chunks/652-2922f1746919c870.js\",\"814:static/chunks/814-8c170bd1a2e2c86e.js\",\"507:static/chunks/507-b7b248284dd3c803.js\",\"928:static/chunks/928-e2c979bb342b0445.js\",\"27:static/chunks/app/[slug]/[post]/page-f1024873a96f4ead.js\"],\"name\":\"\",\"async\":false}\n23:I{\"id\":84010,\"chunks\":[\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"91:static/chunks/app/category/[slug]/page-bbf4c946a9f81329"])</script><script>self.__next_f.push([1,".js\"],\"name\":\"\",\"async\":false}\n24:I{\"id\":9362,\"chunks\":[\"957:static/chunks/59925f94-6302db480f248368.js\",\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"652:static/chunks/652-2922f1746919c870.js\",\"814:static/chunks/814-8c170bd1a2e2c86e.js\",\"507:static/chunks/507-b7b248284dd3c803.js\",\"190:static/chunks/app/article/[slug]/page-8819d505c1df94c3.js\"],\"name\":\"\",\"async\":false}\n26:I{\"id\":91947,\"chunks\":[\"957:static/chunks/59925f94-6302db480f248368.js\",\"703:static/chunks/703-ad7f7a9d88b70895.js\",\"652:static/chunks/652"])</script><script>self.__next_f.push([1,"-2922f1746919c870.js\",\"814:static/chunks/814-8c170bd1a2e2c86e.js\",\"507:static/chunks/507-b7b248284dd3c803.js\",\"928:static/chunks/928-e2c979bb342b0445.js\",\"27:static/chunks/app/[slug]/[post]/page-f1024873a96f4ead.js\"],\"name\":\"\",\"async\":false}\n11:Tbbe,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML指可擴展標記語言。它是從標準通用標記語言派生的基於文本的標記語言(SGML).\u003c/p\u003e \n\u003cp\u003e XML標籤標識數據和用於存儲和組織數據,而不是指定了如何顯示它象HTML標籤,其用於顯示數據。 XML是不會在不久的將來,以取代HTML,但是它通過採用HTML的許多成功的功能引入了新的可能性。\u003c/p\u003e \n\u003cp\u003e 有XML的三個重要的特點,使得它在各種系統和解決方案有用:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e \u003cstrong\u003eXML是可擴展的:\u0026nbsp;\u003c/strong\u003eXML允許你創建自己的自描述性的標籤,或語言,適合您的應用程序.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e \u003cstrong\u003eXML進行數據 :\u003c/strong\u003e\u0026nbsp;不存在它:XML允許你無論存儲將如何呈現這些數據.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e \u003cstrong\u003eXML是一個公共標準 :\u003c/strong\u003e\u0026nbsp;XML是由一個組織開發的名爲萬維網聯盟(W3C),並可以作爲一個開放的標準.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e XML的使用方法\u003c/h2\u003e \n\u003cp\u003e XML用法的簡短列表說明了一切:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML可以在幕後工作,以簡化創建HTML文檔的大型網站.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以用來交換機構和系統之間的信息.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以用於卸載和重裝數據庫.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以用於存儲和整理的數據,這些數據可以自定義您的數據處理需求.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以很容易地用樣式表合併,以創建幾乎任何所需的輸出.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 實質上,任何類型的數據可以被表示爲XML文檔.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 什麼是標記?\u003c/h2\u003e \n\u003cp\u003e XML是定義一組規則進行編碼的格式是人類可讀和機器可讀的文檔的標記語言。那麼究竟是一種標記語言?標記被添加到提高它的意義在某些方面,因爲它確定了部分文件,以及它們如何相互關聯的信息。更具體地,標記語言是一組符號,可以被放置在一個文檔中的文本以劃分和標記的文檔的部分.\u003c/p\u003e \n\u003cp\u003e 下面的例子演示瞭如何XML標記看起來,在嵌入一段文字:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"tag\"\u003e\u0026lt;message\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;text\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eHello, world!\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/text\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/message\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 該片段包含標記符號或標記,如\u0026lt; 消息\u0026gt;...\u0026lt;/ message\u0026gt;和\u0026lt;文本\u0026gt;...。標籤\u0026lt;消息\u0026gt;和標記的開始和XML代碼片段的結尾。標籤\u0026lt;文本\u0026gt;和中環繞文字的Hello,world!.\u003c/p\u003e \n\u003ch2\u003e 是基於XML的編程語言?\u003c/h2\u003e \n\u003cp\u003e 一種編程語言,具有被用於創建計算機程序的語法規則和它自己的詞彙表。這些程序指示計算機執行特定的任務。 XML沒有資格成爲一門編程語言,因爲它不執行任何計算或算法。它通常是存儲在一個簡單的文本文件,並通過特殊的軟件,它能夠解釋的XML處理。.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"12:T196a,"])</script><script>self.__next_f.push([1,"\u003cp\u003e \u003cstrong\u003e本章將帶您通過簡單的語法規則來編寫一個XML文檔。以下是一個完整的XML文檔:\u003c/strong\u003e\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\n\u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n\u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\r\n\u0026lt;/contact-info\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 你可以注意在上述的例子上有兩種類型的信息:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e markup, like\u0026nbsp;\u0026lt;contact-info\u0026gt;\u0026nbsp;and\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 該 文字, 或 該 性格 數據,\u0026nbsp;Tutorials Point\u0026nbsp;and\u0026nbsp;(040) 123-4567.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cp\u003e 下圖描述了語法規則的XML文檔中編寫不同類型的標記和文字.\u003c/p\u003e \n\u003cimg alt=\"XML語法規則\" src=\"https://asset.1ju.org/cmsstatic/xml-4.png\"\u003e \n\u003cp\u003e 讓我們來看看詳細上圖中的每個組成部分:\u003c/p\u003e \n\u003ch2\u003e XML聲明\u003c/h2\u003e \n\u003cp\u003e XML文檔可以有一個XML聲明。它可寫爲以下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\" encoding=\"UTF-8\"?\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏\u0026nbsp;版本是\u0026nbsp;XML版本和\u0026nbsp;編碼\u0026nbsp;指定文檔中的字符編碼.\u003c/p\u003e \n\u003ch3\u003e XML聲明的句法規則\u003c/h3\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML聲明是區分大小寫的,並且必須以「&LT;?XML和GT;」與「XML」是用小寫寫入.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 如果文檔中包含的XML聲明,它應該是XML文檔的第一條語句.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML聲明應該是XML文檔的第一條語句.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個HTTP協議可以覆蓋的值\u0026nbsp;編碼\u0026nbsp;你在XML聲明中使用.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 標記和元素\u003c/h2\u003e \n\u003cp\u003e XML文件是由幾個XML元素,也稱爲XML節點或XML的標記結構。 XML元素的名稱是由三角支架&LT封閉;與GT;如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element\u0026gt;\r\u003c/pre\u003e \n\u003ch3\u003e 標籤和元素的句法規則\u003c/h3\u003e \n\u003cp\u003e \u003cstrong\u003e元素句法 :\u0026nbsp;\u003c/strong\u003e每個XML元素需要被關閉或者與起始或結尾的元素,如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element\u0026gt;....\u0026lt;/element\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 或者在簡單的情況下,僅僅是這樣:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element/\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e \u003cstrong\u003e元素的嵌套 :\u0026nbsp;\u003c/strong\u003e一個XML元素可以包含多個XML元素作爲它的孩子,但孩子們的元素不能重疊。例如,一個元件的端標籤必須具有相同的名字而最近匹配的開始標記.\u003c/p\u003e \n\u003cp\u003e 下面的例子顯示不正確的嵌套標籤:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;company\u0026gt;YiiBai\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;/company\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的示例演示正確的嵌套標籤:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e \u003cstrong\u003e根元素 :\u0026nbsp;\u003c/strong\u003e一個XML文檔只能有一個根元素。例如,下面是不是一個正確的XML文檔,因爲無論是X和Y的元素出現在頂層沒有一個根元素:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;x\u0026gt;...\u0026lt;/x\u0026gt;\r\n\u0026lt;y\u0026gt;...\u0026lt;/y\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的例子展示了一個正確的XML文檔:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;root\u0026gt;\r\n \u0026lt;x\u0026gt;...\u0026lt;/x\u0026gt;\r\n \u0026lt;y\u0026gt;...\u0026lt;/y\u0026gt;\r\n\u0026lt;/root\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e \u003cstrong\u003e區分大小寫 :\u0026nbsp;\u003c/strong\u003eXML的元素名稱是區分大小寫的。這意味着在啓動的名稱和端元件必須在同樣的鉅細寫.\u003c/p\u003e \n\u003cp\u003e 例如\u0026nbsp;\u003cstrong\u003e\u0026lt;contact-info\u0026gt;\u003c/strong\u003e\u0026nbsp;這是不同於\u003cstrong\u003e\u0026nbsp;\u0026lt;Contact-Info\u0026gt;.\u003c/strong\u003e\u003c/p\u003e \n\u003ch2\u003e 屬性\u003c/h2\u003e \n\u003cp\u003e 一個屬性指定元素的單個屬性。使用名稱/值對的XML元素可以具有一個或多個屬性。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;a href=\"http://www.yiibai.com/\"\u0026gt;Yiibai!\u0026lt;/a\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 在這裏\u0026nbsp;\u003cem\u003ehref\u0026nbsp;\u003c/em\u003e是該屬性的名稱和\u0026nbsp;http://www.yiibai.com/\u0026nbsp;是屬性值\u003c/p\u003e \n\u003ch3\u003e XML屬性的句法規則\u003c/h3\u003e \n\u003cpre class=\"prettyprint\"\u003e\r\n\u0026lt;a b=\"x\" c=\"y\" b=\"z\"\u0026gt;....\u0026lt;/a\u0026gt;\r\u003c/pre\u003e \n\u003cpre class=\"prettyprint\"\u003e\r\n\u0026lt;a b=x\u0026gt;....\u0026lt;/a\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 在上面的語法,屬性值不會下引號定義.\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 屬性名稱以XML(不像HTML)是大小寫敏感的.\u0026nbsp;HREF\u0026nbsp;and\u0026nbsp;href\u0026nbsp;這被認爲是兩個不同的XML屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 相同的屬性不能有一個語法兩個值。下面的例子顯示,因爲該屬性指定了兩次不正確的句法:\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 屬性名稱定義不帶引號,而屬性值必須始終出現在引號中。下面的例子演示了不正確XML句法:\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e XML的參考資料\u003c/h2\u003e \n\u003cp\u003e 參考\u0026nbsp;通常允許您添加或包含在XML文檔中其他文字或標記\u0026nbsp;\"\u0026amp;\"\u0026nbsp;,參考資料總是以符號的放大器,這是一個保留字符和符號的」結尾\u0026nbsp;\";\". XML有兩種類型參考:\u003c/p\u003e \n\u003cp\u003e 實體參考 :\u0026nbsp;實體引用包含起始和結束定界符之間的名稱.例如\u0026nbsp;\u0026amp;amp;\u0026nbsp;在這裏\u0026nbsp;amp\u0026nbsp;是\u0026nbsp;名稱. 這個名字指一個預定義的字符串文字或標記.\u003c/p\u003e \n\u003cp\u003e 字符參 :\u0026nbsp;這些包含參考,如\u0026nbsp;\u0026amp;#65;,包含一個hash符號(「#」) 後面跟一個數字. 數總是指一個字符的Unicode代碼。在這種情況下,65指的是字母 \"A\".\u003c/p\u003e \n\u003ch2\u003e XML文本\u003c/h2\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML的元素和XML的屬性的名稱是區分大小寫的,這意味着開始和結束元素的名稱必須寫在相同的大小寫.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 爲了避免字符編碼的問題,所有的XML文件保存爲Unicode UTF-8或UTF-16文件.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 空白字符,如空格,製表符和XML元素之間和XML的屬性之間的換行符將被忽略.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 有些字符由XML語法本身保留。因此,它們不能被直接使用。要使用它們,一些更換,實體使用,這在下面列出:\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ctable\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003cth\u003e 不允許的字符\u003c/th\u003e \n \u003cth\u003e 替代實體\u003c/th\u003e \n \u003cth\u003e 字符描述\u003c/th\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u0026lt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;lt;\u003c/td\u003e \n \u003ctd\u003e 小於\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u0026gt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;gt;\u003c/td\u003e \n \u003ctd\u003e 大於\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u0026amp;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;amp;\u003c/td\u003e \n \u003ctd\u003e 符號\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e '\u003c/td\u003e \n \u003ctd\u003e \u0026amp;apos;\u003c/td\u003e \n \u003ctd\u003e 撇號\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \"\u003c/td\u003e \n \u003ctd\u003e \u0026amp;quot;\u003c/td\u003e \n \u003ctd\u003e 引號\u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003cbr\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"13:Ted7,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹了XML聲明的細節。 XML聲明包含了準備XML處理器解析XML文檔的詳細信息。它是可選的,但在使用時,它必須出現在XML文檔中的第一行.\u003c/p\u003e \n\u003ch2\u003e 句法\u003c/h2\u003e \n\u003cp\u003e 下面的句法是XML聲明:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml\r\n version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"version_number\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"encoding_declaration\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"standalone_status\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 每個參數包含一個參數的名稱,等號報價中號(=)和參數值。下表列出了詳細的上述語法:\u003c/p\u003e \n\u003ctable\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003cth\u003e 參數\u003c/th\u003e \n \u003cth\u003e 參數\u003c/th\u003e \n \u003cth\u003e 參數說明\u003c/th\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u003cp\u003e 版本\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 1.0\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 指定XML標準所使用的版本.\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u003cp\u003e 編碼\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 to ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 它定義了文檔中使用的字符編碼​​。 UTF-8是使用的默認編碼.\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u003cp\u003e 單機\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e \u003ci\u003e是\u003c/i\u003e\u0026nbsp;或\u0026nbsp;\u003ci\u003e否\u003c/i\u003e.\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 它通知文件是否依賴於信息從外部源,諸如外部的文檔類型定義(DTD)的語法分析程序,其內容。默認值被設置爲無。將其設置爲yes告訴處理器有需要解析的文件沒有外部聲明。\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003ch2\u003e 規則\u003c/h2\u003e \n\u003cp\u003e 一個XML聲明,應當遵守下列規定\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 如果XML聲明是存在於XML中,必須將其放置爲在XML文檔中的第一行.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 如果XML聲明包含,它必須包含版本號屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 參數名稱和值是區分大小寫的.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 該名總是以小寫字母.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 放置參數的順序是很重要的。正確的順序是:版本,編碼和獨立.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 可用於單個或雙引號.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML聲明沒有結束標籤,即;\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e XML聲明的例子\u003c/h2\u003e \n\u003cp\u003e 以下是XML的聲明幾個例子:\u003c/p\u003e \n\u003cp\u003e XML聲明不帶參數:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml \u003c/span\u003e\u003cspan class=\"pun\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e XML聲明與版本定義:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml \u003c/span\u003e\u003cspan class=\"pun\"\u003e版本=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e XML聲明與定義的所有參數:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"no\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e XML聲明在單引號中定義的所有參數:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e'1.0'\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e'iso-8859-1'\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e'no'\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"14:T8ed,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 讓我們瞭解 XML最重要的部分,XML標籤。 XML標籤組成的XML的基礎。它定義了在XML中的元素的範圍。它也可以被用來插入註釋,聲明需要解析的環境設置和插入特殊指令。\u003c/p\u003e \n\u003cp\u003e 我們可以大致歸類XML標籤,如下:\u003c/p\u003e \n\u003ch2\u003e 開始標籤\u003c/h2\u003e \n\u003cp\u003e 每一個非空的XML元素的開始的標誌是一個開始標籤。開始標記的一個例子是:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address\u0026gt;\r\u003c/pre\u003e \n\u003ch2\u003e 結束標記\u003c/h2\u003e \n\u003cp\u003e 有一個開始標籤應該結束標記結束的每一個元素。結束標籤的一個例子是:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;/address\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 請注意,結束標記包含斜線(「/」)元素的名稱前.\u003c/p\u003e \n\u003ch2\u003e 空標籤\u003c/h2\u003e \n\u003cp\u003e 在開始標籤和結束標籤之間的文本被稱爲內容。這是沒有內容的元素稱爲空。一個空元素可以用兩種方法,如下表示:\u003c/p\u003e \n\u003cp\u003e (1)\u0026nbsp;起始標籤緊跟一個結束標籤,如下圖所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;hr\u0026gt;\u0026lt;/hr\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e (2)\u0026nbsp;一 個完整的空元素標籤,如下圖所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;hr /\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 空元素標籤可以用於其中沒有內容的任何元件.\u003c/p\u003e \n\u003ch2\u003e XML標籤規則\u003c/h2\u003e \n\u003cp\u003e 以下是需要遵循使用XML標記規則:\u003c/p\u003e \n\u003ch3\u003e 規則1\u003c/h3\u003e \n\u003cp\u003e XML標籤是區分大小寫的。下面的代碼線被錯誤的語法的一例 \u0026lt;/Address\u0026gt;, 因爲在兩個標籤都有不同的字符大小寫把它將被視爲以錯誤的XML句法.\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address\u0026gt;這是錯誤的句法\u0026lt;/Address\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的代碼顯示了一個正確的方法,在這裏我們使用了相同的大小寫爲開始和結束標記.\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address\u0026gt;這是正確的句法\u0026lt;/address\u0026gt;\r\u003c/pre\u003e \n\u003ch3\u003e 規則2\u003c/h3\u003e \n\u003cp\u003e XML標記必須是封閉在一個合適的順序,例如,另一個元件內的XML標籤打開之前的外元件被關閉,必須關閉。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;outer_element\u0026gt;\r\n \u0026lt;internal_element\u0026gt;\r\n This tag is closed before the outer_element\r\n \u0026lt;/internal_element\u0026gt;\r\n\u0026lt;/outer_element\u0026gt;\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"15:T800,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML元素可以被定義爲XML的積木。元素可以表現爲容器,以容納文本,元素,屬性,媒體對象或所有的這些.\u003c/p\u003e \n\u003cp\u003e 每個XML文檔包含一個或多個元素,其範圍是任一分隔的由開始和結束標記,或者爲空元素,用一個空元素標籤.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e 以下是XML元素語法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element-name attribute1 attribute2\u0026gt;\r\n....content\r\n\u0026lt;/element-name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 那麼\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML元素\u0026nbsp;是元素的名稱\u0026nbsp;name\u0026nbsp;開始和結束標記必須匹配.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e ATTRIBUTE1,attribute2\u0026nbsp;是由空格分隔的元素的屬性。屬性定義了元素的屬性。它關聯的名稱與價值,這是字符的字符串。屬性被寫爲:\u003c/p\u003e \u003cpre class=\"prettyprint notranslate\"\u003e\r\nname = \"value\"\r\u003c/pre\u003e \u003cp\u003e 名後跟一個等號(=)和雙引號(「」)或單引號(''),引號內的字符串值。\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 空元素\u003c/h2\u003e \n\u003cp\u003e 空元素(沒有內容的元素)的語法如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;name attribute1 attribute2.../\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 使用各種XML元素的XML文檔的例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n \u0026lt;address category=\"residence\"\u0026gt;\r\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\r\n \u0026lt;address/\u0026gt;\r\n\u0026lt;/contact-info\u0026gt;\r\u003c/pre\u003e \n\u003ch2\u003e XML元素規則\u003c/h2\u003e \n\u003cp\u003e 需要以下規則應遵循的XML元素:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 元素名稱可以包含任何字母數字字符。在名稱中允許的唯一的標點符號是連字符( - ),在得分(_)和句點(。).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 名稱是區分大小寫的。例如,地址,地址,和地址是不同的名稱.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 開始和結束標記必須必須相同。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個元素它是一個容器可以包含文本或元素在上述例子中看到的.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"16:Tfaa,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹有關XML屬性。屬性是XML元素的一部分。一個元素可以有多個獨特的屬性。屬性提供了有關XML元素的詳細信息\u0026nbsp;XML屬性始終是一個名稱\u0026nbsp;值對.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e XML屬性有以下語法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element-name attribute1 attribute2 \u0026gt;\r\n....content..\r\n\u0026lt; /element-name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏\u0026nbsp;attribute1\u0026nbsp;和\u0026nbsp;attribute2\u0026nbsp;具有以下形式:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\nname = \"value\"\r\u003c/pre\u003e \n\u003cp\u003e 值必須在雙 (\" \") 或單 (' ') quotes. 在這裏\u0026nbsp;attribute1\u0026nbsp;和\u0026nbsp;attribute2\u0026nbsp;是獨特的屬性標籤.\u003c/p\u003e \n\u003cp\u003e 屬性是用來添加一個唯一的標籤元素,將標籤貼在一個類別,添加一個布爾標誌,或用一些數據字符串相關聯。下面的例子演示瞭如何使用屬性。:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\" encoding=\"UTF-8\"?\u0026gt;\r\n\u0026lt;!DOCTYPE garden [\r\n \u0026lt;!ELEMENT garden (plants)*\u0026gt;\r\n \u0026lt;!ELEMENT plants (#PCDATA)\u0026gt;\r\n \u0026lt;!ATTLIST plants category CDATA #REQUIRED\u0026gt;\r\n]\u0026gt;\r\n\u0026lt;garden\u0026gt;\r\n \u0026lt;plants category=\"flowers\" /\u0026gt;\r\n \u0026lt;plants category=\"shrubs\"\u0026gt;\r\n \u0026lt;/plants\u0026gt;\r\n\u0026lt;/garden\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 屬性可以區分名稱相同的元件之間。當你不希望創建在任何情況下的新元素。因此,使用一個屬性可以區分兩個或兩個以上類似的元素添加更多的細節.\u003c/p\u003e \n\u003cp\u003e 在上面的例子中,我們已經通過包括屬性分類並分配不同的值給每個元件的分類的植物\u0026nbsp;因此\u0026nbsp;我們有兩大類植物,一是花等顏色\u0026nbsp;因此, 我們\u0026nbsp;有兩個\u0026nbsp;植物的元\u0026nbsp;素具. 有不同屬性.\u003c/p\u003e \n\u003cp\u003e 你也可以看到在XML的開始時我們已宣佈該屬性.\u003c/p\u003e \n\u003ch2\u003e 屬性類型\u003c/h2\u003e \n\u003cp\u003e 下表列出的屬性的類型:\u003c/p\u003e \n\u003ctable\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003cth\u003e 屬性類型\u003c/th\u003e \n \u003cth\u003e 說明\u003c/th\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e 字符串類型\u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 它考慮任何文本字符串作爲值。 CDATA是字符串類型。 CDATA是字符數據。這意味着,非標記字符串中的字符是屬性的法律的一部分.\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e 標記過的類型\u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 這是更多的限制類型。後的屬性值是歸一化的,有效性約束所用的語法適用。記號化類型屬性給出如下:\u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003e \u003cp\u003e ID :\u0026nbsp;它是用來指定唯一元素.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e IDREF :\u0026nbsp;它是用來引用已命名爲另一種元素的ID.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e IDREFS :\u0026nbsp;這是用來表示一個元件的所有ID.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e ENTITY :\u0026nbsp;表示該屬性將代表文件中的外部實體.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e ENTITIES :\u0026nbsp;它表示該屬性表示文檔中的外部實體.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e NMTOKEN :\u0026nbsp;它類似於CDATA對哪些數據可以是屬性的一部分的限制.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e NMTOKENS :\u0026nbsp;它類似於CDATA對哪些數據可以是屬性的一部分的限制.\u003c/p\u003e \u003c/li\u003e \n \u003c/ul\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e 枚舉類型\u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 這在其聲明中預定義的值列表。外面,就必須分配一個值。有兩種類型的枚舉屬性:\u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003e \u003cp\u003e 符號類型 :\u0026nbsp;它聲明的元素將被引用到的XML文檔中聲明其他地方的符號.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 枚舉 :\u0026nbsp;枚舉允許您定義的值,該屬性值必須匹配的具體名單.\u003c/p\u003e \u003c/li\u003e \n \u003c/ul\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003ch2\u003e 元素屬性規則\u003c/h2\u003e \n\u003cp\u003e 以下是需要遵循的屬性的規則:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 屬性名稱不能在同一起始標籤或空元素標籤中出現一次.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個屬性必須使用屬性表聲明的文檔類型定義(DTD)的聲明.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 屬性值不能包含直接或間接的實體引用外部實體.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 任何實體的替換文本稱爲直接或間接的屬性值中不能包含任何小於號 \u0026lt;\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"17:Tc2b,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹了有關XML\u0026nbsp;字符實體. 我們瞭解到字符實體之前,讓我們先了解什麼是XML實體.\u003c/p\u003e \n\u003cp\u003e 如上述\u0026nbsp;\u003ca href=\"http://www.w3.org/TR/REC-xml/#dt-docent\"\u003eW3 Consortium\u003c/a\u003e\u0026nbsp;實體的定義如下:\u003c/p\u003e \n\u003cblockquote\u003e \n \u003cp\u003e 文檔實體工作爲實體的根本和XML處理器的出發點.\u003c/p\u003e \n\u003c/blockquote\u003e \n\u003cp\u003e 實體在XML中的佔位符。這些都可以在文檔序言或在DTD中聲明。有不同類型的實體本章將討論字符實體.\u003c/p\u003e \n\u003cp\u003e HTML和XML有保留它們的使用,這是不能被用作在XML代碼的內容的一些符號。例如,\u0026lt;和\u0026gt;符號被用於打開和關閉的XML標記。字符實體用於爲了顯示這些特殊字符.\u003c/p\u003e \n\u003cp\u003e 還有一些特殊的字符或符號的不可用,但是,可以直接從鍵盤輸入的。字符實體可以被用於顯示這些符號/特殊字符.\u003c/p\u003e \n\u003ch2\u003e 字符實體類型\u003c/h2\u003e \n\u003cp\u003e 有三種類型的字符實體:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e 預定義的字符實體\u003c/li\u003e \n \u003cli\u003e 編號字符實體\u003c/li\u003e \n \u003cli\u003e 命名字符實體\u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 預定義的字符實體\u003c/h3\u003e \n\u003cp\u003e 在使用某些碼元的時候把這些被引入以避免混淆。例如,一個模糊觀察時小於(\u0026lt;)或大於(\u0026gt;)符號用於與角標記(\u0026lt;\u0026gt;)。字符實體基本上都是用來分隔標記的XML。以下是預定義的字符實體從XML規範的列表。這些可以被用於表達字符無歧義。.\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e Ampersand: \u0026amp;amp;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 單引號: \u0026amp;apos;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 大於:&GT;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 不足:&LT;;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 雙引號:&QUOT;;\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 數字字符實體\u003c/h3\u003e \n\u003cp\u003e 數字參考用於表示一個字符實體。參考數值可以是十進制或十六進制格式。由於有數以千計的數字參考用,這些都是有點難以記住。數字引用指的是字符由它在Unicode字符集數.\u003c/p\u003e \n\u003cp\u003e 十進制數值參考一般的語法是:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n&#十進制數 ;\r\u003c/pre\u003e \n\u003cp\u003e 十六進制數字參考一般語法如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n&#x的十六進制數; ;\r\u003c/pre\u003e \n\u003cp\u003e 下表列出了它們的數值一些預定義的字符實體:\u003c/p\u003e \n\u003ctable\u003e \n \u003cthead\u003e \n \u003ctr\u003e \n \u003cth\u003e 實體名稱\u003c/th\u003e \n \u003cth\u003e 性格\u003c/th\u003e \n \u003cth\u003e 十進制參考\u003c/th\u003e \n \u003cth\u003e 十六進制參考\u003c/th\u003e \n \u003c/tr\u003e \n \u003c/thead\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003ctd\u003e quot\u003c/td\u003e \n \u003ctd\u003e \"\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#34;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x22;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e amp\u003c/td\u003e \n \u003ctd\u003e \u0026amp;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#38;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x26;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e apos\u003c/td\u003e \n \u003ctd\u003e '\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#39;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x27;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e lt\u003c/td\u003e \n \u003ctd\u003e \u0026lt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#60;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x3C;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e gt\u003c/td\u003e \n \u003ctd\u003e \u0026gt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#62;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x3E;\u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003ch3\u003e 命名的字符實體\u003c/h3\u003e \n\u003cp\u003e 因爲它是很難記住的數字字符,字符實體的最佳類型是已命名的字符實體。在這裏,每一個實體標識的名稱.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"18:T704,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章討論處理XML文檔的空白。空白是空格,製表符和換行符的集合。它通常被用來使一個文件的可讀性.\u003c/p\u003e \n\u003cp\u003e XML文檔包含兩種類型的空白\u0026nbsp;(a)\u0026nbsp;顯著空白(b)\u0026nbsp;和無關緊要的空白. 兩者都以實例說明如下.\u003c/p\u003e \n\u003ch2\u003e 顯著空白\u003c/h2\u003e \n\u003cp\u003e 該顯著空白是包含文本和標記​​一起元素中。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;name\u0026gt;TanmayPatil\u0026lt;/name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 和\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 上述兩個因素是由於\u0026nbsp;Tanmay\u0026nbsp;和\u0026nbsp;Patil\u0026nbsp;之間的空間中的不同. 任何程序在XML文件中讀取此元件必須保持的區別.\u003c/p\u003e \n\u003ch2\u003e 無關緊要的空白\u003c/h2\u003e \n\u003cp\u003e 無意義的空白意味着這裏只允許元素含量的空間。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address.category=\"residence\"\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 或\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address....category=\"..residence\"\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 上面的兩個例子是一樣的。這裏,該空間是由點來表示 (.). 在上面的例子中,\u0026nbsp;地址\u0026nbsp;和\u0026nbsp;分類\u0026nbsp;之間的空間是無關緊要的.\u003c/p\u003e \n\u003cp\u003e 名爲一個特殊的屬性\u0026nbsp;xml:space\u0026nbsp;可以連接到一個元素. 這表明,空白不應該由應用程序的元素刪除. 您可以將此屬性設置爲\u0026nbsp;默認\u0026nbsp;或\u0026nbsp;保存\u0026nbsp;如下面的例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;!ATTLIST address xml:space (default|preserve) 'preserve'\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 在這裏:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 這裏的值指示應用程序的默認空白處理方式是可以接受爲本元素\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 保留」的值表示該應用程序保存所有的空格.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"19:T757,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹了處理指(PIs).至於由\u0026nbsp;\u003ca href=\"http://www.w3.org/TR/REC-xml/\"\u003eXML1.0推薦標準定義\u003c/a\u003e,\u003c/p\u003e \n\u003cblockquote\u003e \n \u003cp\u003e 處理指令(PI)允許文件包含用於應用程序。蛋白酶抑制劑不是文檔的字符數據的一部分,但必須通過嚮應用程序傳遞.\u003c/p\u003e \n\u003c/blockquote\u003e \n\u003cp\u003e 處理指令(PI)可用於將信息傳遞給應用程序。督察會出現標記之外的文檔中的任意位置。它們可以出現在序言中包括的文檔類型定義(DTD),在文字內容或文檔之後.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e 以下是PI 的語法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?target instructions?\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 其中:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 目標\u0026nbsp;- 標識指令所指向的應用程序.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 指令\u0026nbsp;- 這是一個性格描述信息的應用程序來處理.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cp\u003e PI開始於一個特殊的標記\u0026nbsp;\u0026lt;?\u0026nbsp;\u0026lt;?和結尾?\u0026gt;\u0026nbsp;?\u0026gt;.內容處理結束當遇到串之後。\u003c/p\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 處理指令都很少使用。它們主要用於XML文檔鏈接到樣式表.下面是一個例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml-stylesheet href=\"yiibaistyle.css\" type=\"text/css\"?\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏,目標是XML的樣式表。 HREF =「yiibaistyle.css」和類型=「文本/ CSS」是數據或目標應用程序將使用在處理給定XML文檔的時間指示.\u003c/p\u003e \n\u003cp\u003e 在這種情況下,瀏覽器識別目標由表示該XML應該被顯示之前被轉化;第一個屬性規定的變換類型是XSL和第二個屬性點,它的位置.\u003c/p\u003e \n\u003ch2\u003e 處理指令規則\u003c/h2\u003e \n\u003cp\u003e 處理指令可以包含任何數據,除了結合?\u0026gt;,這被解釋爲結束分隔符。下面是有效處理指令的兩個例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?welcome to pg=10 of tutorials point?\u0026gt;\r\n\r\n\u0026lt;?welcome?\u0026gt;\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"1a:Tcbb,"])</script><script>self.__next_f.push([1,"\u003cp\u003e \u003cstrong\u003e驗證\u003c/strong\u003e\u0026nbsp;是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 格式良好的XML文檔\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 有效的XML文檔\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 良好的XML文檔\u003c/h2\u003e \n\u003cp\u003e XML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體\u0026nbsp;amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),lt(\u0026lt;),\u0026nbsp;quote(double quote).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u0026lt;title\u0026gt;....\u0026lt;/title\u0026gt; or \u0026lt;title/\u0026gt;).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),\u0026nbsp;lt(\u0026lt;),\u0026nbsp;quote(double quote)\u0026nbsp;除了這些之外的實體必須被聲明.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 格式良好的XML文檔的示例:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address\r\n[\r\n \u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n]\u0026gt;\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 上面的例子被認爲是良好的形成爲:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 它定義文檔類型。這裏,文檔類型是\u0026nbsp;元素\u0026nbsp;類型.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它包括命名爲一個根元素\u0026nbsp;地址.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 保持標籤序.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 有效的XML文檔\u003c/h2\u003e \n\u003cp\u003e 如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章\u0026nbsp;XML - DTDs.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"1b:T1fbc,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML文檔類型聲明,俗稱DTD,是一種方式來描述XML語言準確。檢查的DTD對詞彙的適當的XML語言的語法規則的XML文檔的結構和有效性.\u003c/p\u003e \n\u003cp\u003e 一個XML的DTD既可以在文檔中指定的,或者它可以被保存在一個單獨的文件中,並且可以分別連結.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e 一個DTD的基本語法如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE element DTD identifier\r\n[\r\n declaration1\r\n declaration2\r\n ........\r\n]\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 在上面的句法\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e DTD開始\u0026lt;!DOCTYPE分隔符.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個元素告訴解析器來解析從指定的根元素的文檔.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e DTD標識符是用於文檔類型定義,它可以是路徑到互聯網上的文件系統或URL上的文件。如果DTD是指向外部路徑,它被稱爲外部子集.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 方括號[]括起來的實體聲明稱爲內部子集的可選列表.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 內部DTD\u003c/h2\u003e \n\u003cp\u003e 一個DTD被稱爲內部DTD,如果元素的XML文件中聲明。以指它作爲內部DTD,XML聲明中的獨立屬性必須設置爲yes。這意味着,在聲明的工作獨立於外部源.\u003c/p\u003e \n\u003ch3\u003e 句法\u003c/h3\u003e \n\u003cp\u003e 內部DTD的句法如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE root-element [element-declarations]\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 這是根元素聲明的名稱.\u003c/p\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 以下是內部DTD的一個簡單例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address [\r\n \u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n]\u0026gt;\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 讓我們通過上面的代碼:\u003c/p\u003e \n\u003cp\u003e 開始聲明\u0026nbsp;- 開始XML聲明與下面的語句\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e DTD\u0026nbsp;- 緊接在 XML header\u0026nbsp;文檔類型\u0026nbsp;聲明如下, 通常被稱爲在DOCTYPE:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address [\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e TDOCTYPE聲明有一個感嘆號(!)的元素名稱的開始。在DOCTYPE通知一個DTD與此XML文檔相關聯的解析器.\u003c/p\u003e \n\u003cp\u003e DTD的內容\u0026nbsp;- DOCTYPE聲明後面是DTD的內容,聲明的元素,屬性,實體和符號:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone_no (#PCDATA)\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 許多元素都在這裏聲明補\u0026lt;名稱\u0026gt;文檔的詞彙。 \u0026lt;!元素名稱(#PCDATA)\u0026gt;定義的元素名稱是鍵入「#PCDATA」的。這裏#PCDATA是語法分析的文本數據.\u003c/p\u003e \n\u003cp\u003e 結束聲明 - 最後,DTD中的聲明部分使用的是右括號和右尖括號被關閉(]\u0026gt;)。這有效地結束的定義,然後,在XML文檔緊跟.\u003c/p\u003e \n\u003ch3\u003e 規則\u003c/h3\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 文檔類型聲明必須出現在文件(僅由XML頭之前)的開始 - 它不是在文檔中允許的其他地方。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 類似的DOCTYPE聲明,該聲明的元素必須以感嘆號.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 在文檔類型聲明的名稱必須與根元素的元素類型相匹配.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 外部DTD\u003c/h2\u003e \n\u003cp\u003e 在外部DTD元素的XML文件外聲明。它們是通過指定其可以是法律.dtd文件或一個有效的URL,系統的屬性進行訪問。是指它作爲外部DTD,XML聲明standalone屬性必須設置爲no。這意味着,聲明中包含從外部源信息.\u003c/p\u003e \n\u003ch3\u003e 句法\u003c/h3\u003e \n\u003cp\u003e 以下是句法外部DTD:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE root-element SYSTEM \"file-name\"\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 其中filename是.dtd擴展名的文件.\u003c/p\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 下面的例子顯示外部DTD用法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"no\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address SYSTEM \"address.dtd\"\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e DTD文件address.dtd的內容是如圖所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003ch3\u003e 類型\u003c/h3\u003e \n\u003cp\u003e 您可以通過使用系統標識符和公共標識符引用一個外部DTD.\u003c/p\u003e \n\u003ch4\u003e 系統標識符\u003c/h4\u003e \n\u003cp\u003e 系統標識符可以指定包含DTD聲明一個外部文件的位置。語法如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE name SYSTEM \"address.dtd\" [...]\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 正如你可以看到它包含的關鍵字系統和URI引用指向該文件的位置.\u003c/p\u003e \n\u003ch4\u003e 公共標識\u003c/h4\u003e \n\u003cp\u003e 公共標識符提供了一種機制來定位DTD資源和寫入如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE name PUBLIC \"-//Beginning XML//DTD Address Example//EN\"\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 正如你可以看到它開始與關鍵字public,然後由專門的標識。公共標識符被用來標識在一個目錄中的條目。公共標識可以按照任何格式,但是,常用的格式被稱爲正式公開標識符,或符,FPI.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"1c:T10c4,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML模式被稱爲XML架構定義(XSD)。它是用來描述和驗證的結構和XML數據的內容。 XML模式定義的元素,屬性和數據類型。Schema元素的命名空間支持。它類似於描述了數據庫中的數據的數據庫模式.\u003c/p\u003e \n\u003ch2\u003e 句法\u003c/h2\u003e \n\u003cp\u003e 在XML文檔中,您需要如下聲明模式:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u0026gt;\r\u003c/pre\u003e \n\u003ch3\u003e 例如\u003c/h3\u003e \n\u003cp\u003e 下面的示例演示瞭如何使用模式:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\" encoding=\"UTF-8\"?\u0026gt;\r\n\u0026lt;xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u0026gt;\r\n\u0026lt;xs:element name=\"contact\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"name\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;xs:element name=\"company\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;xs:element name=\"phone\" type=\"xs:int\" /\u0026gt;\r\n \u0026lt;/xs:sequence\u0026gt;\r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt;\r\n\u0026lt;/xs:schema\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e XML模式的基本思路是,它描述了合法格式的XML文檔可以接受.\u003c/p\u003e \n\u003ch2\u003e 元素\u003c/h2\u003e \n\u003cp\u003e 我們可以在\u0026nbsp;XML中看到的 - 元素一章的\u0026nbsp;元素是XML文檔的組成部分。一個元件可以爲XSD中定義如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"x\" type=\"y\"/\u0026gt;\r\u003c/pre\u003e \n\u003ch2\u003e 定義類型\u003c/h2\u003e \n\u003cp\u003e 您可以定義下列方式XML架構元素:\u003c/p\u003e \n\u003cp\u003e 簡單的類型 -\u0026nbsp;簡單型元件被用來只在文本的上下文。一些預定義的簡單類型有:XS:整數,XS:布爾,XS:字符串,XS:日期。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"phone_number\" type=\"xs:int\" /\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 複雜類型 -\u0026nbsp;複雜類型可以包含其他元素定義。這使您可以指定哪些子元素的元素可以包含和你的XML文檔中提供了一些結構。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"Address\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"name\" type=\"xs:string\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"company\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;xs:element name=\"phone\" type=\"xs:int\" /\u0026gt; \r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\u003c/pre\u003e \n\u003cp\u003e 在上面的例子中,地址元素是由子元素。這是一個容器,其他與LT; XS:元素和GT;定義,允許構建部件的簡單分層結構的XML文檔中.\u003c/p\u003e \n\u003cp\u003e 全局類型 -\u0026nbsp;隨着全球性的類型,你可以定義你的文件,可以使用所有其他引用在一個單一的類型。例如,假設你想推廣的人員和公司對公司的地址不同,在這種情況下,您可以定義如下的一般類型:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"AddressType\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"name\" type=\"xs:string\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"company\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\u003c/pre\u003e \n\u003cp\u003e 現在讓我們用這種類型在我們的例子如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"Address1\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"address\" type=\"AddressType\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"phone1\" type=\"xs:int\" /\u0026gt; \r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\n\u0026lt;xs:element name=\"Address2\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"address\" type=\"AddressType\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"phone2\" type=\"xs:int\" /\u0026gt; \r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\u003c/pre\u003e \n\u003cp\u003e 而不必定義名稱,該公司兩次(一次在地址1,一次用於地址2,我們現在有一個單一的定義。如果你決定添加「郵編」元素的地址,你需要將它們添加在一個地方.\u003c/p\u003e \n\u003ch2\u003e 屬性\u003c/h2\u003e \n\u003cp\u003e 在XSD屬性提供了一個元素中的額外信息。屬性具有名稱和類型屬性,如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:attribute name=\"x\" type=\"y\"/\u0026gt;\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"1d:T5d0,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 一個XML文檔始終是描述性的。樹狀結構是通常被稱爲XML樹和起着很容易地描述任何XML文檔中起重要作用。\u003c/p\u003e \n\u003cp\u003e 樹狀結構包含根(父)要素,子要素等。通過採用樹狀結構,你可以知道所有後續的分行及支行從根開始。解析開始於開始和向下移動一個元素的第一分支,並進一步向葉節點.\u003c/p\u003e \n\u003ch2\u003e 例子\u003c/h2\u003e \n\u003cp\u003e 下面的例子演示了簡單的XML樹形結構:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;Company\u0026gt;\r\n \u0026lt;Employee\u0026gt;\r\n \u0026lt;FirstName\u0026gt;Tanmay\u0026lt;/FirstName\u0026gt;\r\n \u0026lt;LastName\u0026gt;Patil\u0026lt;/LastName\u0026gt;\r\n \u0026lt;ContactNo\u0026gt;1234567890\u0026lt;/ContactNo\u0026gt;\r\n \u0026lt;Email\u0026gt;tanmaypatil@xyz.com\u0026lt;/Email\u0026gt;\r\n \u0026lt;Address\u0026gt;\r\n \u0026lt;City\u0026gt;Bangalore\u0026lt;/City\u0026gt;\r\n \u0026lt;State\u0026gt;Karnataka\u0026lt;/State\u0026gt;\r\n \u0026lt;Zip\u0026gt;560212\u0026lt;/Zip\u0026gt;\r\n \u0026lt;/Address\u0026gt;\r\n \u0026lt;/Employee\u0026gt;\r\n\u0026lt;/Company\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的樹結構表示上述XML文檔:\u003c/p\u003e \n\u003cimg alt=\"XML 樹結構 \" src=\"https://asset.1ju.org/cmsstatic/xml-2.jpg\"\u003e \n\u003cp\u003e 在上面的圖中,有一個名爲如 \u0026lt;c公司\u0026gt;根元素. 這裏面,還有一個元素 \u0026lt;員工\u0026gt;. 員工元素中,有一個名爲五家分公司\u0026lt;名\u0026gt;, \u0026lt;姓\u0026gt;, \u0026lt;聯絡電話\u0026gt;, \u0026lt;電子郵件\u0026gt;, 和\u0026lt;地址\u0026gt;. 在 \u0026lt;地址\u0026gt; 元素, 有三個支行, 名爲 \u0026lt;市\u0026gt; \u0026lt;國家\u0026gt; 和 \u0026lt;郵編\u0026gt;.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"1e:T1d7b,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 文檔對象模型(DOM)是XML的基礎。 XML文檔具有信息單位稱爲節點的層次結構;DOM是描述這些節點和它們之間的關係的一種方式。.\u003c/p\u003e \n\u003cp\u003e 一個DOM文檔是一組層次組織的節點或信息塊。這個層次結構允許開發人員通過導航樹中尋找特定信息。由於它是基於信息層次,在DOM被認爲是基於樹的.\u003c/p\u003e \n\u003cp\u003e 另一方面的XML DOM還提供了一個API,允許開發者添加,編輯,移動,或以創建一個應用程序中刪除樹中的節點在任何點.\u003c/p\u003e \n\u003ch2\u003e 示例\u003c/h2\u003e \n\u003cp\u003e 下面的例子(sample.html)示出的XML文檔(「address.xml」)到一個XML DOM對象,然後從它提取部分信息的JavaScript:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate tryit prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE html\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;html\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;body\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;h1\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai DOM example \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/h1\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;div\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eName:\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;span\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"atn\"\u003eid\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"atv\"\u003e\"name\"\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026gt;\u0026lt;/span\u0026gt;\u0026lt;br\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eCompany:\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;span\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"atn\"\u003eid\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"atv\"\u003e\"company\"\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026gt;\u0026lt;/span\u0026gt;\u0026lt;br\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003ePhone:\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;span\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"atn\"\u003eid\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"atv\"\u003e\"phone\"\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026gt;\u0026lt;/span\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/div\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;script\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"kwd\"\u003eif\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"pln\"\u003ewindow\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"typ\"\u003eXMLHttpRequest\u003c/span\u003e\u003cspan class=\"pun\"\u003e)\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e{\u003c/span\u003e\u003cspan class=\"com\"\u003e// code for IE7+, Firefox, Chrome, Opera, Safari\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp \u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"kwd\"\u003enew\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"typ\"\u003eXMLHttpRequest\u003c/span\u003e\u003cspan class=\"pun\"\u003e();\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e}\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"kwd\"\u003eelse\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e{\u003c/span\u003e\u003cspan class=\"com\"\u003e// code for IE6, IE5\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp \u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"kwd\"\u003enew\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"typ\"\u003eActiveXObject\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"Microsoft.XMLHTTP\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e);\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e}\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003eopen\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"GET\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e,\u003c/span\u003e\u003cspan class=\"str\"\u003e\"/xml/address.xml\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e,\u003c/span\u003e\u003cspan class=\"kwd\"\u003efalse\u003c/span\u003e\u003cspan class=\"pun\"\u003e);\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003esend\u003c/span\u003e\u003cspan class=\"pun\"\u003e();\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003exmlhttp\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003eresponseXML\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\r\n document\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"name\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e).\u003c/span\u003e\u003cspan class=\"pln\"\u003einnerHTML\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementsByTagName\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"name\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e)[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003echildNodes\u003c/span\u003e\u003cspan class=\"pun\"\u003e[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003enodeValue\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n document\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"company\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e).\u003c/span\u003e\u003cspan class=\"pln\"\u003einnerHTML\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementsByTagName\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"company\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e)[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003echildNodes\u003c/span\u003e\u003cspan class=\"pun\"\u003e[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003enodeValue\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n document\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"phone\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e).\u003c/span\u003e\u003cspan class=\"pln\"\u003einnerHTML\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementsByTagName\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"phone\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e)[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003echildNodes\u003c/span\u003e\u003cspan class=\"pun\"\u003e[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003enodeValue\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/script\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/body\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/html\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e address.xml的內容如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;contact-info\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/contact-info\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 現在,讓我們保持這兩個文件sample.html和address.xml在同一目錄/ XML,並在任何瀏覽器中打開它執行sample.html文件。這應該產生一個輸出。\u003c/p\u003e \n\u003cp\u003e 在這裏你可以看到每個子節點被提取以顯示他們的值。\u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u0026nbsp;\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"1f:T6a8,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML數據庫用存儲大量的信息以XML格式。作爲XML的使用正在增加在各個領域中,需要具有在安全的地方來存儲XML文檔。存儲在數據庫中的數據可以使用XQuery,序列進行查詢,並輸出到所需的格式.\u003c/p\u003e \n\u003ch2\u003e XML數據庫類型\u003c/h2\u003e \n\u003cp\u003e 有XML數據庫兩大類:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 基於XML啓用\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 原生XML(NXD)\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e X基於XML的數據庫啓用\u003c/h3\u003e \n\u003cp\u003e 支持XML數據庫是XML文檔的擴展轉換。這是關係型數據庫把數據存儲在表中由行和列組成。該表包含設定的記錄,這反過來又由字段組成。\u003c/p\u003e \n\u003ch3\u003e 原生XML數據庫\u003c/h3\u003e \n\u003cp\u003e 本地XML數據庫是基於內容,而不是表的格式。它可以存儲大量XML文檔和數據。原生XML數據庫是由XPath表達式查詢.\u003c/p\u003e \n\u003cp\u003e 原生XML數據庫具有優勢的支持XML的數據庫。這是非常能幹的存儲,查詢和維護比支持XML的數據庫中的XML文檔.\u003c/p\u003e \n\u003ch2\u003e 示例\u003c/h2\u003e \n\u003cp\u003e 下面的例子演示了XML數據庫:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n \u0026lt;contact1\u0026gt;\r\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\r\n \u0026lt;/contact1\u0026gt;\r\n \u0026lt;contact2\u0026gt;\r\n \u0026lt;name\u0026gt;Manisha Patil\u0026lt;/name\u0026gt;\r\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n \u0026lt;phone\u0026gt;(011) 789-4567\u0026lt;/phone\u0026gt;\r\n \u0026lt;/contact2\u0026gt;\r\n\u0026lt;/contact-info\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏,接觸的表被創建,保存的聯繫人記錄(contact1和contact2),這反過來又由三個實體 - 姓名,公司和電話。\u003cbr\u003e \u003cbr\u003e \u0026nbsp;\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"20:Tcbb,"])</script><script>self.__next_f.push([1,"\u003cp\u003e \u003cstrong\u003e驗證\u003c/strong\u003e\u0026nbsp;是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 格式良好的XML文檔\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 有效的XML文檔\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 良好的XML文檔\u003c/h2\u003e \n\u003cp\u003e XML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體\u0026nbsp;amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),lt(\u0026lt;),\u0026nbsp;quote(double quote).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u0026lt;title\u0026gt;....\u0026lt;/title\u0026gt; or \u0026lt;title/\u0026gt;).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),\u0026nbsp;lt(\u0026lt;),\u0026nbsp;quote(double quote)\u0026nbsp;除了這些之外的實體必須被聲明.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 格式良好的XML文檔的示例:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address\r\n[\r\n \u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n]\u0026gt;\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 上面的例子被認爲是良好的形成爲:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 它定義文檔類型。這裏,文檔類型是\u0026nbsp;元素\u0026nbsp;類型.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它包括命名爲一個根元素\u0026nbsp;地址.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 保持標籤序.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 有效的XML文檔\u003c/h2\u003e \n\u003cp\u003e 如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章\u0026nbsp;XML - DTDs.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"21:T746,"])</script><script>self.__next_f.push([1,"**驗證** 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\n\n* 格式良好的XML文檔\n \n* 有效的XML文檔\n \n\n良好的XML文檔\n--------\n\nXML文檔被認爲是良好的,如果它附着在下面的規則:\n\n* 非DTD的XML文件必須使用預定義的字符實體 amp(\u0026), apos(single quote), gt(\u003e),lt(\u003c), quote(double quote).\n \n* 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\n \n* 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u003ctitle\u003e....\u003c/title\u003e or \u003ctitle/\u003e).\n \n* 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\n \n* amp(\u0026), apos(single quote), gt(\u003e), lt(\u003c), quote(double quote) 除了這些之外的實體必須被聲明.\n \n\n### 示例\n\n格式良好的XML文檔的示例:\n\n\u003c?xml version\\=\"1.0\" encoding\\=\"UTF-8\" standalone\\=\"yes\" ?\u003e \u003c!DOCTYPE address\n\\[\n \u003c!ELEMENT address (name,company,phone)\u003e \u003c!ELEMENT name (#PCDATA)\u003e \u003c!ELEMENT company (#PCDATA)\u003e \u003c!ELEMENT phone (#PCDATA)\u003e \\]\u003e \u003caddress\u003e \u003cname\u003eTanmay Patil\u003c/name\u003e \u003ccompany\u003eYiiBai\u003c/company\u003e \u003cphone\u003e(011) 123-4567\u003c/phone\u003e \u003c/address\u003e\n\n上面的例子被認爲是良好的形成爲:\n\n* 它定義文檔類型。這裏,文檔類型是 元素 類型.\n \n* 它包括命名爲一個根元素 地址.\n \n* 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\n \n* 保持標籤序.\n \n\n有效的XML文檔\n--------\n\n如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章 XML - DTDs."])</script><script>self.__next_f.push([1,"22:T859,"])</script><script>self.__next_f.push([1,"\u003cp\u003e\u003cstrong\u003e驗證\u003c/strong\u003e 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 格式良好的XML文檔\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 有效的XML文檔\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"良好的xml文檔\"\u003e良好的XML文檔\u003c/h2\u003e\n\u003cp\u003eXML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體 amp(\u0026amp;), apos(single quote), gt(\u0026gt;),lt(\u0026lt;), quote(double quote).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u003ctitle\u003e....\u003c/title\u003e or \u003ctitle/\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e amp(\u0026amp;), apos(single quote), gt(\u0026gt;), lt(\u0026lt;), quote(double quote) 除了這些之外的實體必須被聲明.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"示例\"\u003e示例\u003c/h3\u003e\n\u003cp\u003e格式良好的XML文檔的示例:\u003c/p\u003e\n\u003c?xml version\\=\"1.0\" encoding\\=\"UTF-8\" standalone\\=\"yes\" ?\u003e \u003c!DOCTYPE address\n\\[\n \u003c!ELEMENT address (name,company,phone)\u003e \u003c!ELEMENT name (#PCDATA)\u003e \u003c!ELEMENT company (#PCDATA)\u003e \u003c!ELEMENT phone (#PCDATA)\u003e\u003cp\u003e ]\u0026gt; \u003caddress\u003e \u003cname\u003eTanmay Patil\u003c/name\u003e \u003ccompany\u003eYiiBai\u003c/company\u003e \u003cphone\u003e(011) 123-4567\u003c/phone\u003e \u003c/address\u003e\u003c/p\u003e\n\u003cp\u003e上面的例子被認爲是良好的形成爲:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 它定義文檔類型。這裏,文檔類型是 元素 類型.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它包括命名爲一個根元素 地址.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 保持標籤序.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"有效的xml文檔\"\u003e有效的XML文檔\u003c/h2\u003e\n\u003cp\u003e如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章 XML - DTDs.\u003c/p\u003e\n"])</script><script>self.__next_f.push([1,"25:T859,"])</script><script>self.__next_f.push([1,"\u003cp\u003e\u003cstrong\u003e驗證\u003c/strong\u003e 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 格式良好的XML文檔\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 有效的XML文檔\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"良好的xml文檔\"\u003e良好的XML文檔\u003c/h2\u003e\n\u003cp\u003eXML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體 amp(\u0026amp;), apos(single quote), gt(\u0026gt;),lt(\u0026lt;), quote(double quote).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u003ctitle\u003e....\u003c/title\u003e or \u003ctitle/\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e amp(\u0026amp;), apos(single quote), gt(\u0026gt;), lt(\u0026lt;), quote(double quote) 除了這些之外的實體必須被聲明.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"示例\"\u003e示例\u003c/h3\u003e\n\u003cp\u003e格式良好的XML文檔的示例:\u003c/p\u003e\n\u003c?xml version\\=\"1.0\" encoding\\=\"UTF-8\" standalone\\=\"yes\" ?\u003e \u003c!DOCTYPE address\n\\[\n \u003c!ELEMENT address (name,company,phone)\u003e \u003c!ELEMENT name (#PCDATA)\u003e \u003c!ELEMENT company (#PCDATA)\u003e \u003c!ELEMENT phone (#PCDATA)\u003e\u003cp\u003e ]\u0026gt; \u003caddress\u003e \u003cname\u003eTanmay Patil\u003c/name\u003e \u003ccompany\u003eYiiBai\u003c/company\u003e \u003cphone\u003e(011) 123-4567\u003c/phone\u003e \u003c/address\u003e\u003c/p\u003e\n\u003cp\u003e上面的例子被認爲是良好的形成爲:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 它定義文檔類型。這裏,文檔類型是 元素 類型.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它包括命名爲一個根元素 地址.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 保持標籤序.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"有效的xml文檔\"\u003e有效的XML文檔\u003c/h2\u003e\n\u003cp\u003e如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章 XML - DTDs.\u003c/p\u003e\n"])</script><script>self.__next_f.push([1,"27:Tcbb,"])</script><script>self.__next_f.push([1,"\u003cp\u003e \u003cstrong\u003e驗證\u003c/strong\u003e\u0026nbsp;是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 格式良好的XML文檔\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 有效的XML文檔\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 良好的XML文檔\u003c/h2\u003e \n\u003cp\u003e XML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體\u0026nbsp;amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),lt(\u0026lt;),\u0026nbsp;quote(double quote).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u0026lt;title\u0026gt;....\u0026lt;/title\u0026gt; or \u0026lt;title/\u0026gt;).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),\u0026nbsp;lt(\u0026lt;),\u0026nbsp;quote(double quote)\u0026nbsp;除了這些之外的實體必須被聲明.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 格式良好的XML文檔的示例:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address\r\n[\r\n \u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n]\u0026gt;\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 上面的例子被認爲是良好的形成爲:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 它定義文檔類型。這裏,文檔類型是\u0026nbsp;元素\u0026nbsp;類型.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它包括命名爲一個根元素\u0026nbsp;地址.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 保持標籤序.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 有效的XML文檔\u003c/h2\u003e \n\u003cp\u003e 如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章\u0026nbsp;XML - DTDs.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"28:T746,"])</script><script>self.__next_f.push([1,"**驗證** 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\n\n* 格式良好的XML文檔\n \n* 有效的XML文檔\n \n\n良好的XML文檔\n--------\n\nXML文檔被認爲是良好的,如果它附着在下面的規則:\n\n* 非DTD的XML文件必須使用預定義的字符實體 amp(\u0026), apos(single quote), gt(\u003e),lt(\u003c), quote(double quote).\n \n* 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\n \n* 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u003ctitle\u003e....\u003c/title\u003e or \u003ctitle/\u003e).\n \n* 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\n \n* amp(\u0026), apos(single quote), gt(\u003e), lt(\u003c), quote(double quote) 除了這些之外的實體必須被聲明.\n \n\n### 示例\n\n格式良好的XML文檔的示例:\n\n\u003c?xml version\\=\"1.0\" encoding\\=\"UTF-8\" standalone\\=\"yes\" ?\u003e \u003c!DOCTYPE address\n\\[\n \u003c!ELEMENT address (name,company,phone)\u003e \u003c!ELEMENT name (#PCDATA)\u003e \u003c!ELEMENT company (#PCDATA)\u003e \u003c!ELEMENT phone (#PCDATA)\u003e \\]\u003e \u003caddress\u003e \u003cname\u003eTanmay Patil\u003c/name\u003e \u003ccompany\u003eYiiBai\u003c/company\u003e \u003cphone\u003e(011) 123-4567\u003c/phone\u003e \u003c/address\u003e\n\n上面的例子被認爲是良好的形成爲:\n\n* 它定義文檔類型。這裏,文檔類型是 元素 類型.\n \n* 它包括命名爲一個根元素 地址.\n \n* 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\n \n* 保持標籤序.\n \n\n有效的XML文檔\n--------\n\n如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章 XML - DTDs."])</script><script>self.__next_f.push([1,"29:T859,"])</script><script>self.__next_f.push([1,"\u003cp\u003e\u003cstrong\u003e驗證\u003c/strong\u003e 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 格式良好的XML文檔\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 有效的XML文檔\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"良好的xml文檔\"\u003e良好的XML文檔\u003c/h2\u003e\n\u003cp\u003eXML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體 amp(\u0026amp;), apos(single quote), gt(\u0026gt;),lt(\u0026lt;), quote(double quote).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u003ctitle\u003e....\u003c/title\u003e or \u003ctitle/\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e amp(\u0026amp;), apos(single quote), gt(\u0026gt;), lt(\u0026lt;), quote(double quote) 除了這些之外的實體必須被聲明.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"示例\"\u003e示例\u003c/h3\u003e\n\u003cp\u003e格式良好的XML文檔的示例:\u003c/p\u003e\n\u003c?xml version\\=\"1.0\" encoding\\=\"UTF-8\" standalone\\=\"yes\" ?\u003e \u003c!DOCTYPE address\n\\[\n \u003c!ELEMENT address (name,company,phone)\u003e \u003c!ELEMENT name (#PCDATA)\u003e \u003c!ELEMENT company (#PCDATA)\u003e \u003c!ELEMENT phone (#PCDATA)\u003e\u003cp\u003e ]\u0026gt; \u003caddress\u003e \u003cname\u003eTanmay Patil\u003c/name\u003e \u003ccompany\u003eYiiBai\u003c/company\u003e \u003cphone\u003e(011) 123-4567\u003c/phone\u003e \u003c/address\u003e\u003c/p\u003e\n\u003cp\u003e上面的例子被認爲是良好的形成爲:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e 它定義文檔類型。這裏,文檔類型是 元素 類型.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 它包括命名爲一個根元素 地址.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e 保持標籤序.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"有效的xml文檔\"\u003e有效的XML文檔\u003c/h2\u003e\n\u003cp\u003e如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章 XML - DTDs.\u003c/p\u003e\n"])</script><script>self.__next_f.push([1,"2a:Tbbe,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML指可擴展標記語言。它是從標準通用標記語言派生的基於文本的標記語言(SGML).\u003c/p\u003e \n\u003cp\u003e XML標籤標識數據和用於存儲和組織數據,而不是指定了如何顯示它象HTML標籤,其用於顯示數據。 XML是不會在不久的將來,以取代HTML,但是它通過採用HTML的許多成功的功能引入了新的可能性。\u003c/p\u003e \n\u003cp\u003e 有XML的三個重要的特點,使得它在各種系統和解決方案有用:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e \u003cstrong\u003eXML是可擴展的:\u0026nbsp;\u003c/strong\u003eXML允許你創建自己的自描述性的標籤,或語言,適合您的應用程序.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e \u003cstrong\u003eXML進行數據 :\u003c/strong\u003e\u0026nbsp;不存在它:XML允許你無論存儲將如何呈現這些數據.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e \u003cstrong\u003eXML是一個公共標準 :\u003c/strong\u003e\u0026nbsp;XML是由一個組織開發的名爲萬維網聯盟(W3C),並可以作爲一個開放的標準.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e XML的使用方法\u003c/h2\u003e \n\u003cp\u003e XML用法的簡短列表說明了一切:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML可以在幕後工作,以簡化創建HTML文檔的大型網站.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以用來交換機構和系統之間的信息.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以用於卸載和重裝數據庫.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以用於存儲和整理的數據,這些數據可以自定義您的數據處理需求.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML可以很容易地用樣式表合併,以創建幾乎任何所需的輸出.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 實質上,任何類型的數據可以被表示爲XML文檔.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 什麼是標記?\u003c/h2\u003e \n\u003cp\u003e XML是定義一組規則進行編碼的格式是人類可讀和機器可讀的文檔的標記語言。那麼究竟是一種標記語言?標記被添加到提高它的意義在某些方面,因爲它確定了部分文件,以及它們如何相互關聯的信息。更具體地,標記語言是一組符號,可以被放置在一個文檔中的文本以劃分和標記的文檔的部分.\u003c/p\u003e \n\u003cp\u003e 下面的例子演示瞭如何XML標記看起來,在嵌入一段文字:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"tag\"\u003e\u0026lt;message\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;text\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eHello, world!\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/text\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/message\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 該片段包含標記符號或標記,如\u0026lt; 消息\u0026gt;...\u0026lt;/ message\u0026gt;和\u0026lt;文本\u0026gt;...。標籤\u0026lt;消息\u0026gt;和標記的開始和XML代碼片段的結尾。標籤\u0026lt;文本\u0026gt;和中環繞文字的Hello,world!.\u003c/p\u003e \n\u003ch2\u003e 是基於XML的編程語言?\u003c/h2\u003e \n\u003cp\u003e 一種編程語言,具有被用於創建計算機程序的語法規則和它自己的詞彙表。這些程序指示計算機執行特定的任務。 XML沒有資格成爲一門編程語言,因爲它不執行任何計算或算法。它通常是存儲在一個簡單的文本文件,並通過特殊的軟件,它能夠解釋的XML處理。.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"2b:T196a,"])</script><script>self.__next_f.push([1,"\u003cp\u003e \u003cstrong\u003e本章將帶您通過簡單的語法規則來編寫一個XML文檔。以下是一個完整的XML文檔:\u003c/strong\u003e\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\n\u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n\u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\r\n\u0026lt;/contact-info\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 你可以注意在上述的例子上有兩種類型的信息:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e markup, like\u0026nbsp;\u0026lt;contact-info\u0026gt;\u0026nbsp;and\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 該 文字, 或 該 性格 數據,\u0026nbsp;Tutorials Point\u0026nbsp;and\u0026nbsp;(040) 123-4567.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cp\u003e 下圖描述了語法規則的XML文檔中編寫不同類型的標記和文字.\u003c/p\u003e \n\u003cimg alt=\"XML語法規則\" src=\"https://asset.1ju.org/cmsstatic/xml-4.png\"\u003e \n\u003cp\u003e 讓我們來看看詳細上圖中的每個組成部分:\u003c/p\u003e \n\u003ch2\u003e XML聲明\u003c/h2\u003e \n\u003cp\u003e XML文檔可以有一個XML聲明。它可寫爲以下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\" encoding=\"UTF-8\"?\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏\u0026nbsp;版本是\u0026nbsp;XML版本和\u0026nbsp;編碼\u0026nbsp;指定文檔中的字符編碼.\u003c/p\u003e \n\u003ch3\u003e XML聲明的句法規則\u003c/h3\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML聲明是區分大小寫的,並且必須以「&LT;?XML和GT;」與「XML」是用小寫寫入.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 如果文檔中包含的XML聲明,它應該是XML文檔的第一條語句.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML聲明應該是XML文檔的第一條語句.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個HTTP協議可以覆蓋的值\u0026nbsp;編碼\u0026nbsp;你在XML聲明中使用.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 標記和元素\u003c/h2\u003e \n\u003cp\u003e XML文件是由幾個XML元素,也稱爲XML節點或XML的標記結構。 XML元素的名稱是由三角支架&LT封閉;與GT;如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element\u0026gt;\r\u003c/pre\u003e \n\u003ch3\u003e 標籤和元素的句法規則\u003c/h3\u003e \n\u003cp\u003e \u003cstrong\u003e元素句法 :\u0026nbsp;\u003c/strong\u003e每個XML元素需要被關閉或者與起始或結尾的元素,如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element\u0026gt;....\u0026lt;/element\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 或者在簡單的情況下,僅僅是這樣:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element/\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e \u003cstrong\u003e元素的嵌套 :\u0026nbsp;\u003c/strong\u003e一個XML元素可以包含多個XML元素作爲它的孩子,但孩子們的元素不能重疊。例如,一個元件的端標籤必須具有相同的名字而最近匹配的開始標記.\u003c/p\u003e \n\u003cp\u003e 下面的例子顯示不正確的嵌套標籤:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;company\u0026gt;YiiBai\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;/company\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的示例演示正確的嵌套標籤:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n\u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e \u003cstrong\u003e根元素 :\u0026nbsp;\u003c/strong\u003e一個XML文檔只能有一個根元素。例如,下面是不是一個正確的XML文檔,因爲無論是X和Y的元素出現在頂層沒有一個根元素:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;x\u0026gt;...\u0026lt;/x\u0026gt;\r\n\u0026lt;y\u0026gt;...\u0026lt;/y\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的例子展示了一個正確的XML文檔:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;root\u0026gt;\r\n \u0026lt;x\u0026gt;...\u0026lt;/x\u0026gt;\r\n \u0026lt;y\u0026gt;...\u0026lt;/y\u0026gt;\r\n\u0026lt;/root\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e \u003cstrong\u003e區分大小寫 :\u0026nbsp;\u003c/strong\u003eXML的元素名稱是區分大小寫的。這意味着在啓動的名稱和端元件必須在同樣的鉅細寫.\u003c/p\u003e \n\u003cp\u003e 例如\u0026nbsp;\u003cstrong\u003e\u0026lt;contact-info\u0026gt;\u003c/strong\u003e\u0026nbsp;這是不同於\u003cstrong\u003e\u0026nbsp;\u0026lt;Contact-Info\u0026gt;.\u003c/strong\u003e\u003c/p\u003e \n\u003ch2\u003e 屬性\u003c/h2\u003e \n\u003cp\u003e 一個屬性指定元素的單個屬性。使用名稱/值對的XML元素可以具有一個或多個屬性。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;a href=\"http://www.yiibai.com/\"\u0026gt;Yiibai!\u0026lt;/a\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 在這裏\u0026nbsp;\u003cem\u003ehref\u0026nbsp;\u003c/em\u003e是該屬性的名稱和\u0026nbsp;http://www.yiibai.com/\u0026nbsp;是屬性值\u003c/p\u003e \n\u003ch3\u003e XML屬性的句法規則\u003c/h3\u003e \n\u003cpre class=\"prettyprint\"\u003e\r\n\u0026lt;a b=\"x\" c=\"y\" b=\"z\"\u0026gt;....\u0026lt;/a\u0026gt;\r\u003c/pre\u003e \n\u003cpre class=\"prettyprint\"\u003e\r\n\u0026lt;a b=x\u0026gt;....\u0026lt;/a\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 在上面的語法,屬性值不會下引號定義.\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 屬性名稱以XML(不像HTML)是大小寫敏感的.\u0026nbsp;HREF\u0026nbsp;and\u0026nbsp;href\u0026nbsp;這被認爲是兩個不同的XML屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 相同的屬性不能有一個語法兩個值。下面的例子顯示,因爲該屬性指定了兩次不正確的句法:\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 屬性名稱定義不帶引號,而屬性值必須始終出現在引號中。下面的例子演示了不正確XML句法:\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e XML的參考資料\u003c/h2\u003e \n\u003cp\u003e 參考\u0026nbsp;通常允許您添加或包含在XML文檔中其他文字或標記\u0026nbsp;\"\u0026amp;\"\u0026nbsp;,參考資料總是以符號的放大器,這是一個保留字符和符號的」結尾\u0026nbsp;\";\". XML有兩種類型參考:\u003c/p\u003e \n\u003cp\u003e 實體參考 :\u0026nbsp;實體引用包含起始和結束定界符之間的名稱.例如\u0026nbsp;\u0026amp;amp;\u0026nbsp;在這裏\u0026nbsp;amp\u0026nbsp;是\u0026nbsp;名稱. 這個名字指一個預定義的字符串文字或標記.\u003c/p\u003e \n\u003cp\u003e 字符參 :\u0026nbsp;這些包含參考,如\u0026nbsp;\u0026amp;#65;,包含一個hash符號(「#」) 後面跟一個數字. 數總是指一個字符的Unicode代碼。在這種情況下,65指的是字母 \"A\".\u003c/p\u003e \n\u003ch2\u003e XML文本\u003c/h2\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML的元素和XML的屬性的名稱是區分大小寫的,這意味着開始和結束元素的名稱必須寫在相同的大小寫.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 爲了避免字符編碼的問題,所有的XML文件保存爲Unicode UTF-8或UTF-16文件.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 空白字符,如空格,製表符和XML元素之間和XML的屬性之間的換行符將被忽略.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 有些字符由XML語法本身保留。因此,它們不能被直接使用。要使用它們,一些更換,實體使用,這在下面列出:\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ctable\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003cth\u003e 不允許的字符\u003c/th\u003e \n \u003cth\u003e 替代實體\u003c/th\u003e \n \u003cth\u003e 字符描述\u003c/th\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u0026lt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;lt;\u003c/td\u003e \n \u003ctd\u003e 小於\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u0026gt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;gt;\u003c/td\u003e \n \u003ctd\u003e 大於\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u0026amp;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;amp;\u003c/td\u003e \n \u003ctd\u003e 符號\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e '\u003c/td\u003e \n \u003ctd\u003e \u0026amp;apos;\u003c/td\u003e \n \u003ctd\u003e 撇號\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \"\u003c/td\u003e \n \u003ctd\u003e \u0026amp;quot;\u003c/td\u003e \n \u003ctd\u003e 引號\u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003cbr\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"2c:Ted7,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹了XML聲明的細節。 XML聲明包含了準備XML處理器解析XML文檔的詳細信息。它是可選的,但在使用時,它必須出現在XML文檔中的第一行.\u003c/p\u003e \n\u003ch2\u003e 句法\u003c/h2\u003e \n\u003cp\u003e 下面的句法是XML聲明:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml\r\n version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"version_number\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"encoding_declaration\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"standalone_status\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 每個參數包含一個參數的名稱,等號報價中號(=)和參數值。下表列出了詳細的上述語法:\u003c/p\u003e \n\u003ctable\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003cth\u003e 參數\u003c/th\u003e \n \u003cth\u003e 參數\u003c/th\u003e \n \u003cth\u003e 參數說明\u003c/th\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u003cp\u003e 版本\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 1.0\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 指定XML標準所使用的版本.\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u003cp\u003e 編碼\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 to ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 它定義了文檔中使用的字符編碼​​。 UTF-8是使用的默認編碼.\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e \u003cp\u003e 單機\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e \u003ci\u003e是\u003c/i\u003e\u0026nbsp;或\u0026nbsp;\u003ci\u003e否\u003c/i\u003e.\u003c/p\u003e \u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 它通知文件是否依賴於信息從外部源,諸如外部的文檔類型定義(DTD)的語法分析程序,其內容。默認值被設置爲無。將其設置爲yes告訴處理器有需要解析的文件沒有外部聲明。\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003ch2\u003e 規則\u003c/h2\u003e \n\u003cp\u003e 一個XML聲明,應當遵守下列規定\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 如果XML聲明是存在於XML中,必須將其放置爲在XML文檔中的第一行.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 如果XML聲明包含,它必須包含版本號屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 參數名稱和值是區分大小寫的.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 該名總是以小寫字母.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 放置參數的順序是很重要的。正確的順序是:版本,編碼和獨立.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 可用於單個或雙引號.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e XML聲明沒有結束標籤,即;\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e XML聲明的例子\u003c/h2\u003e \n\u003cp\u003e 以下是XML的聲明幾個例子:\u003c/p\u003e \n\u003cp\u003e XML聲明不帶參數:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml \u003c/span\u003e\u003cspan class=\"pun\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e XML聲明與版本定義:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml \u003c/span\u003e\u003cspan class=\"pun\"\u003e版本=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e XML聲明與定義的所有參數:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"no\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e XML聲明在單引號中定義的所有參數:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e'1.0'\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e'iso-8859-1'\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e'no'\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"2d:T8ed,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 讓我們瞭解 XML最重要的部分,XML標籤。 XML標籤組成的XML的基礎。它定義了在XML中的元素的範圍。它也可以被用來插入註釋,聲明需要解析的環境設置和插入特殊指令。\u003c/p\u003e \n\u003cp\u003e 我們可以大致歸類XML標籤,如下:\u003c/p\u003e \n\u003ch2\u003e 開始標籤\u003c/h2\u003e \n\u003cp\u003e 每一個非空的XML元素的開始的標誌是一個開始標籤。開始標記的一個例子是:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address\u0026gt;\r\u003c/pre\u003e \n\u003ch2\u003e 結束標記\u003c/h2\u003e \n\u003cp\u003e 有一個開始標籤應該結束標記結束的每一個元素。結束標籤的一個例子是:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;/address\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 請注意,結束標記包含斜線(「/」)元素的名稱前.\u003c/p\u003e \n\u003ch2\u003e 空標籤\u003c/h2\u003e \n\u003cp\u003e 在開始標籤和結束標籤之間的文本被稱爲內容。這是沒有內容的元素稱爲空。一個空元素可以用兩種方法,如下表示:\u003c/p\u003e \n\u003cp\u003e (1)\u0026nbsp;起始標籤緊跟一個結束標籤,如下圖所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;hr\u0026gt;\u0026lt;/hr\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e (2)\u0026nbsp;一 個完整的空元素標籤,如下圖所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;hr /\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 空元素標籤可以用於其中沒有內容的任何元件.\u003c/p\u003e \n\u003ch2\u003e XML標籤規則\u003c/h2\u003e \n\u003cp\u003e 以下是需要遵循使用XML標記規則:\u003c/p\u003e \n\u003ch3\u003e 規則1\u003c/h3\u003e \n\u003cp\u003e XML標籤是區分大小寫的。下面的代碼線被錯誤的語法的一例 \u0026lt;/Address\u0026gt;, 因爲在兩個標籤都有不同的字符大小寫把它將被視爲以錯誤的XML句法.\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address\u0026gt;這是錯誤的句法\u0026lt;/Address\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的代碼顯示了一個正確的方法,在這裏我們使用了相同的大小寫爲開始和結束標記.\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address\u0026gt;這是正確的句法\u0026lt;/address\u0026gt;\r\u003c/pre\u003e \n\u003ch3\u003e 規則2\u003c/h3\u003e \n\u003cp\u003e XML標記必須是封閉在一個合適的順序,例如,另一個元件內的XML標籤打開之前的外元件被關閉,必須關閉。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;outer_element\u0026gt;\r\n \u0026lt;internal_element\u0026gt;\r\n This tag is closed before the outer_element\r\n \u0026lt;/internal_element\u0026gt;\r\n\u0026lt;/outer_element\u0026gt;\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"2e:T800,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML元素可以被定義爲XML的積木。元素可以表現爲容器,以容納文本,元素,屬性,媒體對象或所有的這些.\u003c/p\u003e \n\u003cp\u003e 每個XML文檔包含一個或多個元素,其範圍是任一分隔的由開始和結束標記,或者爲空元素,用一個空元素標籤.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e 以下是XML元素語法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element-name attribute1 attribute2\u0026gt;\r\n....content\r\n\u0026lt;/element-name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 那麼\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e XML元素\u0026nbsp;是元素的名稱\u0026nbsp;name\u0026nbsp;開始和結束標記必須匹配.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e ATTRIBUTE1,attribute2\u0026nbsp;是由空格分隔的元素的屬性。屬性定義了元素的屬性。它關聯的名稱與價值,這是字符的字符串。屬性被寫爲:\u003c/p\u003e \u003cpre class=\"prettyprint notranslate\"\u003e\r\nname = \"value\"\r\u003c/pre\u003e \u003cp\u003e 名後跟一個等號(=)和雙引號(「」)或單引號(''),引號內的字符串值。\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 空元素\u003c/h2\u003e \n\u003cp\u003e 空元素(沒有內容的元素)的語法如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;name attribute1 attribute2.../\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 使用各種XML元素的XML文檔的例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n \u0026lt;address category=\"residence\"\u0026gt;\r\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\r\n \u0026lt;address/\u0026gt;\r\n\u0026lt;/contact-info\u0026gt;\r\u003c/pre\u003e \n\u003ch2\u003e XML元素規則\u003c/h2\u003e \n\u003cp\u003e 需要以下規則應遵循的XML元素:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 元素名稱可以包含任何字母數字字符。在名稱中允許的唯一的標點符號是連字符( - ),在得分(_)和句點(。).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 名稱是區分大小寫的。例如,地址,地址,和地址是不同的名稱.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 開始和結束標記必須必須相同。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個元素它是一個容器可以包含文本或元素在上述例子中看到的.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"2f:Tfaa,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹有關XML屬性。屬性是XML元素的一部分。一個元素可以有多個獨特的屬性。屬性提供了有關XML元素的詳細信息\u0026nbsp;XML屬性始終是一個名稱\u0026nbsp;值對.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e XML屬性有以下語法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;element-name attribute1 attribute2 \u0026gt;\r\n....content..\r\n\u0026lt; /element-name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏\u0026nbsp;attribute1\u0026nbsp;和\u0026nbsp;attribute2\u0026nbsp;具有以下形式:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\nname = \"value\"\r\u003c/pre\u003e \n\u003cp\u003e 值必須在雙 (\" \") 或單 (' ') quotes. 在這裏\u0026nbsp;attribute1\u0026nbsp;和\u0026nbsp;attribute2\u0026nbsp;是獨特的屬性標籤.\u003c/p\u003e \n\u003cp\u003e 屬性是用來添加一個唯一的標籤元素,將標籤貼在一個類別,添加一個布爾標誌,或用一些數據字符串相關聯。下面的例子演示瞭如何使用屬性。:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\" encoding=\"UTF-8\"?\u0026gt;\r\n\u0026lt;!DOCTYPE garden [\r\n \u0026lt;!ELEMENT garden (plants)*\u0026gt;\r\n \u0026lt;!ELEMENT plants (#PCDATA)\u0026gt;\r\n \u0026lt;!ATTLIST plants category CDATA #REQUIRED\u0026gt;\r\n]\u0026gt;\r\n\u0026lt;garden\u0026gt;\r\n \u0026lt;plants category=\"flowers\" /\u0026gt;\r\n \u0026lt;plants category=\"shrubs\"\u0026gt;\r\n \u0026lt;/plants\u0026gt;\r\n\u0026lt;/garden\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 屬性可以區分名稱相同的元件之間。當你不希望創建在任何情況下的新元素。因此,使用一個屬性可以區分兩個或兩個以上類似的元素添加更多的細節.\u003c/p\u003e \n\u003cp\u003e 在上面的例子中,我們已經通過包括屬性分類並分配不同的值給每個元件的分類的植物\u0026nbsp;因此\u0026nbsp;我們有兩大類植物,一是花等顏色\u0026nbsp;因此, 我們\u0026nbsp;有兩個\u0026nbsp;植物的元\u0026nbsp;素具. 有不同屬性.\u003c/p\u003e \n\u003cp\u003e 你也可以看到在XML的開始時我們已宣佈該屬性.\u003c/p\u003e \n\u003ch2\u003e 屬性類型\u003c/h2\u003e \n\u003cp\u003e 下表列出的屬性的類型:\u003c/p\u003e \n\u003ctable\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003cth\u003e 屬性類型\u003c/th\u003e \n \u003cth\u003e 說明\u003c/th\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e 字符串類型\u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 它考慮任何文本字符串作爲值。 CDATA是字符串類型。 CDATA是字符數據。這意味着,非標記字符串中的字符是屬性的法律的一部分.\u003c/p\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e 標記過的類型\u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 這是更多的限制類型。後的屬性值是歸一化的,有效性約束所用的語法適用。記號化類型屬性給出如下:\u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003e \u003cp\u003e ID :\u0026nbsp;它是用來指定唯一元素.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e IDREF :\u0026nbsp;它是用來引用已命名爲另一種元素的ID.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e IDREFS :\u0026nbsp;這是用來表示一個元件的所有ID.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e ENTITY :\u0026nbsp;表示該屬性將代表文件中的外部實體.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e ENTITIES :\u0026nbsp;它表示該屬性表示文檔中的外部實體.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e NMTOKEN :\u0026nbsp;它類似於CDATA對哪些數據可以是屬性的一部分的限制.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e NMTOKENS :\u0026nbsp;它類似於CDATA對哪些數據可以是屬性的一部分的限制.\u003c/p\u003e \u003c/li\u003e \n \u003c/ul\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e 枚舉類型\u003c/td\u003e \n \u003ctd\u003e \u003cp\u003e 這在其聲明中預定義的值列表。外面,就必須分配一個值。有兩種類型的枚舉屬性:\u003c/p\u003e \n \u003cul\u003e \n \u003cli\u003e \u003cp\u003e 符號類型 :\u0026nbsp;它聲明的元素將被引用到的XML文檔中聲明其他地方的符號.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 枚舉 :\u0026nbsp;枚舉允許您定義的值,該屬性值必須匹配的具體名單.\u003c/p\u003e \u003c/li\u003e \n \u003c/ul\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003ch2\u003e 元素屬性規則\u003c/h2\u003e \n\u003cp\u003e 以下是需要遵循的屬性的規則:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 屬性名稱不能在同一起始標籤或空元素標籤中出現一次.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個屬性必須使用屬性表聲明的文檔類型定義(DTD)的聲明.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 屬性值不能包含直接或間接的實體引用外部實體.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 任何實體的替換文本稱爲直接或間接的屬性值中不能包含任何小於號 \u0026lt;\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"30:Tc2b,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹了有關XML\u0026nbsp;字符實體. 我們瞭解到字符實體之前,讓我們先了解什麼是XML實體.\u003c/p\u003e \n\u003cp\u003e 如上述\u0026nbsp;\u003ca href=\"http://www.w3.org/TR/REC-xml/#dt-docent\"\u003eW3 Consortium\u003c/a\u003e\u0026nbsp;實體的定義如下:\u003c/p\u003e \n\u003cblockquote\u003e \n \u003cp\u003e 文檔實體工作爲實體的根本和XML處理器的出發點.\u003c/p\u003e \n\u003c/blockquote\u003e \n\u003cp\u003e 實體在XML中的佔位符。這些都可以在文檔序言或在DTD中聲明。有不同類型的實體本章將討論字符實體.\u003c/p\u003e \n\u003cp\u003e HTML和XML有保留它們的使用,這是不能被用作在XML代碼的內容的一些符號。例如,\u0026lt;和\u0026gt;符號被用於打開和關閉的XML標記。字符實體用於爲了顯示這些特殊字符.\u003c/p\u003e \n\u003cp\u003e 還有一些特殊的字符或符號的不可用,但是,可以直接從鍵盤輸入的。字符實體可以被用於顯示這些符號/特殊字符.\u003c/p\u003e \n\u003ch2\u003e 字符實體類型\u003c/h2\u003e \n\u003cp\u003e 有三種類型的字符實體:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e 預定義的字符實體\u003c/li\u003e \n \u003cli\u003e 編號字符實體\u003c/li\u003e \n \u003cli\u003e 命名字符實體\u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 預定義的字符實體\u003c/h3\u003e \n\u003cp\u003e 在使用某些碼元的時候把這些被引入以避免混淆。例如,一個模糊觀察時小於(\u0026lt;)或大於(\u0026gt;)符號用於與角標記(\u0026lt;\u0026gt;)。字符實體基本上都是用來分隔標記的XML。以下是預定義的字符實體從XML規範的列表。這些可以被用於表達字符無歧義。.\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e Ampersand: \u0026amp;amp;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 單引號: \u0026amp;apos;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 大於:&GT;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 不足:&LT;;\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 雙引號:&QUOT;;\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 數字字符實體\u003c/h3\u003e \n\u003cp\u003e 數字參考用於表示一個字符實體。參考數值可以是十進制或十六進制格式。由於有數以千計的數字參考用,這些都是有點難以記住。數字引用指的是字符由它在Unicode字符集數.\u003c/p\u003e \n\u003cp\u003e 十進制數值參考一般的語法是:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n&#十進制數 ;\r\u003c/pre\u003e \n\u003cp\u003e 十六進制數字參考一般語法如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n&#x的十六進制數; ;\r\u003c/pre\u003e \n\u003cp\u003e 下表列出了它們的數值一些預定義的字符實體:\u003c/p\u003e \n\u003ctable\u003e \n \u003cthead\u003e \n \u003ctr\u003e \n \u003cth\u003e 實體名稱\u003c/th\u003e \n \u003cth\u003e 性格\u003c/th\u003e \n \u003cth\u003e 十進制參考\u003c/th\u003e \n \u003cth\u003e 十六進制參考\u003c/th\u003e \n \u003c/tr\u003e \n \u003c/thead\u003e \n \u003ctbody\u003e \n \u003ctr\u003e \n \u003ctd\u003e quot\u003c/td\u003e \n \u003ctd\u003e \"\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#34;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x22;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e amp\u003c/td\u003e \n \u003ctd\u003e \u0026amp;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#38;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x26;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e apos\u003c/td\u003e \n \u003ctd\u003e '\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#39;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x27;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e lt\u003c/td\u003e \n \u003ctd\u003e \u0026lt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#60;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x3C;\u003c/td\u003e \n \u003c/tr\u003e \n \u003ctr\u003e \n \u003ctd\u003e gt\u003c/td\u003e \n \u003ctd\u003e \u0026gt;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#62;\u003c/td\u003e \n \u003ctd\u003e \u0026amp;#x3E;\u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e \n\u003c/table\u003e \n\u003ch3\u003e 命名的字符實體\u003c/h3\u003e \n\u003cp\u003e 因爲它是很難記住的數字字符,字符實體的最佳類型是已命名的字符實體。在這裏,每一個實體標識的名稱.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"31:T704,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章討論處理XML文檔的空白。空白是空格,製表符和換行符的集合。它通常被用來使一個文件的可讀性.\u003c/p\u003e \n\u003cp\u003e XML文檔包含兩種類型的空白\u0026nbsp;(a)\u0026nbsp;顯著空白(b)\u0026nbsp;和無關緊要的空白. 兩者都以實例說明如下.\u003c/p\u003e \n\u003ch2\u003e 顯著空白\u003c/h2\u003e \n\u003cp\u003e 該顯著空白是包含文本和標記​​一起元素中。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;name\u0026gt;TanmayPatil\u0026lt;/name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 和\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 上述兩個因素是由於\u0026nbsp;Tanmay\u0026nbsp;和\u0026nbsp;Patil\u0026nbsp;之間的空間中的不同. 任何程序在XML文件中讀取此元件必須保持的區別.\u003c/p\u003e \n\u003ch2\u003e 無關緊要的空白\u003c/h2\u003e \n\u003cp\u003e 無意義的空白意味着這裏只允許元素含量的空間。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address.category=\"residence\"\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 或\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;address....category=\"..residence\"\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 上面的兩個例子是一樣的。這裏,該空間是由點來表示 (.). 在上面的例子中,\u0026nbsp;地址\u0026nbsp;和\u0026nbsp;分類\u0026nbsp;之間的空間是無關緊要的.\u003c/p\u003e \n\u003cp\u003e 名爲一個特殊的屬性\u0026nbsp;xml:space\u0026nbsp;可以連接到一個元素. 這表明,空白不應該由應用程序的元素刪除. 您可以將此屬性設置爲\u0026nbsp;默認\u0026nbsp;或\u0026nbsp;保存\u0026nbsp;如下面的例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;!ATTLIST address xml:space (default|preserve) 'preserve'\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 在這裏:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 這裏的值指示應用程序的默認空白處理方式是可以接受爲本元素\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 保留」的值表示該應用程序保存所有的空格.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"32:T757,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 本章介紹了處理指(PIs).至於由\u0026nbsp;\u003ca href=\"http://www.w3.org/TR/REC-xml/\"\u003eXML1.0推薦標準定義\u003c/a\u003e,\u003c/p\u003e \n\u003cblockquote\u003e \n \u003cp\u003e 處理指令(PI)允許文件包含用於應用程序。蛋白酶抑制劑不是文檔的字符數據的一部分,但必須通過嚮應用程序傳遞.\u003c/p\u003e \n\u003c/blockquote\u003e \n\u003cp\u003e 處理指令(PI)可用於將信息傳遞給應用程序。督察會出現標記之外的文檔中的任意位置。它們可以出現在序言中包括的文檔類型定義(DTD),在文字內容或文檔之後.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e 以下是PI 的語法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?target instructions?\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 其中:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 目標\u0026nbsp;- 標識指令所指向的應用程序.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 指令\u0026nbsp;- 這是一個性格描述信息的應用程序來處理.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003cp\u003e PI開始於一個特殊的標記\u0026nbsp;\u0026lt;?\u0026nbsp;\u0026lt;?和結尾?\u0026gt;\u0026nbsp;?\u0026gt;.內容處理結束當遇到串之後。\u003c/p\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 處理指令都很少使用。它們主要用於XML文檔鏈接到樣式表.下面是一個例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml-stylesheet href=\"yiibaistyle.css\" type=\"text/css\"?\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏,目標是XML的樣式表。 HREF =「yiibaistyle.css」和類型=「文本/ CSS」是數據或目標應用程序將使用在處理給定XML文檔的時間指示.\u003c/p\u003e \n\u003cp\u003e 在這種情況下,瀏覽器識別目標由表示該XML應該被顯示之前被轉化;第一個屬性規定的變換類型是XSL和第二個屬性點,它的位置.\u003c/p\u003e \n\u003ch2\u003e 處理指令規則\u003c/h2\u003e \n\u003cp\u003e 處理指令可以包含任何數據,除了結合?\u0026gt;,這被解釋爲結束分隔符。下面是有效處理指令的兩個例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?welcome to pg=10 of tutorials point?\u0026gt;\r\n\r\n\u0026lt;?welcome?\u0026gt;\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"33:Tcbb,"])</script><script>self.__next_f.push([1,"\u003cp\u003e \u003cstrong\u003e驗證\u003c/strong\u003e\u0026nbsp;是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方式有兩種XML解析器:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 格式良好的XML文檔\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 有效的XML文檔\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 良好的XML文檔\u003c/h2\u003e \n\u003cp\u003e XML文檔被認爲是良好的,如果它附着在下面的規則:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 非DTD的XML文件必須使用預定義的字符實體\u0026nbsp;amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),lt(\u0026lt;),\u0026nbsp;quote(double quote).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須按照標籤的順序。例子,內標籤必須關閉外部標記前關閉。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它的每一個開放標籤必須有結束標籤,或者它必須是一個自結束標記.(\u0026lt;title\u0026gt;....\u0026lt;/title\u0026gt; or \u0026lt;title/\u0026gt;).\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它必須有一個開始標籤,這就需要用引號括起來只有一個屬性.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e amp(\u0026amp;),\u0026nbsp;apos(single quote),\u0026nbsp;gt(\u0026gt;),\u0026nbsp;lt(\u0026lt;),\u0026nbsp;quote(double quote)\u0026nbsp;除了這些之外的實體必須被聲明.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 格式良好的XML文檔的示例:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address\r\n[\r\n \u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n]\u0026gt;\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 上面的例子被認爲是良好的形成爲:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 它定義文檔類型。這裏,文檔類型是\u0026nbsp;元素\u0026nbsp;類型.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 它包括命名爲一個根元素\u0026nbsp;地址.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 每個子元素的名稱,公司的手機都包含在它的自我解釋標籤.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 保持標籤序.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 有效的XML文檔\u003c/h2\u003e \n\u003cp\u003e 如果XML文件是良好的,並具有相關聯的文檔類型定義(DTD),它被認爲是一個有效的XML文檔。我們將學習更多有關DTD中的一章\u0026nbsp;XML - DTDs.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"34:T1fbc,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML文檔類型聲明,俗稱DTD,是一種方式來描述XML語言準確。檢查的DTD對詞彙的適當的XML語言的語法規則的XML文檔的結構和有效性.\u003c/p\u003e \n\u003cp\u003e 一個XML的DTD既可以在文檔中指定的,或者它可以被保存在一個單獨的文件中,並且可以分別連結.\u003c/p\u003e \n\u003ch2\u003e 語法\u003c/h2\u003e \n\u003cp\u003e 一個DTD的基本語法如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE element DTD identifier\r\n[\r\n declaration1\r\n declaration2\r\n ........\r\n]\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 在上面的句法\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e DTD開始\u0026lt;!DOCTYPE分隔符.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 一個元素告訴解析器來解析從指定的根元素的文檔.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e DTD標識符是用於文檔類型定義,它可以是路徑到互聯網上的文件系統或URL上的文件。如果DTD是指向外部路徑,它被稱爲外部子集.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 方括號[]括起來的實體聲明稱爲內部子集的可選列表.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 內部DTD\u003c/h2\u003e \n\u003cp\u003e 一個DTD被稱爲內部DTD,如果元素的XML文件中聲明。以指它作爲內部DTD,XML聲明中的獨立屬性必須設置爲yes。這意味着,在聲明的工作獨立於外部源.\u003c/p\u003e \n\u003ch3\u003e 句法\u003c/h3\u003e \n\u003cp\u003e 內部DTD的句法如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE root-element [element-declarations]\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 這是根元素聲明的名稱.\u003c/p\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 以下是內部DTD的一個簡單例子:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address [\r\n \u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n]\u0026gt;\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 讓我們通過上面的代碼:\u003c/p\u003e \n\u003cp\u003e 開始聲明\u0026nbsp;- 開始XML聲明與下面的語句\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"yes\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e DTD\u0026nbsp;- 緊接在 XML header\u0026nbsp;文檔類型\u0026nbsp;聲明如下, 通常被稱爲在DOCTYPE:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address [\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e TDOCTYPE聲明有一個感嘆號(!)的元素名稱的開始。在DOCTYPE通知一個DTD與此XML文檔相關聯的解析器.\u003c/p\u003e \n\u003cp\u003e DTD的內容\u0026nbsp;- DOCTYPE聲明後面是DTD的內容,聲明的元素,屬性,實體和符號:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone_no (#PCDATA)\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 許多元素都在這裏聲明補\u0026lt;名稱\u0026gt;文檔的詞彙。 \u0026lt;!元素名稱(#PCDATA)\u0026gt;定義的元素名稱是鍵入「#PCDATA」的。這裏#PCDATA是語法分析的文本數據.\u003c/p\u003e \n\u003cp\u003e 結束聲明 - 最後,DTD中的聲明部分使用的是右括號和右尖括號被關閉(]\u0026gt;)。這有效地結束的定義,然後,在XML文檔緊跟.\u003c/p\u003e \n\u003ch3\u003e 規則\u003c/h3\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 文檔類型聲明必須出現在文件(僅由XML頭之前)的開始 - 它不是在文檔中允許的其他地方。\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 類似的DOCTYPE聲明,該聲明的元素必須以感嘆號.\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 在文檔類型聲明的名稱必須與根元素的元素類型相匹配.\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch2\u003e 外部DTD\u003c/h2\u003e \n\u003cp\u003e 在外部DTD元素的XML文件外聲明。它們是通過指定其可以是法律.dtd文件或一個有效的URL,系統的屬性進行訪問。是指它作爲外部DTD,XML聲明standalone屬性必須設置爲no。這意味着,聲明中包含從外部源信息.\u003c/p\u003e \n\u003ch3\u003e 句法\u003c/h3\u003e \n\u003cp\u003e 以下是句法外部DTD:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE root-element SYSTEM \"file-name\"\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 其中filename是.dtd擴展名的文件.\u003c/p\u003e \n\u003ch3\u003e 示例\u003c/h3\u003e \n\u003cp\u003e 下面的例子顯示外部DTD用法:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e encoding\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"UTF-8\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e standalone\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"no\"\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE address SYSTEM \"address.dtd\"\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;address\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/address\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e DTD文件address.dtd的內容是如圖所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT address (name,company,phone)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT name (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT company (#PCDATA)\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"dec\"\u003e\u0026lt;!ELEMENT phone (#PCDATA)\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003ch3\u003e 類型\u003c/h3\u003e \n\u003cp\u003e 您可以通過使用系統標識符和公共標識符引用一個外部DTD.\u003c/p\u003e \n\u003ch4\u003e 系統標識符\u003c/h4\u003e \n\u003cp\u003e 系統標識符可以指定包含DTD聲明一個外部文件的位置。語法如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE name SYSTEM \"address.dtd\" [...]\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 正如你可以看到它包含的關鍵字系統和URI引用指向該文件的位置.\u003c/p\u003e \n\u003ch4\u003e 公共標識\u003c/h4\u003e \n\u003cp\u003e 公共標識符提供了一種機制來定位DTD資源和寫入如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE name PUBLIC \"-//Beginning XML//DTD Address Example//EN\"\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 正如你可以看到它開始與關鍵字public,然後由專門的標識。公共標識符被用來標識在一個目錄中的條目。公共標識可以按照任何格式,但是,常用的格式被稱爲正式公開標識符,或符,FPI.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"35:T10c4,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML模式被稱爲XML架構定義(XSD)。它是用來描述和驗證的結構和XML數據的內容。 XML模式定義的元素,屬性和數據類型。Schema元素的命名空間支持。它類似於描述了數據庫中的數據的數據庫模式.\u003c/p\u003e \n\u003ch2\u003e 句法\u003c/h2\u003e \n\u003cp\u003e 在XML文檔中,您需要如下聲明模式:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u0026gt;\r\u003c/pre\u003e \n\u003ch3\u003e 例如\u003c/h3\u003e \n\u003cp\u003e 下面的示例演示瞭如何使用模式:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\" encoding=\"UTF-8\"?\u0026gt;\r\n\u0026lt;xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\u0026gt;\r\n\u0026lt;xs:element name=\"contact\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"name\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;xs:element name=\"company\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;xs:element name=\"phone\" type=\"xs:int\" /\u0026gt;\r\n \u0026lt;/xs:sequence\u0026gt;\r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt;\r\n\u0026lt;/xs:schema\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e XML模式的基本思路是,它描述了合法格式的XML文檔可以接受.\u003c/p\u003e \n\u003ch2\u003e 元素\u003c/h2\u003e \n\u003cp\u003e 我們可以在\u0026nbsp;XML中看到的 - 元素一章的\u0026nbsp;元素是XML文檔的組成部分。一個元件可以爲XSD中定義如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"x\" type=\"y\"/\u0026gt;\r\u003c/pre\u003e \n\u003ch2\u003e 定義類型\u003c/h2\u003e \n\u003cp\u003e 您可以定義下列方式XML架構元素:\u003c/p\u003e \n\u003cp\u003e 簡單的類型 -\u0026nbsp;簡單型元件被用來只在文本的上下文。一些預定義的簡單類型有:XS:整數,XS:布爾,XS:字符串,XS:日期。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"phone_number\" type=\"xs:int\" /\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 複雜類型 -\u0026nbsp;複雜類型可以包含其他元素定義。這使您可以指定哪些子元素的元素可以包含和你的XML文檔中提供了一些結構。例如:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"Address\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"name\" type=\"xs:string\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"company\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;xs:element name=\"phone\" type=\"xs:int\" /\u0026gt; \r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\u003c/pre\u003e \n\u003cp\u003e 在上面的例子中,地址元素是由子元素。這是一個容器,其他與LT; XS:元素和GT;定義,允許構建部件的簡單分層結構的XML文檔中.\u003c/p\u003e \n\u003cp\u003e 全局類型 -\u0026nbsp;隨着全球性的類型,你可以定義你的文件,可以使用所有其他引用在一個單一的類型。例如,假設你想推廣的人員和公司對公司的地址不同,在這種情況下,您可以定義如下的一般類型:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"AddressType\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"name\" type=\"xs:string\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"company\" type=\"xs:string\" /\u0026gt;\r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\u003c/pre\u003e \n\u003cp\u003e 現在讓我們用這種類型在我們的例子如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:element name=\"Address1\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"address\" type=\"AddressType\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"phone1\" type=\"xs:int\" /\u0026gt; \r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\n\u0026lt;xs:element name=\"Address2\"\u0026gt;\r\n \u0026lt;xs:complexType\u0026gt;\r\n \u0026lt;xs:sequence\u0026gt;\r\n \u0026lt;xs:element name=\"address\" type=\"AddressType\" /\u0026gt;\r\n\t \u0026lt;xs:element name=\"phone2\" type=\"xs:int\" /\u0026gt; \r\n \u0026lt;/xs:sequence\u0026gt; \r\n \u0026lt;/xs:complexType\u0026gt;\r\n\u0026lt;/xs:element\u0026gt; \r\u003c/pre\u003e \n\u003cp\u003e 而不必定義名稱,該公司兩次(一次在地址1,一次用於地址2,我們現在有一個單一的定義。如果你決定添加「郵編」元素的地址,你需要將它們添加在一個地方.\u003c/p\u003e \n\u003ch2\u003e 屬性\u003c/h2\u003e \n\u003cp\u003e 在XSD屬性提供了一個元素中的額外信息。屬性具有名稱和類型屬性,如下所示:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;xs:attribute name=\"x\" type=\"y\"/\u0026gt;\u003c/pre\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"36:T5d0,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 一個XML文檔始終是描述性的。樹狀結構是通常被稱爲XML樹和起着很容易地描述任何XML文檔中起重要作用。\u003c/p\u003e \n\u003cp\u003e 樹狀結構包含根(父)要素,子要素等。通過採用樹狀結構,你可以知道所有後續的分行及支行從根開始。解析開始於開始和向下移動一個元素的第一分支,並進一步向葉節點.\u003c/p\u003e \n\u003ch2\u003e 例子\u003c/h2\u003e \n\u003cp\u003e 下面的例子演示了簡單的XML樹形結構:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;Company\u0026gt;\r\n \u0026lt;Employee\u0026gt;\r\n \u0026lt;FirstName\u0026gt;Tanmay\u0026lt;/FirstName\u0026gt;\r\n \u0026lt;LastName\u0026gt;Patil\u0026lt;/LastName\u0026gt;\r\n \u0026lt;ContactNo\u0026gt;1234567890\u0026lt;/ContactNo\u0026gt;\r\n \u0026lt;Email\u0026gt;tanmaypatil@xyz.com\u0026lt;/Email\u0026gt;\r\n \u0026lt;Address\u0026gt;\r\n \u0026lt;City\u0026gt;Bangalore\u0026lt;/City\u0026gt;\r\n \u0026lt;State\u0026gt;Karnataka\u0026lt;/State\u0026gt;\r\n \u0026lt;Zip\u0026gt;560212\u0026lt;/Zip\u0026gt;\r\n \u0026lt;/Address\u0026gt;\r\n \u0026lt;/Employee\u0026gt;\r\n\u0026lt;/Company\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 下面的樹結構表示上述XML文檔:\u003c/p\u003e \n\u003cimg alt=\"XML 樹結構 \" src=\"https://asset.1ju.org/cmsstatic/xml-2.jpg\"\u003e \n\u003cp\u003e 在上面的圖中,有一個名爲如 \u0026lt;c公司\u0026gt;根元素. 這裏面,還有一個元素 \u0026lt;員工\u0026gt;. 員工元素中,有一個名爲五家分公司\u0026lt;名\u0026gt;, \u0026lt;姓\u0026gt;, \u0026lt;聯絡電話\u0026gt;, \u0026lt;電子郵件\u0026gt;, 和\u0026lt;地址\u0026gt;. 在 \u0026lt;地址\u0026gt; 元素, 有三個支行, 名爲 \u0026lt;市\u0026gt; \u0026lt;國家\u0026gt; 和 \u0026lt;郵編\u0026gt;.\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"37:T1d7b,"])</script><script>self.__next_f.push([1,"\u003cp\u003e 文檔對象模型(DOM)是XML的基礎。 XML文檔具有信息單位稱爲節點的層次結構;DOM是描述這些節點和它們之間的關係的一種方式。.\u003c/p\u003e \n\u003cp\u003e 一個DOM文檔是一組層次組織的節點或信息塊。這個層次結構允許開發人員通過導航樹中尋找特定信息。由於它是基於信息層次,在DOM被認爲是基於樹的.\u003c/p\u003e \n\u003cp\u003e 另一方面的XML DOM還提供了一個API,允許開發者添加,編輯,移動,或以創建一個應用程序中刪除樹中的節點在任何點.\u003c/p\u003e \n\u003ch2\u003e 示例\u003c/h2\u003e \n\u003cp\u003e 下面的例子(sample.html)示出的XML文檔(「address.xml」)到一個XML DOM對象,然後從它提取部分信息的JavaScript:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate tryit prettyprinted\"\u003e\r\n\u003cspan class=\"dec\"\u003e\u0026lt;!DOCTYPE html\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;html\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;body\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;h1\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai DOM example \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/h1\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;div\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eName:\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;span\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"atn\"\u003eid\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"atv\"\u003e\"name\"\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026gt;\u0026lt;/span\u0026gt;\u0026lt;br\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eCompany:\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;span\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"atn\"\u003eid\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"atv\"\u003e\"company\"\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026gt;\u0026lt;/span\u0026gt;\u0026lt;br\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003ePhone:\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/b\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;span\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"atn\"\u003eid\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"atv\"\u003e\"phone\"\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026gt;\u0026lt;/span\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/div\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;script\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"kwd\"\u003eif\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"pln\"\u003ewindow\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"typ\"\u003eXMLHttpRequest\u003c/span\u003e\u003cspan class=\"pun\"\u003e)\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e{\u003c/span\u003e\u003cspan class=\"com\"\u003e// code for IE7+, Firefox, Chrome, Opera, Safari\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp \u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"kwd\"\u003enew\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"typ\"\u003eXMLHttpRequest\u003c/span\u003e\u003cspan class=\"pun\"\u003e();\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e}\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"kwd\"\u003eelse\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e{\u003c/span\u003e\u003cspan class=\"com\"\u003e// code for IE6, IE5\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp \u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"kwd\"\u003enew\u003c/span\u003e\u003cspan class=\"pln\"\u003e \u003c/span\u003e\u003cspan class=\"typ\"\u003eActiveXObject\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"Microsoft.XMLHTTP\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e);\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"pun\"\u003e}\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003eopen\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"GET\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e,\u003c/span\u003e\u003cspan class=\"str\"\u003e\"/xml/address.xml\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e,\u003c/span\u003e\u003cspan class=\"kwd\"\u003efalse\u003c/span\u003e\u003cspan class=\"pun\"\u003e);\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlhttp\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003esend\u003c/span\u003e\u003cspan class=\"pun\"\u003e();\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003exmlhttp\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003eresponseXML\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\r\n document\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"name\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e).\u003c/span\u003e\u003cspan class=\"pln\"\u003einnerHTML\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementsByTagName\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"name\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e)[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003echildNodes\u003c/span\u003e\u003cspan class=\"pun\"\u003e[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003enodeValue\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n document\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"company\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e).\u003c/span\u003e\u003cspan class=\"pln\"\u003einnerHTML\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementsByTagName\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"company\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e)[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003echildNodes\u003c/span\u003e\u003cspan class=\"pun\"\u003e[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003enodeValue\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n document\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"phone\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e).\u003c/span\u003e\u003cspan class=\"pln\"\u003einnerHTML\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n xmlDoc\u003c/span\u003e\u003cspan class=\"pun\"\u003e.\u003c/span\u003e\u003cspan class=\"pln\"\u003egetElementsByTagName\u003c/span\u003e\u003cspan class=\"pun\"\u003e(\u003c/span\u003e\u003cspan class=\"str\"\u003e\"phone\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e)[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003echildNodes\u003c/span\u003e\u003cspan class=\"pun\"\u003e[\u003c/span\u003e\u003cspan class=\"lit\"\u003e0\u003c/span\u003e\u003cspan class=\"pun\"\u003e].\u003c/span\u003e\u003cspan class=\"pln\"\u003enodeValue\u003c/span\u003e\u003cspan class=\"pun\"\u003e;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/script\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/body\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/html\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e address.xml的內容如下:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate prettyprinted\"\u003e\r\n\u003cspan class=\"pun\"\u003e\u0026lt;?\u003c/span\u003e\u003cspan class=\"pln\"\u003exml version\u003c/span\u003e\u003cspan class=\"pun\"\u003e=\u003c/span\u003e\u003cspan class=\"str\"\u003e\"1.0\"\u003c/span\u003e\u003cspan class=\"pun\"\u003e?\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;contact-info\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eTanmay Patil\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/name\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003eYiiBai\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/company\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n \u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e(011) 123-4567\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/phone\u0026gt;\u003c/span\u003e\u003cspan class=\"pln\"\u003e\r\n\u003c/span\u003e\u003cspan class=\"tag\"\u003e\u0026lt;/contact-info\u0026gt;\u003c/span\u003e\u003c/pre\u003e \n\u003cp\u003e 現在,讓我們保持這兩個文件sample.html和address.xml在同一目錄/ XML,並在任何瀏覽器中打開它執行sample.html文件。這應該產生一個輸出。\u003c/p\u003e \n\u003cp\u003e 在這裏你可以看到每個子節點被提取以顯示他們的值。\u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u0026nbsp;\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"38:T6a8,"])</script><script>self.__next_f.push([1,"\u003cp\u003e XML數據庫用存儲大量的信息以XML格式。作爲XML的使用正在增加在各個領域中,需要具有在安全的地方來存儲XML文檔。存儲在數據庫中的數據可以使用XQuery,序列進行查詢,並輸出到所需的格式.\u003c/p\u003e \n\u003ch2\u003e XML數據庫類型\u003c/h2\u003e \n\u003cp\u003e 有XML數據庫兩大類:\u003c/p\u003e \n\u003cul\u003e \n \u003cli\u003e \u003cp\u003e 基於XML啓用\u003c/p\u003e \u003c/li\u003e \n \u003cli\u003e \u003cp\u003e 原生XML(NXD)\u003c/p\u003e \u003c/li\u003e \n\u003c/ul\u003e \n\u003ch3\u003e X基於XML的數據庫啓用\u003c/h3\u003e \n\u003cp\u003e 支持XML數據庫是XML文檔的擴展轉換。這是關係型數據庫把數據存儲在表中由行和列組成。該表包含設定的記錄,這反過來又由字段組成。\u003c/p\u003e \n\u003ch3\u003e 原生XML數據庫\u003c/h3\u003e \n\u003cp\u003e 本地XML數據庫是基於內容,而不是表的格式。它可以存儲大量XML文檔和數據。原生XML數據庫是由XPath表達式查詢.\u003c/p\u003e \n\u003cp\u003e 原生XML數據庫具有優勢的支持XML的數據庫。這是非常能幹的存儲,查詢和維護比支持XML的數據庫中的XML文檔.\u003c/p\u003e \n\u003ch2\u003e 示例\u003c/h2\u003e \n\u003cp\u003e 下面的例子演示了XML數據庫:\u003c/p\u003e \n\u003cpre class=\"prettyprint notranslate\"\u003e\r\n\u0026lt;?xml version=\"1.0\"?\u0026gt;\r\n\u0026lt;contact-info\u0026gt;\r\n \u0026lt;contact1\u0026gt;\r\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\r\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\r\n \u0026lt;/contact1\u0026gt;\r\n \u0026lt;contact2\u0026gt;\r\n \u0026lt;name\u0026gt;Manisha Patil\u0026lt;/name\u0026gt;\r\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\r\n \u0026lt;phone\u0026gt;(011) 789-4567\u0026lt;/phone\u0026gt;\r\n \u0026lt;/contact2\u0026gt;\r\n\u0026lt;/contact-info\u0026gt;\r\u003c/pre\u003e \n\u003cp\u003e 這裏,接觸的表被創建,保存的聯繫人記錄(contact1和contact2),這反過來又由三個實體 - 姓名,公司和電話。\u003cbr\u003e \u003cbr\u003e \u0026nbsp;\u003c/p\u003e \n\u003cbr\u003e"])</script><script>self.__next_f.push([1,"d:[\"$\",\"div\",null,{\"className\":\"page-content\",\"children\":[\"$\",\"div\",null,{\"className\":\"container\",\"children\":[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[[\"$\",\"$L10\",null,{\"tutorial\":{\"state\":\"published\",\"_id\":\"59fd92311e18b40005abaadc\",\"key\":\"xml\",\"indexUrl\":\"index\",\"parent\":\"59fd91bd1e18b40005abaaa3\",\"description\":\"XML是可擴展標記語言。這是基於文本的標記語言衍生從標準通用標記語言(SGML)。本教程教你XML的基礎知識。本教程分爲幾個部分,如XML基礎知識,先進的XML和XML工具。每個章節都包含相關主題簡單而有用的例子。\",\"url\":\"xml\",\"name\":\"XML教學\",\"__v\":0,\"sections\":[{\"order\":0,\"_id\":\"59fd92311e18b40005abaadd\",\"isDefault\":false,\"name\":\"XML教程\",\"sortedPosts\":[{\"order\":0,\"_id\":\"5fcf8cf0d5dd8e00183d7fd9\",\"post\":{\"meta\":{\"description\":\"XML是可擴展標記語言。這是基於文本的標記語言衍生從標準通用標記語言(SGML)。本教程教你XML的基礎知識。本教程分爲幾個部分,如XML基礎知識,先進的XML和XML工具。每個章節都包含相關主題簡單而有用的例子。\",\"keywords\":\"XML教程\"},\"content\":{\"extended\":\"\u003ch1\u003e XML - 教程\u003c/h1\u003e \\n\u003cdiv\u003e \\n \u003cp\u003e XML是可擴展標記語言。這是基於文本的標記語言衍生從標準通用標記語言(SGML).\u003c/p\u003e \\n \u003cp\u003e 本教程教你XML的基礎知識。本教程分爲幾個部分,如XML基礎知識,先進的XML和XML工具。每個章節都包含相關主題簡單而有用的例子.\u003c/p\u003e \\n\u003c/div\u003e \\n\u003ch1\u003e 讀者\u003c/h1\u003e \\n\u003cp\u003e 該參考準備爲初學者幫助他們瞭解基本XML到先進理念。本教程將讓你有足夠的XML知識,以後你可以把自己的專業知識提出了更高的水平.\u003c/p\u003e \\n\u003ch1\u003e 先決條件\u003c/h1\u003e \\n\u003cp\u003e 繼續學習本教程之前你應該有HTML和JavaScript的基礎知識.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":1123,\"order\":0,\"_id\":\"59fd92311e18b40005abaade\",\"key\":\"index-57\",\"url\":\"index\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML教學\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:57.672Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.291Z\"}},{\"order\":2,\"_id\":\"5fcf8cf0d5dd8e00183d7fda\",\"post\":{\"meta\":{\"description\":\"XML指可擴展標記語言。它是從標準通用標記語言派生的基於文本的標記語言(SGML). XML標籤標識數據和用於存儲和組織數據,而不是指定了如何顯示它象HTML標籤,其用於顯示數據。 X\",\"keywords\":\"XML,概述\"},\"content\":{\"extended\":\"$11\"},\"state\":\"published\",\"views\":569,\"order\":2,\"_id\":\"59fd92321e18b40005abaadf\",\"key\":\"xml-overview\",\"url\":\"xml-overview\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML概述\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:58.013Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.285Z\"}},{\"order\":3,\"_id\":\"5fcf8cf0d5dd8e00183d7fdb\",\"post\":{\"meta\":{\"description\":\"本章將帶您通過簡單的語法規則來編寫一個XML文檔。以下是一個完整的XML文檔: ?xml version=1.0?contact-infonameTanmay Patil/namecompanyTutorialsPoint/companyphone(011) 123-4567/phone/contact-info 你可以注意在上\",\"keywords\":\"XML,語法\"},\"content\":{\"extended\":\"$12\"},\"state\":\"published\",\"views\":891,\"order\":3,\"_id\":\"59fd92321e18b40005abaae0\",\"key\":\"xml-syntax\",\"url\":\"xml-syntax\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML語法\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:58.478Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.275Z\"}},{\"order\":4,\"_id\":\"5fcf8cf0d5dd8e00183d7fdc\",\"post\":{\"meta\":{\"description\":\"XML文檔是由元素,XML格式的信息和其他標記的基本單元。XML文檔包含各種各樣的數據。例如,數字,數字表示分子結構或數學公式的數據庫. XML文檔的例子 一個簡單的文件中給出了下面\",\"keywords\":\"XML,文件\"},\"content\":{\"extended\":\"\u003cp\u003e XML文檔是由元素,XML格式的信息和其他標記的基本單元。XML文檔包含各種各樣的數據。例如,數字,數字表示分子結構或數學公式的數據庫.\u003c/p\u003e \\n\u003ch2\u003e XML文檔的例子\u003c/h2\u003e \\n\u003cp\u003e 一個簡單的文件中給出了下面的例子:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\"?\u0026gt;\\r\\n\u0026lt;contact-info\u0026gt;\\r\\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\\r\\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\\r\\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\\r\\n\u0026lt;/contact-info\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 下圖描述了XML文檔的部分.\u003c/p\u003e \\n\u003cimg alt=\\\"XML 文件\\\" src=\\\"https://asset.1ju.org/cmsstatic/xml-1.jpg\\\"\u003e \\n\u003ch2\u003e 文檔前導部分\u003c/h2\u003e \\n\u003cp\u003e 該文件序言談到在文檔的頂部,並在根元素之前。本節包含::\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e XML聲明\u003c/li\u003e \\n \u003cli\u003e 文檔類型聲明\u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cp\u003e 在這裏您可以瞭解更多關於XML聲明 :\u0026nbsp;XML 聲明.\u003c/p\u003e \\n\u003ch2\u003e 文檔元素科\u003c/h2\u003e \\n\u003cp\u003e 文檔元素是XML的積木。這些將文稿分成部分的層次結構,每服一特定的目的。可以單獨文檔分成多個部分並把它可不同的使用或者可被搜索引擎使用。\u0026nbsp;該元件可以是文本和其它元素的組合。.\u003c/p\u003e \\n\u003cp\u003e 在這裏您可以瞭解更多關於XML元素 :\u0026nbsp;XML 元素.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":534,\"order\":4,\"_id\":\"59fd92321e18b40005abaae1\",\"key\":\"xml-documents\",\"url\":\"xml-documents\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML文件\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:58.855Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.238Z\"}},{\"order\":5,\"_id\":\"5fcf8cf0d5dd8e00183d7fdd\",\"post\":{\"meta\":{\"description\":\"本章介紹了XML聲明的細節。 XML聲明包含了準備XML處理器解析XML文檔的詳細信息。它是可選的,但在使用時,它必須出現在XML文檔中的第一行. 句法 下面的句法是XML聲明: ? xml version = ve\",\"keywords\":\"XML,聲明\"},\"content\":{\"extended\":\"$13\"},\"state\":\"published\",\"views\":506,\"order\":5,\"_id\":\"59fd92331e18b40005abaae2\",\"key\":\"xml-declaration\",\"url\":\"xml-declaration\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML聲明\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:59.121Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.231Z\"}},{\"order\":6,\"_id\":\"5fcf8cf0d5dd8e00183d7fde\",\"post\":{\"meta\":{\"description\":\"讓我們瞭解 XML最重要的部分,XML標籤。 XML標籤組成的XML的基礎。它定義了在XML中的元素的範圍。它也可以被用來插入註釋,聲明需要解析的環境設置和插入特殊指令。 我們可以大致歸\",\"keywords\":\"XML,標籤\"},\"content\":{\"extended\":\"$14\"},\"state\":\"published\",\"views\":798,\"order\":6,\"_id\":\"59fd92331e18b40005abaae3\",\"key\":\"xml-tags\",\"url\":\"xml-tags\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML標籤\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:59.425Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.221Z\"}},{\"order\":7,\"_id\":\"5fcf8cf0d5dd8e00183d7fdf\",\"post\":{\"meta\":{\"description\":\"XML元素可以被定義爲XML的積木。元素可以表現爲容器,以容納文本,元素,屬性,媒體對象或所有的這些. 每個XML文檔包含一個或多個元素,其範圍是任一分隔的由開始和結束標記,或\",\"keywords\":\"XML,元素\"},\"content\":{\"extended\":\"$15\"},\"state\":\"published\",\"views\":608,\"order\":7,\"_id\":\"59fd92331e18b40005abaae4\",\"key\":\"xml-elements\",\"url\":\"xml-elements\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML元素\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:59.729Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.214Z\"}},{\"order\":8,\"_id\":\"5fcf8cf0d5dd8e00183d7fe0\",\"post\":{\"meta\":{\"description\":\"本章介紹有關XML屬性。屬性是XML元素的一部分。一個元素可以有多個獨特的屬性。屬性提供了有關XML元素的詳細信息XML屬性始終是一個名稱值對. 語法 XML屬性有以下語法: element-name att\",\"keywords\":\"XML,屬性,XML屬性\"},\"content\":{\"extended\":\"$16\"},\"state\":\"published\",\"views\":516,\"order\":8,\"_id\":\"59fd92341e18b40005abaae5\",\"key\":\"xml-attributes\",\"url\":\"xml-attributes\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML屬性\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.032Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.207Z\"}},{\"order\":9,\"_id\":\"5fcf8cf0d5dd8e00183d7fe1\",\"post\":{\"meta\":{\"description\":\"本章介紹瞭如何XML註釋在XML文檔工作。 XML註釋類似於HTML註釋。這些評論添加爲註釋或行理解的XML代碼的目的. 註釋可以用於包括相關的鏈接信息和術語。它們是可見的,只有在源代碼\",\"keywords\":\"XML註釋,XML,註釋\"},\"content\":{\"extended\":\"\u003cp\u003e 本章介紹瞭如何XML註釋在XML文檔工作。 XML註釋類似於HTML註釋。這些評論添加爲註釋或行理解的XML代碼的目的.\u003c/p\u003e \\n\u003cp\u003e 註釋可以用於包括相關的鏈接信息和術語。它們是可見的,只有在源代碼;未在XML代碼。註釋可以出現在XML代碼的任何地方.\u003c/p\u003e \\n\u003ch2\u003e 句法\u003c/h2\u003e \\n\u003cp\u003e XML註釋有以下句法:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n \u0026lt;!-------Your comment-----\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 註釋以\u0026lt;! - 和結尾 - \u0026gt;。您可以添加文字說明作爲字符之間意見。不能嵌套內另一個註釋.\u003c/p\u003e \\n\u003ch3\u003e 示例\u003c/h3\u003e \\n\u003cp\u003e 下面的示例演示如何使用的XML文檔註釋:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" ?\u0026gt;\\r\\n\u0026lt;!---Students grades are uploaded by months----\u0026gt;\\r\\n\u0026lt;class_list\u0026gt;\\r\\n \u0026lt;student\u0026gt;\\r\\n \u0026lt;name\u0026gt;Tanmay\u0026lt;/name\u0026gt;\\r\\n \u0026lt;grade\u0026gt;A\u0026lt;/grade\u0026gt;\\r\\n \u0026lt;/student\u0026gt;\\r\\n\u0026lt;/class_list\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e \u0026lt;! - \u0026nbsp;和 \u0026nbsp;- \u0026gt;之間的任何文本字符被視爲註釋.\u003c/p\u003e \\n\u003ch2\u003e XML註釋規則\u003c/h2\u003e \\n\u003cp\u003e 需要以下規則應遵循的XML註釋:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e 註釋可以XML聲明之前不會出現。\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 註釋可以出現在文檔中的任意位置.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 註釋不能在屬性值將出現.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 在另一個註釋註釋不能嵌套.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":563,\"order\":9,\"_id\":\"59fd92341e18b40005abaae6\",\"key\":\"xml-comments\",\"url\":\"xml-comments\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML註釋\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.333Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.198Z\"}},{\"order\":10,\"_id\":\"5fcf8cf0d5dd8e00183d7fe2\",\"post\":{\"meta\":{\"description\":\"本章介紹了有關XML字符實體. 我們瞭解到字符實體之前,讓我們先了解什麼是XML實體. 如上述 W3 Consortium 實體的定義如下: 文檔實體工作爲實體的根本和XML處理器的出發點. 實體在XML中的\",\"keywords\":\"XML,字符,實體\"},\"content\":{\"extended\":\"$17\"},\"state\":\"published\",\"views\":494,\"order\":10,\"_id\":\"59fd92341e18b40005abaae7\",\"key\":\"xml-character-entities\",\"url\":\"xml-character-entities\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML字符實體\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.643Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.191Z\"}},{\"order\":11,\"_id\":\"5fcf8cf0d5dd8e00183d7fe3\",\"post\":{\"meta\":{\"description\":\"本章將討論有關XML CDATA節。術語CDATA指字符數據。CDATA定義爲文本塊,但識別爲標記. 預定義實體的同位素;,密度,並且與放大器;需要打字並且通常難以閱讀的標記。在這種情況下,C\",\"keywords\":\"XML,CDATA,節點\"},\"content\":{\"extended\":\"\u003cp\u003e 本章將討論有關XML CDATA節。術語CDATA指字符數據。CDATA定義爲文本塊,但識別爲標記.\u003c/p\u003e \\n\u003cp\u003e 預定義實體的同位素;,密度,並且與放大器;需要打字並且通常難以閱讀的標記。在這種情況下,CDATA部分都可以使用。通過使用CDATA節,你是指揮,該文件的具體內容沒有標記,並應被視爲普通的文本解析器.\u003c/p\u003e \\n\u003ch2\u003e 句法\u003c/h2\u003e \\n\u003cp\u003e 以下是句法的CDATA節:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;![CDATA[\\r\\n characters with markup\\r\\n]]\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 上述的語法是由三個部分組成:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e CDATA節啓動 -\u0026nbsp;CDATA開始於9個字符分隔符\u0026nbsp;\u0026lt;![CDATA[\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e CDATA節結束 -\u0026nbsp;CDATA節用\u0026nbsp;]]\u0026gt;\u0026nbsp;分隔符結束.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e CDATA節 -\u0026nbsp;這兩個機箱之間的字符被解釋爲字符,而不是作爲標記。這部分可以含有標記字符(\u0026lt;,\u0026gt;,和&),但它們是由XML處理器忽略.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003ch3\u003e 示例\u003c/h3\u003e \\n\u003cp\u003e 下面的標記代碼顯示例如CDATA的。在這裏,寫在CDATA節內的每一個字符由解析器忽略.\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;script\u0026gt;\\r\\n\u0026lt;![CDATA[\\r\\n \u0026lt;message\u0026gt; Welcome to YiiBai \u0026lt;/message\u0026gt;\\r\\n]] \u0026gt;\\r\\n\u0026lt;/script \u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 在上面的語法中,\u0026lt;信息\u0026gt;和之間的所有內容將被視爲字符數據,而不是作爲標記.\u003c/p\u003e \\n\u003ch2\u003e CDATA規則\u003c/h2\u003e \\n\u003cp\u003e 這種規則需要遵循爲XMLCDATA:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e CDATA不能包含字符串「]]\u0026gt;」的XML文檔中的任何地方.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 嵌套不允許在CDATA節.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":537,\"order\":11,\"_id\":\"59fd92341e18b40005abaae8\",\"key\":\"xml-cdata-sections\",\"url\":\"xml-cdata-sections\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML CDATA節點\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.944Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.182Z\"}},{\"order\":12,\"_id\":\"5fcf8cf0d5dd8e00183d7fe4\",\"post\":{\"meta\":{\"description\":\"本章討論的空白處理XML文檔。空白是空格,製表符和換行符的集合。它通常被用來使一個文件的可讀性. XML文檔包含兩種類型的空白(a)顯著空白(b)和無關緊要的空白. 兩者都以實例說明如\",\"keywords\":\"XML空白,XML,空白\"},\"content\":{\"extended\":\"$18\"},\"state\":\"published\",\"views\":725,\"order\":12,\"_id\":\"59fd92351e18b40005abaae9\",\"key\":\"xml-white-spaces\",\"url\":\"xml-white-spaces\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML空白\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:01.250Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.175Z\"}},{\"order\":13,\"_id\":\"5fcf8cf0d5dd8e00183d7fe5\",\"post\":{\"meta\":{\"description\":\"本章介紹了處理指(PIs).至於由 XML1.0推薦標準定義 , 處理指令(PI)允許文件包含用於應用程序。蛋白酶抑制劑不是文檔的字符數據的一部分,但必須通過嚮應用程序傳遞. 處理指令(P\",\"keywords\":\"XML處理,XML,處理\"},\"content\":{\"extended\":\"$19\"},\"state\":\"published\",\"views\":646,\"order\":13,\"_id\":\"59fd92351e18b40005abaaea\",\"key\":\"xml-processing\",\"url\":\"xml-processing\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML處理\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:01.561Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.168Z\"}},{\"order\":14,\"_id\":\"5fcf8cf0d5dd8e00183d7fe6\",\"post\":{\"meta\":{\"description\":\"編碼是Unicode字符轉換爲等效的二進制表示的過程。當XML處理器讀取XML文檔,它編碼依賴於編碼的類型的文件。因此,我們需要指定XML聲明的編碼類型. 編碼類型 主要有兩種類型的編碼\",\"keywords\":\"XML編碼,XML,編碼\"},\"content\":{\"extended\":\"\u003cp\u003e 編碼\u0026nbsp;是Unicode字符轉換爲等效的二進制表示的過程。當XML處理器讀取XML文檔,它編碼依賴於編碼的類型的文件。因此,我們需要指定XML聲明的編碼類型.\u003c/p\u003e \\n\u003ch2\u003e 編碼類型\u003c/h2\u003e \\n\u003cp\u003e 主要有兩種類型的編碼:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e UTF-8\u003c/li\u003e \\n \u003cli\u003e UTF-16\u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cp\u003e UTF代表UCS轉換格式,但UCS的意義是通用字符集。編號8或16中的指用來表示一個字符的比特數。它們或者是8(一個字節)或16(兩個字節)。對於沒有編碼信息的文件,UTF-8的默認設置.\u003c/p\u003e \\n\u003ch2\u003e 句法\u003c/h2\u003e \\n\u003cp\u003e 編碼類型被包括在XML文檔的序言部分。句法爲UTF-8編碼方式如下圖所示:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e UTF-16 編碼的句法\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-16\\\" standalone=\\\"no\\\" ?\u0026gt;\\r\u003c/pre\u003e \\n\u003ch2\u003e 例子\u003c/h2\u003e \\n\u003cp\u003e 下面的例子顯示的聲明編碼:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u0026gt;\\r\\n\u0026lt;contact-info\u0026gt;\\r\\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\\r\\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\\r\\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\\r\\n\u0026lt;/contact-info\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 在上面的例子中的編碼=「UTF-8」,則指定的8位被用於表示字符。來表示的16位字符,UTF-16編碼可使用.\u003c/p\u003e \\n\u003cp\u003e UTF-8編碼的XML文件比UTF-16格式的文件更小.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":522,\"order\":14,\"_id\":\"59fd92351e18b40005abaaeb\",\"key\":\"xml-encoding\",\"url\":\"xml-encoding\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML編碼\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:01.864Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.160Z\"}},{\"order\":15,\"_id\":\"5fcf8cf0d5dd8e00183d7fe7\",\"post\":{\"meta\":{\"description\":\"驗證 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方\",\"keywords\":\"XML驗證,XML,驗證\"},\"content\":{\"extended\":\"$1a\"},\"state\":\"published\",\"views\":563,\"order\":15,\"_id\":\"59fd92361e18b40005abaaec\",\"key\":\"xml-validation\",\"url\":\"xml-validation\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML驗證\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:02.168Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.153Z\"}},{\"order\":16,\"_id\":\"5fcf8cf0d5dd8e00183d7fe8\",\"post\":{\"meta\":{\"description\":\"XML文檔類型聲明,俗稱DTD,是一種方式來描述XML語言準確。檢查的DTD對詞彙的適當的XML語言的語法規則的XML文檔的結構和有效性. 一個XML的DTD既可以在文檔中指定的,或者它可以被保存\",\"keywords\":\"XML,文檔,類型,聲明\"},\"content\":{\"extended\":\"$1b\"},\"state\":\"published\",\"views\":671,\"order\":16,\"_id\":\"59fd92361e18b40005abaaed\",\"key\":\"xml-dtds\",\"url\":\"xml-dtds\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML文檔類型聲明\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:02.473Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.141Z\"}},{\"order\":17,\"_id\":\"5fcf8cf0d5dd8e00183d7fe9\",\"post\":{\"meta\":{\"description\":\"XML模式被稱爲XML架構定義(XSD)。它是用來描述和驗證的結構和XML數據的內容。 XML模式定義的元素,屬性和數據類型。Schema元素的命名空間支持。它類似於描述了數據庫中的數據的數據\",\"keywords\":\"XML模式,XML,模式\"},\"content\":{\"extended\":\"$1c\"},\"state\":\"published\",\"views\":522,\"order\":17,\"_id\":\"59fd92361e18b40005abaaee\",\"key\":\"xml-schemas\",\"url\":\"xml-schemas\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML模式\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:02.777Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.126Z\"}},{\"order\":18,\"_id\":\"5fcf8cf0d5dd8e00183d7fea\",\"post\":{\"meta\":{\"description\":\"一個XML文檔始終是描述性的。樹狀結構是通常被稱爲XML樹和起着很容易地描述任何XML文檔中起重要作用。 樹狀結構包含根(父)要素,子要素等。通過採用樹狀結構,你可以知道所有後\",\"keywords\":\"XML,樹結構,XML樹結構\"},\"content\":{\"extended\":\"$1d\"},\"state\":\"published\",\"views\":599,\"order\":18,\"_id\":\"59fd92371e18b40005abaaef\",\"key\":\"xml-tree-structure\",\"url\":\"xml-tree-structure\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML樹結構\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:03.344Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.118Z\"}},{\"order\":19,\"_id\":\"5fcf8cf0d5dd8e00183d7feb\",\"post\":{\"meta\":{\"description\":\"文檔對象模型(DOM)是XML的基礎。 XML文檔具有信息單位稱爲節點的層次結構;DOM是描述這些節點和它們之間的關係的一種方式。. 一個DOM文檔是一組層次組織的節點或信息塊。這個層次結\",\"keywords\":\"XML文檔,對象模型\"},\"content\":{\"extended\":\"$1e\"},\"state\":\"published\",\"views\":516,\"order\":19,\"_id\":\"59fd92371e18b40005abaaf0\",\"key\":\"xml-dom\",\"url\":\"xml-dom\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML文檔對象模型\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:03.609Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.111Z\"}},{\"order\":20,\"_id\":\"5fcf8cf0d5dd8e00183d7fec\",\"post\":{\"meta\":{\"description\":\"命名空間是一組唯一的名稱。命名空間是一種機制通過該元素和屬性的名字可以被分配到組。該命名空間是確定的URI(統一資源標識符). 命名空間聲明 命名空間聲明是使用保留的屬性\",\"keywords\":\"XML命名空間,XML,命名空間\"},\"content\":{\"extended\":\"\u003cp\u003e 命名空間是一組唯一的名稱。命名空間是一種機制通過該元素和屬性的名字可以被分配到組。該命名空間是確定的URI(統一資源標識符).\u003c/p\u003e \\n\u003ch2\u003e 命名空間聲明\u003c/h2\u003e \\n\u003cp\u003e 命名空間聲明是使用保留的屬性。這樣的屬性名稱必須是XMLNS或開始的xmlns:如下圖所示:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;element xmlns:name=\\\"URL\\\"\u0026gt;\\r\u003c/pre\u003e \\n\u003ch2\u003e 語法\u003c/h2\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e 命名空間以關鍵字的xmlns。.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 這個詞的名字是命名空間前綴.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e T網址是命名空間標識符.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003ch2\u003e 示例\u003c/h2\u003e \\n\u003cp\u003e 命名空間影響的文件只有有限的一部分。包含的聲明和它的所有後代元素都在命名空間的範圍。以下是XML命名空間的一個簡單例子:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u0026gt;\\r\\n\u0026lt;cont:contact xmlns:cont=\\\"www.yiibai.com/profile\\\"\u0026gt;\\r\\n \u0026lt;cont:name\u0026gt;Tanmay Patil\u0026lt;/cont:name\u0026gt;\\r\\n \u0026lt;cont:company\u0026gt;YiiBai\u0026lt;/cont:company\u0026gt;\\r\\n \u0026lt;cont:phone\u0026gt;(011) 123-4567\u0026lt;/cont:phone\u0026gt;\\r\\n\u0026lt;/cont:contact\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 在這裏命名空間前綴爲續,而命名空間標識符(URI)的www.yiibai.com/profile。這意味着,該元素的名稱和與該接觸器的前綴(包括接觸元件)屬性名,都屬於www.yiibai.com/profile命名空間.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":501,\"order\":20,\"_id\":\"59fd92371e18b40005abaaf1\",\"key\":\"xml-namespaces\",\"url\":\"xml-namespaces\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML命名空間\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:03.913Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.096Z\"}},{\"order\":21,\"_id\":\"5fcf8cf0d5dd8e00183d7fed\",\"post\":{\"meta\":{\"description\":\"XML數據庫用存儲大量的信息以XML格式。作爲XML的使用正在增加在各個領域中,需要具有在安全的地方來存儲XML文檔。存儲在數據庫中的數據可以使用XQuery,序列進行查詢,並輸出到所需\",\"keywords\":\"XML數據庫,XML,數據庫\"},\"content\":{\"extended\":\"$1f\"},\"state\":\"published\",\"views\":574,\"order\":21,\"_id\":\"59fd92381e18b40005abaaf2\",\"key\":\"xml-databases\",\"url\":\"xml-databases\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML數據庫\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:04.217Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.090Z\"}},{\"order\":22,\"_id\":\"5fcf8cf0d5dd8e00183d7fee\",\"post\":{\"meta\":{\"description\":\"XML編輯器是一種標記語言編輯器。 XML文檔可以被編輯或使用現有的編輯器如記事本,寫字板或任何類似的文本編輯器創建。你也可以找專業的XML編輯器的在線或下載,其中有更強大的編\",\"keywords\":\"XML編輯器,XML,編輯器\"},\"content\":{\"extended\":\"\u003cp\u003e XML編輯器是一種標記語言編輯器。 XML文檔可以被編輯或使用現有的編輯器如記事本,寫字板或任何類似的文本編輯器創建。你也可以找專業的XML編輯器的在線或下載,其中有更強大的編輯功能,如:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e 它會自動關閉那些敞開的標籤.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它嚴格檢查句法.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它突出的色彩,增加可讀性XML句法.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它可以幫助你編寫有效的XML代碼.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它提供了XML文檔對DTD和模式自動驗證.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003ch2\u003e 開放源代碼的XML編輯器\u003c/h2\u003e \\n\u003cp\u003e 有如下一些開源的XML編輯器:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e \u003ca href=\\\"http://www.xerlin.org/\\\"\u003eXerlin\u003c/a\u003e\u0026nbsp;: Xerlin是一個開源的XML編輯器的Java 2平臺下Apache許可證發佈。它是一個基於Java的XML的建模應用程序,可方便地創建和編輯XML文件。.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e \u003ca href=\\\"http://sourceforge.net/projects/camprocessor/\\\"\u003eCAM - 內容組裝機制\u003c/a\u003e\u0026nbsp;: CAM的XML編輯器工具使用XML+ JSON+ SQL開XDX主辦甲骨文.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":639,\"order\":22,\"_id\":\"59fd92381e18b40005abaaf3\",\"key\":\"xml-editors\",\"url\":\"xml-editors\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML編輯器\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:04.521Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.083Z\"}},{\"order\":23,\"_id\":\"5fcf8cf0d5dd8e00183d7fef\",\"post\":{\"meta\":{\"description\":\"XML解析器是一個軟件庫把它提供的接口爲客戶端應用程序使用XML文檔。它檢查XML文檔的適當的格式,並且還可以驗證XML文檔。現代瀏覽器都內置的XML解析器. 下圖顯示了XML解析器處理X\",\"keywords\":\"XML解析器,XML,解析器\"},\"content\":{\"extended\":\"\u003cp\u003e XML解析器是一個軟件庫把它提供的接口爲客戶端應用程序使用XML文檔。它檢查XML文檔的適當的格式,並且還可以驗證XML文檔。現代瀏覽器都內置的XML解析器.\u003c/p\u003e \\n\u003cp\u003e 下圖顯示了XML解析器處理XML文檔的交互方式:\u003c/p\u003e \\n\u003cimg alt=\\\"XML解析器\\\" src=\\\"https://asset.1ju.org/cmsstatic/xml-5.png\\\"\u003e \\n\u003cp\u003e 解析器的目標是將XML轉換成可讀的代碼.\u003c/p\u003e \\n\u003cp\u003e 爲了緩解解析的過程中,一些商業產品提供了便利的XML文檔的擊穿和產生更可靠的結果.\u003c/p\u003e \\n\u003cp\u003e S青梅常用解析器下面列出:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e MSXML (Microsoft XML核心服務) :\u0026nbsp;這是一組標準的XML工具從Microsoft包括一個解析器.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e System.Xml.XmlDocument :\u0026nbsp;這個類是dot.NET庫,其中包含了許多有關使用XML的不同類別的一部分.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 解析器建在Java :\u0026nbsp;Java庫都有自己的解析器。該庫設計成可以更換內置分析器與外部實現如Apache或撒克遜的Xerces.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e Saxon :\u0026nbsp;Saxon 提供工具,解析,轉換和查詢XML.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e Xerces :\u0026nbsp;用Java實現的Xerces,它是由著名的開放源碼的Apache軟件基金會開發.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":492,\"order\":23,\"_id\":\"59fd92381e18b40005abaaf4\",\"key\":\"xml-parsers\",\"url\":\"xml-parsers\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML解析器\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:04.950Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.056Z\"}},{\"order\":24,\"_id\":\"5fcf8cf0d5dd8e00183d7ff0\",\"post\":{\"meta\":{\"description\":\"當一個軟件程序讀取XML文檔並相應地採取行動,這就是所謂的XML處理。可以讀取和處理XML文檔的任何程序被稱爲XML處理器。XML處理器讀取XML文件,並把它變成內存結構的程序的其餘部分\",\"keywords\":\"XML處理器,XML,處理器\"},\"content\":{\"extended\":\"\u003cp\u003e 當一個軟件程序讀取XML文檔並相應地採取行動,這就是所謂的XML處理。可以讀取和處理XML文檔的任何程序被稱爲XML處理器。XML處理器讀取XML文件,並把它變成內存結構的程序的其餘部分可以訪問.\u003c/p\u003e \\n\u003cp\u003e 最根本的XML處理器讀取XML文檔並把它轉換成用於其它程序或子程序使用的內部表示。這就是所謂的語法分析程序,它是每一個XML處理程序的一個重要組成部分.\u003c/p\u003e \\n\u003cp\u003e 處理器包括處理該所用的章節處理\u0026nbsp;指令進行研究的說明.\u003c/p\u003e \\n\u003ch2\u003e 類型\u003c/h2\u003e \\n\u003cp\u003e XML處理器被劃分爲驗證或無驗證類型,這取決於他們是否檢查XML文檔的有效性。在發現一個有效性的錯誤處理器必須能夠彙報,但可繼續進行正常的處理.\u003c/p\u003e \\n\u003cp\u003e 一些驗證解析器 :\u0026nbsp;xml4c (IBM, in C++), xml4j (IBM, in Java), MSXML (Microsoft, in Java), TclXML (TCL), xmlproc (Python), XML::Parser (Perl), Java Project X (Sun, in Java).\u003c/p\u003e \\n\u003cp\u003e 一些非驗證解析器 :\u0026nbsp;OpenXML (Java), Lark (Java), xp (Java), AElfred (Java), expat (C), XParse (JavaScript), xmllib (Python).\u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u0026nbsp;\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":501,\"order\":24,\"_id\":\"59fd92391e18b40005abaaf5\",\"key\":\"xml-processors\",\"url\":\"xml-processors\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML處理器\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:05.217Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.049Z\"}}]}]},\"post\":{\"meta\":{\"description\":\"驗證 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方\",\"keywords\":\"XML驗證,XML,驗證\"},\"content\":{\"extended\":\"$20\",\"markdown\":\"$21\",\"html\":\"$22\"},\"state\":\"published\",\"views\":563,\"order\":15,\"_id\":\"59fd92361e18b40005abaaec\",\"key\":\"xml-validation\",\"url\":\"xml-validation\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML驗證\",\"author\":{\"isPublic\":true,\"isOrganiser\":false,\"isAdmin\":true,\"isVerified\":false,\"isOpen\":false,\"_id\":\"59fa8cb8a31fb7001009c4bb\",\"email\":\"inkebook@outlook.com\",\"password\":\"$$2a$10$94Vw.V1wl1cC4R5SnV54ZOrUfeS0F42MdiV4fkJtjonMaKVuaxBe.\",\"isProtected\":false,\"__v\":0,\"photo\":{\"exists\":false,\"folder\":null},\"url\":\"/member/undefined\",\"_\":{\"name\":{},\"email\":{},\"password\":{},\"resetPasswordKey\":{},\"isPublic\":{},\"isOrganiser\":{},\"photo\":{},\"github\":{},\"twitter\":{},\"website\":{},\"bio\":{},\"gravatar\":{},\"isAdmin\":{},\"isVerified\":{},\"isOpen\":{},\"createdAt\":{},\"createdBy\":{},\"updatedAt\":{},\"updatedBy\":{}},\"id\":\"59fa8cb8a31fb7001009c4bb\"},\"publishedDate\":\"2017-11-04T10:11:02.168Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.153Z\",\"updatedAtPretty\":\"2020年10月13日\",\"_\":{\"title\":{},\"state\":{},\"author\":{},\"publishedDate\":{},\"meta\":{\"keywords\":{},\"description\":{}},\"content\":{\"markdown\":{}},\"categories\":{},\"views\":{},\"ratingCount\":{},\"ratingAvg\":{},\"section\":{},\"tutorial\":{},\"url\":{},\"order\":{},\"createdAt\":{},\"createdBy\":{},\"updatedAt\":{},\"updatedBy\":{}},\"id\":\"59fd92361e18b40005abaaec\"}}],[\"$\",\"div\",null,{\"className\":\"col-12 col-sm-8\",\"children\":[[\"$\",\"$L23\",null,{}],[\"$\",\"div\",null,{\"className\":\"book card\",\"children\":[[\"$\",\"div\",null,{\"className\":\"card-header\",\"children\":[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"data-prefix\":\"fas\",\"data-icon\":\"arrow-left\",\"className\":\"svg-inline--fa fa-arrow-left \",\"role\":\"img\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\",\"style\":{},\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\",\"style\":{}}]}],[\"$\",\"$Lf\",null,{\"href\":\"/xml/xml-encoding\",\"children\":\"XML編碼\"}]]}],[\"$\",\"div\",null,{\"className\":\"col text-md-end\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/xml/xml-dtds\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"data-prefix\":\"fas\",\"data-icon\":\"arrow-right\",\"className\":\"svg-inline--fa fa-arrow-right \",\"role\":\"img\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\",\"style\":{},\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\",\"style\":{}}]}],\"XML文檔類型聲明\"]}]}]]}]}],[\"$\",\"div\",null,{\"className\":\"card-body p-lg-30\",\"children\":[[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[\"$\",\"div\",null,{\"className\":\"col-12 col-lg-9 col-sm-8\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"h2 title\",\"children\":\"XML驗證\"}],[\"$\",\"div\",null,{\"className\":\"blog-post__byline mb-3\",\"children\":[\"$\",\"div\",null,{\"className\":\"d-sm-inline-block\",\"children\":[[\"$\",\"span\",null,{\"className\":\"split-dot\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary\",\"children\":[\"瀏覽人數:\",[\"$\",\"span\",null,{\"children\":\"563\"}]]}],[\"$\",\"span\",null,{\"className\":\"split-dot\"}],[\"$\",\"span\",null,{\"className\":\"text-secondary\",\"children\":\"最近更新:\"}],[\"$\",\"time\",null,{\"className\":\"text-secondary\",\"dateTime\":\"2020-10-13T08:27:19.153Z\",\"children\":[\"最近更新:\",\"2020年10月13日\"]}]]}]}],\"$undefined\"]}]}],[\"$\",\"article\",null,{\"className\":\"full-post fmt\",\"children\":[[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[\"$\",\"div\",null,{\"className\":\"col\",\"children\":[\"$\",\"$L24\",null,{\"content\":\"$25\"}]}]}],[\"$\",\"div\",null,{\"className\":\"functional-area-bottom\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-center\",\"children\":[\"$\",\"$L26\",null,{\"post\":{\"meta\":{\"description\":\"驗證 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方\",\"keywords\":\"XML驗證,XML,驗證\"},\"content\":{\"extended\":\"$27\",\"markdown\":\"$28\",\"html\":\"$29\"},\"state\":\"published\",\"views\":563,\"order\":15,\"_id\":\"59fd92361e18b40005abaaec\",\"key\":\"xml-validation\",\"url\":\"xml-validation\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML驗證\",\"author\":{\"isPublic\":true,\"isOrganiser\":false,\"isAdmin\":true,\"isVerified\":false,\"isOpen\":false,\"_id\":\"59fa8cb8a31fb7001009c4bb\",\"email\":\"inkebook@outlook.com\",\"password\":\"$$2a$10$94Vw.V1wl1cC4R5SnV54ZOrUfeS0F42MdiV4fkJtjonMaKVuaxBe.\",\"isProtected\":false,\"__v\":0,\"photo\":{\"exists\":false,\"folder\":null},\"url\":\"/member/undefined\",\"_\":{\"name\":{},\"email\":{},\"password\":{},\"resetPasswordKey\":{},\"isPublic\":{},\"isOrganiser\":{},\"photo\":{},\"github\":{},\"twitter\":{},\"website\":{},\"bio\":{},\"gravatar\":{},\"isAdmin\":{},\"isVerified\":{},\"isOpen\":{},\"createdAt\":{},\"createdBy\":{},\"updatedAt\":{},\"updatedBy\":{}},\"id\":\"59fa8cb8a31fb7001009c4bb\"},\"publishedDate\":\"2017-11-04T10:11:02.168Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.153Z\",\"updatedAtPretty\":\"2020年10月13日\",\"_\":{\"title\":{},\"state\":{},\"author\":{},\"publishedDate\":{},\"meta\":{\"keywords\":{},\"description\":{}},\"content\":{\"markdown\":{}},\"categories\":{},\"views\":{},\"ratingCount\":{},\"ratingAvg\":{},\"section\":{},\"tutorial\":{},\"url\":{},\"order\":{},\"createdAt\":{},\"createdBy\":{},\"updatedAt\":{},\"updatedBy\":{}},\"id\":\"59fd92361e18b40005abaaec\"},\"tutorial\":{\"state\":\"published\",\"_id\":\"59fd92311e18b40005abaadc\",\"key\":\"xml\",\"indexUrl\":\"index\",\"parent\":\"59fd91bd1e18b40005abaaa3\",\"description\":\"XML是可擴展標記語言。這是基於文本的標記語言衍生從標準通用標記語言(SGML)。本教程教你XML的基礎知識。本教程分爲幾個部分,如XML基礎知識,先進的XML和XML工具。每個章節都包含相關主題簡單而有用的例子。\",\"url\":\"xml\",\"name\":\"XML教學\",\"__v\":0,\"sections\":[{\"order\":0,\"_id\":\"59fd92311e18b40005abaadd\",\"isDefault\":false,\"name\":\"XML教程\",\"sortedPosts\":[{\"order\":0,\"_id\":\"5fcf8cf0d5dd8e00183d7fd9\",\"post\":{\"meta\":{\"description\":\"XML是可擴展標記語言。這是基於文本的標記語言衍生從標準通用標記語言(SGML)。本教程教你XML的基礎知識。本教程分爲幾個部分,如XML基礎知識,先進的XML和XML工具。每個章節都包含相關主題簡單而有用的例子。\",\"keywords\":\"XML教程\"},\"content\":{\"extended\":\"\u003ch1\u003e XML - 教程\u003c/h1\u003e \\n\u003cdiv\u003e \\n \u003cp\u003e XML是可擴展標記語言。這是基於文本的標記語言衍生從標準通用標記語言(SGML).\u003c/p\u003e \\n \u003cp\u003e 本教程教你XML的基礎知識。本教程分爲幾個部分,如XML基礎知識,先進的XML和XML工具。每個章節都包含相關主題簡單而有用的例子.\u003c/p\u003e \\n\u003c/div\u003e \\n\u003ch1\u003e 讀者\u003c/h1\u003e \\n\u003cp\u003e 該參考準備爲初學者幫助他們瞭解基本XML到先進理念。本教程將讓你有足夠的XML知識,以後你可以把自己的專業知識提出了更高的水平.\u003c/p\u003e \\n\u003ch1\u003e 先決條件\u003c/h1\u003e \\n\u003cp\u003e 繼續學習本教程之前你應該有HTML和JavaScript的基礎知識.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":1123,\"order\":0,\"_id\":\"59fd92311e18b40005abaade\",\"key\":\"index-57\",\"url\":\"index\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML教學\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:57.672Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.291Z\"}},{\"order\":2,\"_id\":\"5fcf8cf0d5dd8e00183d7fda\",\"post\":{\"meta\":{\"description\":\"XML指可擴展標記語言。它是從標準通用標記語言派生的基於文本的標記語言(SGML). XML標籤標識數據和用於存儲和組織數據,而不是指定了如何顯示它象HTML標籤,其用於顯示數據。 X\",\"keywords\":\"XML,概述\"},\"content\":{\"extended\":\"$2a\"},\"state\":\"published\",\"views\":569,\"order\":2,\"_id\":\"59fd92321e18b40005abaadf\",\"key\":\"xml-overview\",\"url\":\"xml-overview\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML概述\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:58.013Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.285Z\"}},{\"order\":3,\"_id\":\"5fcf8cf0d5dd8e00183d7fdb\",\"post\":{\"meta\":{\"description\":\"本章將帶您通過簡單的語法規則來編寫一個XML文檔。以下是一個完整的XML文檔: ?xml version=1.0?contact-infonameTanmay Patil/namecompanyTutorialsPoint/companyphone(011) 123-4567/phone/contact-info 你可以注意在上\",\"keywords\":\"XML,語法\"},\"content\":{\"extended\":\"$2b\"},\"state\":\"published\",\"views\":891,\"order\":3,\"_id\":\"59fd92321e18b40005abaae0\",\"key\":\"xml-syntax\",\"url\":\"xml-syntax\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML語法\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:58.478Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.275Z\"}},{\"order\":4,\"_id\":\"5fcf8cf0d5dd8e00183d7fdc\",\"post\":{\"meta\":{\"description\":\"XML文檔是由元素,XML格式的信息和其他標記的基本單元。XML文檔包含各種各樣的數據。例如,數字,數字表示分子結構或數學公式的數據庫. XML文檔的例子 一個簡單的文件中給出了下面\",\"keywords\":\"XML,文件\"},\"content\":{\"extended\":\"\u003cp\u003e XML文檔是由元素,XML格式的信息和其他標記的基本單元。XML文檔包含各種各樣的數據。例如,數字,數字表示分子結構或數學公式的數據庫.\u003c/p\u003e \\n\u003ch2\u003e XML文檔的例子\u003c/h2\u003e \\n\u003cp\u003e 一個簡單的文件中給出了下面的例子:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\"?\u0026gt;\\r\\n\u0026lt;contact-info\u0026gt;\\r\\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\\r\\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\\r\\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\\r\\n\u0026lt;/contact-info\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 下圖描述了XML文檔的部分.\u003c/p\u003e \\n\u003cimg alt=\\\"XML 文件\\\" src=\\\"https://asset.1ju.org/cmsstatic/xml-1.jpg\\\"\u003e \\n\u003ch2\u003e 文檔前導部分\u003c/h2\u003e \\n\u003cp\u003e 該文件序言談到在文檔的頂部,並在根元素之前。本節包含::\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e XML聲明\u003c/li\u003e \\n \u003cli\u003e 文檔類型聲明\u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cp\u003e 在這裏您可以瞭解更多關於XML聲明 :\u0026nbsp;XML 聲明.\u003c/p\u003e \\n\u003ch2\u003e 文檔元素科\u003c/h2\u003e \\n\u003cp\u003e 文檔元素是XML的積木。這些將文稿分成部分的層次結構,每服一特定的目的。可以單獨文檔分成多個部分並把它可不同的使用或者可被搜索引擎使用。\u0026nbsp;該元件可以是文本和其它元素的組合。.\u003c/p\u003e \\n\u003cp\u003e 在這裏您可以瞭解更多關於XML元素 :\u0026nbsp;XML 元素.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":534,\"order\":4,\"_id\":\"59fd92321e18b40005abaae1\",\"key\":\"xml-documents\",\"url\":\"xml-documents\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML文件\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:58.855Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.238Z\"}},{\"order\":5,\"_id\":\"5fcf8cf0d5dd8e00183d7fdd\",\"post\":{\"meta\":{\"description\":\"本章介紹了XML聲明的細節。 XML聲明包含了準備XML處理器解析XML文檔的詳細信息。它是可選的,但在使用時,它必須出現在XML文檔中的第一行. 句法 下面的句法是XML聲明: ? xml version = ve\",\"keywords\":\"XML,聲明\"},\"content\":{\"extended\":\"$2c\"},\"state\":\"published\",\"views\":506,\"order\":5,\"_id\":\"59fd92331e18b40005abaae2\",\"key\":\"xml-declaration\",\"url\":\"xml-declaration\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML聲明\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:59.121Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.231Z\"}},{\"order\":6,\"_id\":\"5fcf8cf0d5dd8e00183d7fde\",\"post\":{\"meta\":{\"description\":\"讓我們瞭解 XML最重要的部分,XML標籤。 XML標籤組成的XML的基礎。它定義了在XML中的元素的範圍。它也可以被用來插入註釋,聲明需要解析的環境設置和插入特殊指令。 我們可以大致歸\",\"keywords\":\"XML,標籤\"},\"content\":{\"extended\":\"$2d\"},\"state\":\"published\",\"views\":798,\"order\":6,\"_id\":\"59fd92331e18b40005abaae3\",\"key\":\"xml-tags\",\"url\":\"xml-tags\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML標籤\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:59.425Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.221Z\"}},{\"order\":7,\"_id\":\"5fcf8cf0d5dd8e00183d7fdf\",\"post\":{\"meta\":{\"description\":\"XML元素可以被定義爲XML的積木。元素可以表現爲容器,以容納文本,元素,屬性,媒體對象或所有的這些. 每個XML文檔包含一個或多個元素,其範圍是任一分隔的由開始和結束標記,或\",\"keywords\":\"XML,元素\"},\"content\":{\"extended\":\"$2e\"},\"state\":\"published\",\"views\":608,\"order\":7,\"_id\":\"59fd92331e18b40005abaae4\",\"key\":\"xml-elements\",\"url\":\"xml-elements\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML元素\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:10:59.729Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.214Z\"}},{\"order\":8,\"_id\":\"5fcf8cf0d5dd8e00183d7fe0\",\"post\":{\"meta\":{\"description\":\"本章介紹有關XML屬性。屬性是XML元素的一部分。一個元素可以有多個獨特的屬性。屬性提供了有關XML元素的詳細信息XML屬性始終是一個名稱值對. 語法 XML屬性有以下語法: element-name att\",\"keywords\":\"XML,屬性,XML屬性\"},\"content\":{\"extended\":\"$2f\"},\"state\":\"published\",\"views\":516,\"order\":8,\"_id\":\"59fd92341e18b40005abaae5\",\"key\":\"xml-attributes\",\"url\":\"xml-attributes\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML屬性\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.032Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.207Z\"}},{\"order\":9,\"_id\":\"5fcf8cf0d5dd8e00183d7fe1\",\"post\":{\"meta\":{\"description\":\"本章介紹瞭如何XML註釋在XML文檔工作。 XML註釋類似於HTML註釋。這些評論添加爲註釋或行理解的XML代碼的目的. 註釋可以用於包括相關的鏈接信息和術語。它們是可見的,只有在源代碼\",\"keywords\":\"XML註釋,XML,註釋\"},\"content\":{\"extended\":\"\u003cp\u003e 本章介紹瞭如何XML註釋在XML文檔工作。 XML註釋類似於HTML註釋。這些評論添加爲註釋或行理解的XML代碼的目的.\u003c/p\u003e \\n\u003cp\u003e 註釋可以用於包括相關的鏈接信息和術語。它們是可見的,只有在源代碼;未在XML代碼。註釋可以出現在XML代碼的任何地方.\u003c/p\u003e \\n\u003ch2\u003e 句法\u003c/h2\u003e \\n\u003cp\u003e XML註釋有以下句法:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n \u0026lt;!-------Your comment-----\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 註釋以\u0026lt;! - 和結尾 - \u0026gt;。您可以添加文字說明作爲字符之間意見。不能嵌套內另一個註釋.\u003c/p\u003e \\n\u003ch3\u003e 示例\u003c/h3\u003e \\n\u003cp\u003e 下面的示例演示如何使用的XML文檔註釋:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" ?\u0026gt;\\r\\n\u0026lt;!---Students grades are uploaded by months----\u0026gt;\\r\\n\u0026lt;class_list\u0026gt;\\r\\n \u0026lt;student\u0026gt;\\r\\n \u0026lt;name\u0026gt;Tanmay\u0026lt;/name\u0026gt;\\r\\n \u0026lt;grade\u0026gt;A\u0026lt;/grade\u0026gt;\\r\\n \u0026lt;/student\u0026gt;\\r\\n\u0026lt;/class_list\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e \u0026lt;! - \u0026nbsp;和 \u0026nbsp;- \u0026gt;之間的任何文本字符被視爲註釋.\u003c/p\u003e \\n\u003ch2\u003e XML註釋規則\u003c/h2\u003e \\n\u003cp\u003e 需要以下規則應遵循的XML註釋:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e 註釋可以XML聲明之前不會出現。\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 註釋可以出現在文檔中的任意位置.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 註釋不能在屬性值將出現.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 在另一個註釋註釋不能嵌套.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":563,\"order\":9,\"_id\":\"59fd92341e18b40005abaae6\",\"key\":\"xml-comments\",\"url\":\"xml-comments\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML註釋\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.333Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.198Z\"}},{\"order\":10,\"_id\":\"5fcf8cf0d5dd8e00183d7fe2\",\"post\":{\"meta\":{\"description\":\"本章介紹了有關XML字符實體. 我們瞭解到字符實體之前,讓我們先了解什麼是XML實體. 如上述 W3 Consortium 實體的定義如下: 文檔實體工作爲實體的根本和XML處理器的出發點. 實體在XML中的\",\"keywords\":\"XML,字符,實體\"},\"content\":{\"extended\":\"$30\"},\"state\":\"published\",\"views\":494,\"order\":10,\"_id\":\"59fd92341e18b40005abaae7\",\"key\":\"xml-character-entities\",\"url\":\"xml-character-entities\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML字符實體\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.643Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.191Z\"}},{\"order\":11,\"_id\":\"5fcf8cf0d5dd8e00183d7fe3\",\"post\":{\"meta\":{\"description\":\"本章將討論有關XML CDATA節。術語CDATA指字符數據。CDATA定義爲文本塊,但識別爲標記. 預定義實體的同位素;,密度,並且與放大器;需要打字並且通常難以閱讀的標記。在這種情況下,C\",\"keywords\":\"XML,CDATA,節點\"},\"content\":{\"extended\":\"\u003cp\u003e 本章將討論有關XML CDATA節。術語CDATA指字符數據。CDATA定義爲文本塊,但識別爲標記.\u003c/p\u003e \\n\u003cp\u003e 預定義實體的同位素;,密度,並且與放大器;需要打字並且通常難以閱讀的標記。在這種情況下,CDATA部分都可以使用。通過使用CDATA節,你是指揮,該文件的具體內容沒有標記,並應被視爲普通的文本解析器.\u003c/p\u003e \\n\u003ch2\u003e 句法\u003c/h2\u003e \\n\u003cp\u003e 以下是句法的CDATA節:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;![CDATA[\\r\\n characters with markup\\r\\n]]\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 上述的語法是由三個部分組成:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e CDATA節啓動 -\u0026nbsp;CDATA開始於9個字符分隔符\u0026nbsp;\u0026lt;![CDATA[\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e CDATA節結束 -\u0026nbsp;CDATA節用\u0026nbsp;]]\u0026gt;\u0026nbsp;分隔符結束.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e CDATA節 -\u0026nbsp;這兩個機箱之間的字符被解釋爲字符,而不是作爲標記。這部分可以含有標記字符(\u0026lt;,\u0026gt;,和&),但它們是由XML處理器忽略.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003ch3\u003e 示例\u003c/h3\u003e \\n\u003cp\u003e 下面的標記代碼顯示例如CDATA的。在這裏,寫在CDATA節內的每一個字符由解析器忽略.\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;script\u0026gt;\\r\\n\u0026lt;![CDATA[\\r\\n \u0026lt;message\u0026gt; Welcome to YiiBai \u0026lt;/message\u0026gt;\\r\\n]] \u0026gt;\\r\\n\u0026lt;/script \u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 在上面的語法中,\u0026lt;信息\u0026gt;和之間的所有內容將被視爲字符數據,而不是作爲標記.\u003c/p\u003e \\n\u003ch2\u003e CDATA規則\u003c/h2\u003e \\n\u003cp\u003e 這種規則需要遵循爲XMLCDATA:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e CDATA不能包含字符串「]]\u0026gt;」的XML文檔中的任何地方.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 嵌套不允許在CDATA節.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":537,\"order\":11,\"_id\":\"59fd92341e18b40005abaae8\",\"key\":\"xml-cdata-sections\",\"url\":\"xml-cdata-sections\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML CDATA節點\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:00.944Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.182Z\"}},{\"order\":12,\"_id\":\"5fcf8cf0d5dd8e00183d7fe4\",\"post\":{\"meta\":{\"description\":\"本章討論的空白處理XML文檔。空白是空格,製表符和換行符的集合。它通常被用來使一個文件的可讀性. XML文檔包含兩種類型的空白(a)顯著空白(b)和無關緊要的空白. 兩者都以實例說明如\",\"keywords\":\"XML空白,XML,空白\"},\"content\":{\"extended\":\"$31\"},\"state\":\"published\",\"views\":725,\"order\":12,\"_id\":\"59fd92351e18b40005abaae9\",\"key\":\"xml-white-spaces\",\"url\":\"xml-white-spaces\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML空白\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:01.250Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.175Z\"}},{\"order\":13,\"_id\":\"5fcf8cf0d5dd8e00183d7fe5\",\"post\":{\"meta\":{\"description\":\"本章介紹了處理指(PIs).至於由 XML1.0推薦標準定義 , 處理指令(PI)允許文件包含用於應用程序。蛋白酶抑制劑不是文檔的字符數據的一部分,但必須通過嚮應用程序傳遞. 處理指令(P\",\"keywords\":\"XML處理,XML,處理\"},\"content\":{\"extended\":\"$32\"},\"state\":\"published\",\"views\":646,\"order\":13,\"_id\":\"59fd92351e18b40005abaaea\",\"key\":\"xml-processing\",\"url\":\"xml-processing\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML處理\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:01.561Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.168Z\"}},{\"order\":14,\"_id\":\"5fcf8cf0d5dd8e00183d7fe6\",\"post\":{\"meta\":{\"description\":\"編碼是Unicode字符轉換爲等效的二進制表示的過程。當XML處理器讀取XML文檔,它編碼依賴於編碼的類型的文件。因此,我們需要指定XML聲明的編碼類型. 編碼類型 主要有兩種類型的編碼\",\"keywords\":\"XML編碼,XML,編碼\"},\"content\":{\"extended\":\"\u003cp\u003e 編碼\u0026nbsp;是Unicode字符轉換爲等效的二進制表示的過程。當XML處理器讀取XML文檔,它編碼依賴於編碼的類型的文件。因此,我們需要指定XML聲明的編碼類型.\u003c/p\u003e \\n\u003ch2\u003e 編碼類型\u003c/h2\u003e \\n\u003cp\u003e 主要有兩種類型的編碼:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e UTF-8\u003c/li\u003e \\n \u003cli\u003e UTF-16\u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cp\u003e UTF代表UCS轉換格式,但UCS的意義是通用字符集。編號8或16中的指用來表示一個字符的比特數。它們或者是8(一個字節)或16(兩個字節)。對於沒有編碼信息的文件,UTF-8的默認設置.\u003c/p\u003e \\n\u003ch2\u003e 句法\u003c/h2\u003e \\n\u003cp\u003e 編碼類型被包括在XML文檔的序言部分。句法爲UTF-8編碼方式如下圖所示:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e UTF-16 編碼的句法\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-16\\\" standalone=\\\"no\\\" ?\u0026gt;\\r\u003c/pre\u003e \\n\u003ch2\u003e 例子\u003c/h2\u003e \\n\u003cp\u003e 下面的例子顯示的聲明編碼:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u0026gt;\\r\\n\u0026lt;contact-info\u0026gt;\\r\\n \u0026lt;name\u0026gt;Tanmay Patil\u0026lt;/name\u0026gt;\\r\\n \u0026lt;company\u0026gt;YiiBai\u0026lt;/company\u0026gt;\\r\\n \u0026lt;phone\u0026gt;(011) 123-4567\u0026lt;/phone\u0026gt;\\r\\n\u0026lt;/contact-info\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 在上面的例子中的編碼=「UTF-8」,則指定的8位被用於表示字符。來表示的16位字符,UTF-16編碼可使用.\u003c/p\u003e \\n\u003cp\u003e UTF-8編碼的XML文件比UTF-16格式的文件更小.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":522,\"order\":14,\"_id\":\"59fd92351e18b40005abaaeb\",\"key\":\"xml-encoding\",\"url\":\"xml-encoding\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML編碼\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:01.864Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.160Z\"}},{\"order\":15,\"_id\":\"5fcf8cf0d5dd8e00183d7fe7\",\"post\":{\"meta\":{\"description\":\"驗證 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方\",\"keywords\":\"XML驗證,XML,驗證\"},\"content\":{\"extended\":\"$33\"},\"state\":\"published\",\"views\":563,\"order\":15,\"_id\":\"59fd92361e18b40005abaaec\",\"key\":\"xml-validation\",\"url\":\"xml-validation\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML驗證\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:02.168Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.153Z\"}},{\"order\":16,\"_id\":\"5fcf8cf0d5dd8e00183d7fe8\",\"post\":{\"meta\":{\"description\":\"XML文檔類型聲明,俗稱DTD,是一種方式來描述XML語言準確。檢查的DTD對詞彙的適當的XML語言的語法規則的XML文檔的結構和有效性. 一個XML的DTD既可以在文檔中指定的,或者它可以被保存\",\"keywords\":\"XML,文檔,類型,聲明\"},\"content\":{\"extended\":\"$34\"},\"state\":\"published\",\"views\":671,\"order\":16,\"_id\":\"59fd92361e18b40005abaaed\",\"key\":\"xml-dtds\",\"url\":\"xml-dtds\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML文檔類型聲明\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:02.473Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.141Z\"}},{\"order\":17,\"_id\":\"5fcf8cf0d5dd8e00183d7fe9\",\"post\":{\"meta\":{\"description\":\"XML模式被稱爲XML架構定義(XSD)。它是用來描述和驗證的結構和XML數據的內容。 XML模式定義的元素,屬性和數據類型。Schema元素的命名空間支持。它類似於描述了數據庫中的數據的數據\",\"keywords\":\"XML模式,XML,模式\"},\"content\":{\"extended\":\"$35\"},\"state\":\"published\",\"views\":522,\"order\":17,\"_id\":\"59fd92361e18b40005abaaee\",\"key\":\"xml-schemas\",\"url\":\"xml-schemas\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML模式\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:02.777Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.126Z\"}},{\"order\":18,\"_id\":\"5fcf8cf0d5dd8e00183d7fea\",\"post\":{\"meta\":{\"description\":\"一個XML文檔始終是描述性的。樹狀結構是通常被稱爲XML樹和起着很容易地描述任何XML文檔中起重要作用。 樹狀結構包含根(父)要素,子要素等。通過採用樹狀結構,你可以知道所有後\",\"keywords\":\"XML,樹結構,XML樹結構\"},\"content\":{\"extended\":\"$36\"},\"state\":\"published\",\"views\":599,\"order\":18,\"_id\":\"59fd92371e18b40005abaaef\",\"key\":\"xml-tree-structure\",\"url\":\"xml-tree-structure\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML樹結構\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:03.344Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.118Z\"}},{\"order\":19,\"_id\":\"5fcf8cf0d5dd8e00183d7feb\",\"post\":{\"meta\":{\"description\":\"文檔對象模型(DOM)是XML的基礎。 XML文檔具有信息單位稱爲節點的層次結構;DOM是描述這些節點和它們之間的關係的一種方式。. 一個DOM文檔是一組層次組織的節點或信息塊。這個層次結\",\"keywords\":\"XML文檔,對象模型\"},\"content\":{\"extended\":\"$37\"},\"state\":\"published\",\"views\":516,\"order\":19,\"_id\":\"59fd92371e18b40005abaaf0\",\"key\":\"xml-dom\",\"url\":\"xml-dom\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML文檔對象模型\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:03.609Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.111Z\"}},{\"order\":20,\"_id\":\"5fcf8cf0d5dd8e00183d7fec\",\"post\":{\"meta\":{\"description\":\"命名空間是一組唯一的名稱。命名空間是一種機制通過該元素和屬性的名字可以被分配到組。該命名空間是確定的URI(統一資源標識符). 命名空間聲明 命名空間聲明是使用保留的屬性\",\"keywords\":\"XML命名空間,XML,命名空間\"},\"content\":{\"extended\":\"\u003cp\u003e 命名空間是一組唯一的名稱。命名空間是一種機制通過該元素和屬性的名字可以被分配到組。該命名空間是確定的URI(統一資源標識符).\u003c/p\u003e \\n\u003ch2\u003e 命名空間聲明\u003c/h2\u003e \\n\u003cp\u003e 命名空間聲明是使用保留的屬性。這樣的屬性名稱必須是XMLNS或開始的xmlns:如下圖所示:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;element xmlns:name=\\\"URL\\\"\u0026gt;\\r\u003c/pre\u003e \\n\u003ch2\u003e 語法\u003c/h2\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e 命名空間以關鍵字的xmlns。.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 這個詞的名字是命名空間前綴.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e T網址是命名空間標識符.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003ch2\u003e 示例\u003c/h2\u003e \\n\u003cp\u003e 命名空間影響的文件只有有限的一部分。包含的聲明和它的所有後代元素都在命名空間的範圍。以下是XML命名空間的一個簡單例子:\u003c/p\u003e \\n\u003cpre class=\\\"prettyprint notranslate\\\"\u003e\\r\\n\u0026lt;?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u0026gt;\\r\\n\u0026lt;cont:contact xmlns:cont=\\\"www.yiibai.com/profile\\\"\u0026gt;\\r\\n \u0026lt;cont:name\u0026gt;Tanmay Patil\u0026lt;/cont:name\u0026gt;\\r\\n \u0026lt;cont:company\u0026gt;YiiBai\u0026lt;/cont:company\u0026gt;\\r\\n \u0026lt;cont:phone\u0026gt;(011) 123-4567\u0026lt;/cont:phone\u0026gt;\\r\\n\u0026lt;/cont:contact\u0026gt;\\r\u003c/pre\u003e \\n\u003cp\u003e 在這裏命名空間前綴爲續,而命名空間標識符(URI)的www.yiibai.com/profile。這意味着,該元素的名稱和與該接觸器的前綴(包括接觸元件)屬性名,都屬於www.yiibai.com/profile命名空間.\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":501,\"order\":20,\"_id\":\"59fd92371e18b40005abaaf1\",\"key\":\"xml-namespaces\",\"url\":\"xml-namespaces\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML命名空間\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:03.913Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.096Z\"}},{\"order\":21,\"_id\":\"5fcf8cf0d5dd8e00183d7fed\",\"post\":{\"meta\":{\"description\":\"XML數據庫用存儲大量的信息以XML格式。作爲XML的使用正在增加在各個領域中,需要具有在安全的地方來存儲XML文檔。存儲在數據庫中的數據可以使用XQuery,序列進行查詢,並輸出到所需\",\"keywords\":\"XML數據庫,XML,數據庫\"},\"content\":{\"extended\":\"$38\"},\"state\":\"published\",\"views\":574,\"order\":21,\"_id\":\"59fd92381e18b40005abaaf2\",\"key\":\"xml-databases\",\"url\":\"xml-databases\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML數據庫\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:04.217Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.090Z\"}},{\"order\":22,\"_id\":\"5fcf8cf0d5dd8e00183d7fee\",\"post\":{\"meta\":{\"description\":\"XML編輯器是一種標記語言編輯器。 XML文檔可以被編輯或使用現有的編輯器如記事本,寫字板或任何類似的文本編輯器創建。你也可以找專業的XML編輯器的在線或下載,其中有更強大的編\",\"keywords\":\"XML編輯器,XML,編輯器\"},\"content\":{\"extended\":\"\u003cp\u003e XML編輯器是一種標記語言編輯器。 XML文檔可以被編輯或使用現有的編輯器如記事本,寫字板或任何類似的文本編輯器創建。你也可以找專業的XML編輯器的在線或下載,其中有更強大的編輯功能,如:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e 它會自動關閉那些敞開的標籤.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它嚴格檢查句法.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它突出的色彩,增加可讀性XML句法.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它可以幫助你編寫有效的XML代碼.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 它提供了XML文檔對DTD和模式自動驗證.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003ch2\u003e 開放源代碼的XML編輯器\u003c/h2\u003e \\n\u003cp\u003e 有如下一些開源的XML編輯器:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e \u003ca href=\\\"http://www.xerlin.org/\\\"\u003eXerlin\u003c/a\u003e\u0026nbsp;: Xerlin是一個開源的XML編輯器的Java 2平臺下Apache許可證發佈。它是一個基於Java的XML的建模應用程序,可方便地創建和編輯XML文件。.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e \u003ca href=\\\"http://sourceforge.net/projects/camprocessor/\\\"\u003eCAM - 內容組裝機制\u003c/a\u003e\u0026nbsp;: CAM的XML編輯器工具使用XML+ JSON+ SQL開XDX主辦甲骨文.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":639,\"order\":22,\"_id\":\"59fd92381e18b40005abaaf3\",\"key\":\"xml-editors\",\"url\":\"xml-editors\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML編輯器\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:04.521Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.083Z\"}},{\"order\":23,\"_id\":\"5fcf8cf0d5dd8e00183d7fef\",\"post\":{\"meta\":{\"description\":\"XML解析器是一個軟件庫把它提供的接口爲客戶端應用程序使用XML文檔。它檢查XML文檔的適當的格式,並且還可以驗證XML文檔。現代瀏覽器都內置的XML解析器. 下圖顯示了XML解析器處理X\",\"keywords\":\"XML解析器,XML,解析器\"},\"content\":{\"extended\":\"\u003cp\u003e XML解析器是一個軟件庫把它提供的接口爲客戶端應用程序使用XML文檔。它檢查XML文檔的適當的格式,並且還可以驗證XML文檔。現代瀏覽器都內置的XML解析器.\u003c/p\u003e \\n\u003cp\u003e 下圖顯示了XML解析器處理XML文檔的交互方式:\u003c/p\u003e \\n\u003cimg alt=\\\"XML解析器\\\" src=\\\"https://asset.1ju.org/cmsstatic/xml-5.png\\\"\u003e \\n\u003cp\u003e 解析器的目標是將XML轉換成可讀的代碼.\u003c/p\u003e \\n\u003cp\u003e 爲了緩解解析的過程中,一些商業產品提供了便利的XML文檔的擊穿和產生更可靠的結果.\u003c/p\u003e \\n\u003cp\u003e S青梅常用解析器下面列出:\u003c/p\u003e \\n\u003cul\u003e \\n \u003cli\u003e \u003cp\u003e MSXML (Microsoft XML核心服務) :\u0026nbsp;這是一組標準的XML工具從Microsoft包括一個解析器.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e System.Xml.XmlDocument :\u0026nbsp;這個類是dot.NET庫,其中包含了許多有關使用XML的不同類別的一部分.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e 解析器建在Java :\u0026nbsp;Java庫都有自己的解析器。該庫設計成可以更換內置分析器與外部實現如Apache或撒克遜的Xerces.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e Saxon :\u0026nbsp;Saxon 提供工具,解析,轉換和查詢XML.\u003c/p\u003e \u003c/li\u003e \\n \u003cli\u003e \u003cp\u003e Xerces :\u0026nbsp;用Java實現的Xerces,它是由著名的開放源碼的Apache軟件基金會開發.\u003c/p\u003e \u003c/li\u003e \\n\u003c/ul\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":492,\"order\":23,\"_id\":\"59fd92381e18b40005abaaf4\",\"key\":\"xml-parsers\",\"url\":\"xml-parsers\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML解析器\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:04.950Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.056Z\"}},{\"order\":24,\"_id\":\"5fcf8cf0d5dd8e00183d7ff0\",\"post\":{\"meta\":{\"description\":\"當一個軟件程序讀取XML文檔並相應地採取行動,這就是所謂的XML處理。可以讀取和處理XML文檔的任何程序被稱爲XML處理器。XML處理器讀取XML文件,並把它變成內存結構的程序的其餘部分\",\"keywords\":\"XML處理器,XML,處理器\"},\"content\":{\"extended\":\"\u003cp\u003e 當一個軟件程序讀取XML文檔並相應地採取行動,這就是所謂的XML處理。可以讀取和處理XML文檔的任何程序被稱爲XML處理器。XML處理器讀取XML文件,並把它變成內存結構的程序的其餘部分可以訪問.\u003c/p\u003e \\n\u003cp\u003e 最根本的XML處理器讀取XML文檔並把它轉換成用於其它程序或子程序使用的內部表示。這就是所謂的語法分析程序,它是每一個XML處理程序的一個重要組成部分.\u003c/p\u003e \\n\u003cp\u003e 處理器包括處理該所用的章節處理\u0026nbsp;指令進行研究的說明.\u003c/p\u003e \\n\u003ch2\u003e 類型\u003c/h2\u003e \\n\u003cp\u003e XML處理器被劃分爲驗證或無驗證類型,這取決於他們是否檢查XML文檔的有效性。在發現一個有效性的錯誤處理器必須能夠彙報,但可繼續進行正常的處理.\u003c/p\u003e \\n\u003cp\u003e 一些驗證解析器 :\u0026nbsp;xml4c (IBM, in C++), xml4j (IBM, in Java), MSXML (Microsoft, in Java), TclXML (TCL), xmlproc (Python), XML::Parser (Perl), Java Project X (Sun, in Java).\u003c/p\u003e \\n\u003cp\u003e 一些非驗證解析器 :\u0026nbsp;OpenXML (Java), Lark (Java), xp (Java), AElfred (Java), expat (C), XParse (JavaScript), xmllib (Python).\u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u003cbr\u003e \u0026nbsp;\u003c/p\u003e \\n\u003cbr\u003e\"},\"state\":\"published\",\"views\":501,\"order\":24,\"_id\":\"59fd92391e18b40005abaaf5\",\"key\":\"xml-processors\",\"url\":\"xml-processors\",\"tutorial\":\"59fd92311e18b40005abaadc\",\"section\":\"59fd92311e18b40005abaadd\",\"title\":\"XML處理器\",\"author\":\"59fa8cb8a31fb7001009c4bb\",\"publishedDate\":\"2017-11-04T10:11:05.217Z\",\"__v\":0,\"updatedAt\":\"2020-10-13T08:27:19.049Z\"}}]}]}}]}]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"card-footer\",\"children\":[\"$\",\"div\",null,{\"className\":\"row\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"data-prefix\":\"fas\",\"data-icon\":\"arrow-left\",\"className\":\"svg-inline--fa fa-arrow-left \",\"role\":\"img\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\",\"style\":{},\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\",\"style\":{}}]}],[\"$\",\"$Lf\",null,{\"href\":\"/xml/xml-encoding\",\"children\":\"XML編碼\"}]]}],[\"$\",\"div\",null,{\"className\":\"col text-md-end\",\"children\":[\"$\",\"$Lf\",null,{\"href\":\"/xml/xml-dtds\",\"children\":[[\"$\",\"svg\",null,{\"aria-hidden\":\"true\",\"focusable\":\"false\",\"data-prefix\":\"fas\",\"data-icon\":\"arrow-right\",\"className\":\"svg-inline--fa fa-arrow-right \",\"role\":\"img\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\",\"style\":{},\"children\":[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z\",\"style\":{}}]}],\"XML文檔類型聲明\"]}]}]]}]}]]}]]}]]}]}]}]\n"])</script><script>self.__next_f.push([1,"4:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"1\",{\"children\":\"XML驗證 - XML教學\"}],[\"$\",\"meta\",\"2\",{\"name\":\"description\",\"content\":\"驗證 是由一個XML文檔進行驗證的過程。 XML文檔被認爲是有效的,如果它的內容相匹配的元素,屬性和相關聯的文檔類型定義(DTD),並且如果該文件符合表示在它的約束。驗證處理方\"}],[\"$\",\"meta\",\"3\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script></body></html>