完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > XML
可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。
可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。是Internet環(huán)境中跨平臺的、依賴于內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C就發(fā)布了XML1.0規(guī)范,使用它來簡化Internet的文檔信息傳輸。1998年2月,W3C正式批準了可擴展標記語言的標準定義,可擴展標記語言可以對文檔和數據進行結構化處理,從而能夠在部門、客戶和供應商之間進行交換,實現動態(tài)內容生成,企業(yè)集成和應用開發(fā)??蓴U展標記語言可以使我們能夠更準確的搜索,更方便的傳送軟件組件,更好的描述一些事物。例如電子商務交易等。它被設計用來傳輸和存儲數據; 超文本標記語言被設計用來顯示數據。它們都是標準通用標記語言的子集。
可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。是Internet環(huán)境中跨平臺的、依賴于內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C就發(fā)布了XML1.0規(guī)范,使用它來簡化Internet的文檔信息傳輸。1998年2月,W3C正式批準了可擴展標記語言的標準定義,可擴展標記語言可以對文檔和數據進行結構化處理,從而能夠在部門、客戶和供應商之間進行交換,實現動態(tài)內容生成,企業(yè)集成和應用開發(fā)??蓴U展標記語言可以使我們能夠更準確的搜索,更方便的傳送軟件組件,更好的描述一些事物。例如電子商務交易等。它被設計用來傳輸和存儲數據;[1] 超文本標記語言被設計用來顯示數據。它們都是標準通用標記語言的子集。
一、什么是可擴展標記語言?
可擴展標記語言是一種很像超文本標記語言的標記語言。
它的設計宗旨是傳輸數據,而不是顯示數據。
它的標簽沒有被預定義。您需要自行定義標簽。
它被設計為具有自我描述性。
它是W3C的推薦標準。
二、可擴展標記語言和超文本標記語言之間的差異
它不是超文本標記語言的替代。它是對超文本標記語言的補充。它和超文本標記語言為不同的目的而設計:
它被設計用來傳輸和存儲數據,其焦點是數據的內容。
超文本標記語言被設計用來顯示數據,其焦點是數據的外觀。
超文本標記語言旨在顯示信息,而它旨在傳輸信息。對它最好的描述是:它是獨立于軟件和硬件的信息傳輸工具。
三、可擴展標記語言是W3C的推薦標準
XML 于 1998 年 2 月 10 日成為 W3C 的推薦標準。
四、可擴展標記語言無所不在
超文本標記語言。XML 是各種應用程序之間進行數據傳輸的最常用的工具。
格式特性
它與Access,Oracle和SQL Server等數據庫不同,數據庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,它僅僅是存儲數據。事實上它與其他數據表現形式最大的不同是:它極其簡單,這是一個看上去有點瑣細的優(yōu)點,但正是這點使它與眾不同。
它和超文本標記語言語法區(qū)別:超文本標記語言的標記不是所有的都需要成對出現,它則要求所有的標記必須成對出現;HTML標記不區(qū)分大小寫,它則大小敏感,即區(qū)分大小寫。
結合
標準通用標記語言、超文本標記語言是它的先驅。標準通用標記語言它是國際上定義電子文件結構和內容描述的標準,是一種非常復雜的文檔的結構,主要用于大量高度結構化數據的防衛(wèi)區(qū)和其他各種工業(yè)領域,利于分類和索引。同它相比,定義的功能很強大,缺點是它不適用于Web數據描述,而且標準通用標記語言軟件價格非常昂貴。 HTML相信大家都比較熟悉,即超文本標識語言,它的優(yōu)點是比較適合web頁面的開發(fā)。但它有一個缺點是標記相對少,只有固定的標記集如《p》。《strong》等。缺少標準通用標記語言的柔性和適應性。不能支持特定領域的標記語言,如對數學、化學、音樂等領域的表示支持較少。舉個例子來說,開發(fā)者很難在網頁上表示數學公式、化學分子式和樂譜。它結合了標準通用標記語言和HTML的優(yōu)點并消除其缺點。XML仍然被認為是一種標準通用標記語言。比標準通用標記語言要簡單,但能實現標準通用標記語言的大部分的功能。1996年的夏天,標準通用標記語言,使其在Web中,既能利用標準通用標記語言的長處,又保留html的簡單性。
XML的簡單使其易于在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟件也支持其它的數據交換格式,但不久之后他們都將支持XML,那就意味著程序可以更容易的與Windows, Mac OS, Linux以及其他平臺下產生的信息結合,然后可以很容易加載XML數據到程序中并分析它,并以XML格式輸出結果。
友好
為了使得標準通用標記語言顯得用戶友好,它重新定義了標準通用標記語言的一些內部值和參數,去掉了大量的很少用到的功能,這些繁雜的功能使得標準通用標記語言在設計網站時顯得復雜化。它保留了標準通用標記語言的結構化功能,這樣就使得網站設計者可以定義自己的文檔類型,它同時也推出一種新型文檔類型,使得開發(fā)者也可以不必定義文檔類型。
語法
可以在可擴展標記語言文件的內容包括幾乎所有的萬國碼Unicode字符(以下例子使用本條例,以《?開頭的文檔序言部分標記不能使用此條例),元素和屬性的名稱也可以由非ascii字符組成。
標準通用標記語言常用來定義針對HTML的文檔類型定義(DTD),同時它也常用于編寫XML的DTD。標準通用標記語言的問題就在于它允許出現一些奇怪的語法,這讓創(chuàng)建HTML的解析器成為一個大難題:
某些起始標簽可以選擇性出現結束標簽或者隱含了結束標簽。
某些起始標簽要求必須出現結束標簽,例如HTML中《script》“腳本”標簽。
標簽可以以任何順序嵌套。即使結束標簽不按照起始標簽的逆序出現也是允許的,例如,This is asamplestring是正確的。
某些特性要求必須包含值,例如《圖片 源=“百度百科.jpg”》中的源特性。
某些特性不要求一定有值,例如中的“不換行”(外語:nowrap)特性。
定義特性的兩邊有沒有加上雙引號都是可以的,所以都是允許的。
1
2《百度百科
詞條=“可擴展標記語言”》
1《!--和--》
1
2《百度百科
詞條=可擴展標記語言》
這些問題使建立一個標準通用標記語言的解析器變成了一項艱巨的任務,判斷何時應用以上規(guī)則的困難導致了標準通用標記語言語言的定義一直停滯不前,以這些問題作為出發(fā)點,XML逐漸步入我們的視野。XML去掉了之前令許多開發(fā)人員頭疼的標準通用標記語言的隨意語法。在XML中,采用了如下的語法:一、任何的起始標簽都必須有一個結束標簽。二、可以采用另一種簡化語法,可以在一個標簽中同時表示起始和結束標簽。這種語法是在大于符號之前緊跟一個斜線(/),例如《百度百科詞條/》。XML解析器會將其翻譯成《百度百科詞條》《/百度百科詞條》。三、標簽必須按合適的順序進行嵌套,所以結束標簽必須按鏡像順序匹配起始標簽,例如這是一串百度百科中的樣例字符串。這好比是將起始和結束標簽看作是數學中的左右括號:在沒有關閉所有的內部括號之前,是不能關閉外面的括號的。四、所有的特性都必須有值。五、所有的特性都必須在值的周圍加上雙引號。這些規(guī)則使得開發(fā)一個XML解析器要簡便得多,而且也除去了解析標準通用標記語言中花在判斷何時何地應用那些奇怪語法規(guī)則上的工作。僅僅在XML出現后的前六年就衍生出多種不同的語言,包括MathML、SVG、RDF、RSS、SOAP、XSLT、XSL-FO,而同時也將HTML改進為XHTML。
為什么XML這么笨重的數據結構仍在廣泛應用
JSON還沒有類似于XPath的成熟技術作支撐,在處理海量數據時將會是一場煉獄之旅。
XML是面向機器的數據格式,雖然手工編寫困難,但處理效率高。
反觀JSON,手寫很快,但要規(guī)范處理則不容易,特別是取得某個指定位置的數據,需要寫一堆的代碼,而不能向XPath這類引擎借力,在代碼維護上就有相當高的成本。
機器的邊際成本永遠是廉價的,而人力則會越來越貴。
XPath已經標準化:XML Path Language (XPath)。
JSON方面了解不多,還沒有看到標準化的數據抽取引擎,可以看看這個:JSONiq - The JSON Query Language。
EtherCAT從站開發(fā)避坑指南:30分鐘搞定ESI XML(下)
我們詳解了EtherCAT從站信息文件ESIXML,介紹其定義、結構及與硬件SII的對應關系,這期我們繼續(xù)講解核心節(jié)點與PDO過程數據,幫助大家理解主站...
EtherCAT從站開發(fā)避坑指南:30分鐘搞定ESI XML(上)
將分兩期詳解EtherCAT從站信息文件ESIXML,介紹其定義、結構及與硬件SII的對應關系,講解核心節(jié)點與PDO過程數據,幫助理解主站識別、配置從站...
OpenHarmony語言基礎類庫【@ohos.xml (xml解析與生成)】
將XML文本轉換為JavaScript對象、以及XML文件生成和解析的一系列接口。
SVG(可縮放矢量圖形)是一種用于顯示圖形的XML格式,它對于Web開發(fā)者來說是一個非常重要的技術。SVG提供了一種可伸縮的、可互動的圖像格式,它可以在...
【JAVA UI】【HarmonyOS】【Demo】 鴻蒙如何進行 xml 解析
【鴻蒙】鴻蒙如何進行數據解析 【問題描述】有時候我們從服務器獲取是 xml 格式數據,我們需要將 xml 轉化成 model 對象,該如何使用呢?下面舉...
一、XML 解析 對于以 XML 作為載體傳遞的數據,實際使用中需要對相關的節(jié)點進行解析,一般包括解析 XML 標簽和標簽值、解析 XML 屬性和屬性值...
一、XML 概述 XML(可擴展標記語言)是一種用于描述數據的標記語言,旨在提供一種通用的方式來傳輸和存儲數據,特別是 Web 應用程序中經常使用的數據...
netconf協議是什么?netconf協議的優(yōu)點
NETCONF(Network Configuration Protocol)是一種基于XML的網絡管理協議,提供了一套管理網絡設備的機制。用戶可以使用...
譯文分享:XimpleWare訴Versata Software等一審判決(2014)
在XimpleWare與Versata之間的開源軟件專利訴訟案中,法院裁定根據GPLv2.0條款,涉案客戶被告的使用行為不構成侵權,只有分發(fā)行為才需要滿...
Keil項目/生成的各種文件類型(.AXF、.D、.crf、.exf)說明
.UVMPW:用于多個項目的 μVision4 項目文件(工作空間項目文件)。包含對其他項目文件的引用,并將它們綁定到一個項目中。當多個項目分組到一個項...
配置管理:為您的設備創(chuàng)建基線配置可減少安全漏洞
遵循食譜(如烘烤 cookie)是確保設備和系統設置和配置一致性的一種方法,這反過來又減少了引入新的配置錯誤的可能性,這些錯誤可能導致攻擊者利用不需要的...
分享一種適用于MicrosoftWPF的功能豐富的圖表控件(上)
ForceDirectedLayout使用類似于物理力的力來推動和拉動節(jié)點。連桿被視為具有特定長度和剛度的彈簧。每個節(jié)點都具有排斥其他節(jié)點的電荷。
gRPC Google遠程過程調用(Google Remote Procedure Call,gRPC)協議是谷歌發(fā)布的高性能、通用的開源RPC軟件框架...
換一批
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
| 電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
| BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
| 無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
| 直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
| 步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
| 伺服電機 | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
| 開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
| 5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
| NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
| Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
| 語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
| CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
| SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
| Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
| 示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
| OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
| C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
| Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
| DuerOS | Brillo | Windows11 | HarmonyOS |