3月13日,經過四個月的開發,高效能庫2.7.0版本發布。 萊克斯伯旨在處理 HTML 5 和 CSS 格式。
項目的主要特點:
- 完全支持 WHATWG、W3C 和 Unicode 規範: HTML5, CSS 語法 3, 噴碼, URL, Unicode 標準配件 #15, Unicode 技術標準第 46 號, 密碼, Unicode 標準配件 #15, Unicode 技術標準第 46 號;
- 操作 DOM 元素和屬性:新增、更改、刪除等;
- 支援解析HTML片段;
- 通過所有 DOM 樹建置測試;
- 測試 在超過 200 億個使用 ASAN 的 HTML 頁面上;
- 支援按位元組流進行編碼檢測;
- 解析標籤屬性和標籤中的 CSS 樣式;
- 使用 CSS 選擇器尋找 HTML 元素;
- 編碼和解碼時支援 40 種編碼;
- 支援無緩衝和有緩衝的編碼和解碼;
- 採用 C 語言(C99 標準)編寫,不依賴任何第三方軟體,並以 Apache 2.0 授權發布;
- 本函式庫分為多個模組(Core、CSS、DOM、Encoding、Engine、HTML、NS、Punycode、Selectors、Tag、Unicode、URL、Utils),這些模組可以編譯並作為單獨的函式庫使用(使用 CMake 選項 LEXBOR_BUILD_SEPARATELY=ON);
- 語言的第三方綁定和包裝器 Crystal 水晶, D, 酏, 朱莉婭, PHP, 蟒蛇 и 紅寶石.
主要變化:
- 新增了對合併(將來源檔案合併為單一檔案)的支援。這簡化了將庫整合到專案中的過程——您只需包含一個文件,而無需使用整個建置系統。有關詳細信息,請參閱 文件.
- 為了實作佈局,我們對負責 CSS 解析的程式碼進行了大規模的重構。
- 為 HTML 解析器新增了輸入流驗證(這僅用於根據規範報告解析錯誤)。預設已停用,詳情請參閱相關文件。 html/#tokenizer-options.
- 正在準備佈局引擎發布的程式碼。
- 整體效能提升和錯誤修復。
來源: linux.org.ru
