Add an XML ecosystem profile (XSD, RELAX NG, Schematron, XSLT)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Read the existing profile modules, tests/test_go.py, tests/support.py, and tests/test_ecosystem_contract.py to learn the registration and fixture conventions. Add project_validator/ecosystems/xml.py, register it in BUILT_IN, and add the XML fixture layout and profile tests. Done means the configured fixture passes applicable checks, the bare fixture passes none, snapshots are recorded, and the README “Applies to” column is updated.
由索引模型根据 Issue 内容生成。
描述
Profile
Recognised by intent (#63): *.xsd, *.rng / *.rnc, *.sch, *.xsl / *.xslt, *.xspec. Supplies the schema practices from #85.
| Practice | Rule for this ecosystem |
|---|---|
schema-declared |
XSDs declare a targetNamespace and elementFormDefault; instance documents name their schema (xsi:schemaLocation / xsi:noNamespaceSchemaLocation, or an <?xml-model?> processing instruction) |
schema-validation |
CI runs xmllint --noout --schema / --relaxng, jing, or a Schematron processor (SchXslt) |
schema-examples |
XSpec suites (*.xspec) for XSLT and Schematron, run in CI; for XSD / RELAX NG, valid and invalid example documents |
tests-run |
XSpec runs in CI (xspec.sh, the XSpec Maven or Ant targets) |
code-formatting |
xmllint --format checked in CI, or prettier with @prettier/plugin-xml |
Notes
data-wellformed (#84) covers well-formedness. External DTDs and entities must never be fetched.
Definition of done
- One profile module,
project_validator/ecosystems/xml.py, registered inBUILT_IN. Nothing inproject_validator/checks/changes: a row marked later belongs to a check that does not exist yet and is recorded on that check's issue. tests/fixtures/well_configured_xmlpasses every check that applies to it, andtests/fixtures/bare_xmlpasses none of the ecosystem's practices (tests/test_ecosystem_contract.py). Snapshots recorded withUPDATE_SNAPSHOTS=1.- A project layout in
tests/support.py, profile tests liketests/test_go.py, and the README "Applies to" column (tests/test_documentation.py). - A practice with no good evidence for this ecosystem is left out (the check reports
SKIP) rather than judged by weak evidence.
- 主要语言
- Python
- 星标
- 4
- 派生
- 1
- 平均合并
- 10 小时 41 分钟
- 30 天内合并 PR
- 79
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cpp-best-practices/project_validator 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
cpp-best-practices/project_validator#267 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
cpp-best-practices/project_validator#263 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
cpp-best-practices/project_validator#260 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
cpp-best-practices/project_validator#259 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
cpp-best-practices/project_validator#255 ·
维护者通常 1 天内回复
查看 cpp-best-practices/project_validator 的全部 Issue
相似的 Issue
-
plot_graph crashes when a mesh node has no m2m edge可能已有人在做 @tygvi 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
mllam/neural-lam#883 · 1 条评论 ·
维护者通常 2 天内回复
-
enhancement possible-duplicate
难度 1/5 1-3 小时 新手友好度 78/100
AOSSIE-Org/PictoPy#1715 · 2 条评论 ·
维护者通常 6 天内回复
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on them未关闭
难度 2/5 1-3 小时 新手友好度 72/100
NVIDIA/auto-ontology#511 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
ethereum/execution-specs#3996 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
维护者通常 1 天内回复