8fold / php-html-spec
此包已被弃用且不再维护。没有建议的替代包。
HTML 和 ARIA-HTML 规范作为结构化数据
0.0.5
2021-09-19 18:37 UTC
Requires
- php: ^7|^8.0
- 8fold/php-shoop: ^0.10.19
Requires (Dev)
- phpunit/phpunit: ^9.5.9
README
本任务的目标是将实时 HTML 规范呈现为结构化和互联的数据。
结构化数据放在用于结构化数据的文件夹中(例如 json
)。需要注意的是,结构化数据文件夹中的所有内容都是自动生成的;因此,不提供任何关于准确性的保证,并且修复问题可能需要在本规范本身中修复问题。
html
目录的信息架构与w3c/elements-of-html提供的文档的 URL 匹配。
安装
composer require 8fold/html-spec-structured
使用方法
原始数据
从编写脚本编译的数据存储在 /json
目录中,使用用户认为合适的任何接口直接访问原始数据。
PHP 读取器类
读取器类提供 API 和轻量级 ORM 解决方案以检索数据,并定期优化以提高和确保性能。
HtmlIndex::all()->elementNamed("h1");
PHP 写入器类
由于数据是从多个文档、多个仓库和多个组织中收集的,因此编写脚本非常实用,被认为是“一次性”的。它们在查询文档并将后续数据保存到文件中方面进行了最小优化。此外,它们继承自读取器类,因此与面向用户的功能完全解耦。
详细信息
项目数据结构
html.json
:HTML 元素的索引。html-attributes.json
:已定义属性、事件和 ARIA 属性的索引。html-aria-roles.json
:已定义角色属性值的索引。讨论中。
数据收集
- HTML 元素列表从 w3c 的HTML 元素存储库中提取。注意:如果元素在此处未列出,则不会在其他任何地方列出,即使在其他资源中引用。
- 非 ARIA HTML 属性和元素详细信息的列表从 WHATWG 的HTML 实时标准中提取。
- 注意:
role
不是属性,因为它没有列在属性表中;因此,它在初始集完成后作为全局属性注入。
- 注意:
- ARIA属性和HTML元素角色的列表来自w3c HTML ARIA文档。
- ATRIA属性类别来自此存储库本地文件夹中可用的w3c HTML ARIA 1.1建议的本地副本。
从格式角度看,ARIA似乎是最不统一和最易变的;然而,随着时间的推移,它可能更容易汇总和编译。
其他
版本控制
由于此包依赖于时间敏感而不是功能敏感的细节,因此版本控制是基于ISO标准的;因此,语义版本控制[major].[minor].[patch]
变为[year].[month].[day]
。
- 年:表示编译脚本运行的四位数字年份。
- 月:表示编译脚本运行的两位数字月份。
- 日:表示编译脚本运行的两位数字日期。