Exemplo
xml-name-validator 5.0.0: Validate XML Name and QName productions with xml-name-validator
Amostra verificada para npm xml-name-validator 5.0.0: Validate XML Name and QName productions with xml-name-validator. O contrato rodou em node 22 · linux…
sha256:a6d25f601c327779e6c38483b5f6c400a74d57db62466e7cc53e2edddc2e7555
Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu.
Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas.
MIT-0
Evidência de execução
O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.
- Base da evidência
- Contrato assinado aprovado
- Recibos de verificação
- 2
- Chaves de assinatura que o compilaram
- 1
Ambiente declarado
node 22.23 linux 24 · ubuntu · glibc 2.39 x64 node 22.23 javascript npm
Ambientes das execuções de verificação
| Ambiente | Contrato | Etapas | Execução |
|---|---|---|---|
| node 22 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1 |
2026-08-20 |
| node 22 · linux debian/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · node-typescript@1node:22@sha256:8a34c4ab3ea2… |
2026-09-08 |
Caso
HOW- Objetivo
- Validate XML Name and QName productions with xml-name-validator
- Pacotes
- Ambiente
- node 22.23.2
- Criado
- 2026-08-20T21:52:16Z
Contrato
- assert name returns true for valid XML Name identifiers and false for invalid XML Name identifiers
- assert qname returns true for valid XML QNames and false for invalid XML QNames
- assert validateXmlName and validateXmlQName wrap xml-name-validator methods accurately
Arquivos
- PROMPT.md
- csx.json
- index.js
- package-lock.json
- package.json
- spec.json
- test/contract.cjs
Código-fonte
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: Validate XML Name and QName productions with xml-name-validator
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:npm/xml-name-validator@5.0.0
Constraints:
- executionContext: node
Required runtime conditions:
- ecosystem: npm
- language: javascript
- moduleSystem: cjs
- runtime: node@22.23.2
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:4c7724f8ef7829f1477cd2699a1b6bc170647528316ed10b925b021a284483d3","constraints":{"executionContext":"node"},"contract":["assert name returns true for valid XML Name identifiers and false for invalid XML Name identifiers","assert qname returns true for valid XML QNames and false for invalid XML QNames","assert validateXmlName and validateXmlQName wrap xml-name-validator methods accurately"],"goal":"Validate XML Name and QName productions with xml-name-validator","kind":"HOW","packages":["pkg:npm/xml-name-validator@5.0.0"],"schemaVersion":1},"contractCommand":["node","test/contract.cjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","executionContext":"node","language":"javascript","libc":"glibc","libcVersion":"2.39","moduleSystem":"cjs","os":"linux","osVersionBucket":"24","packageManager":"npm","runtime":"node","runtimeVersion":"22.23.2","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/xml-name-validator@5.0.0"],"schemaVersion":1,"subject":"pkg:npm/xml-name-validator@5.0.0","verifierAdapter":"node-typescript@1"}
const { name, qname } = require("xml-name-validator");
function validateXmlName(input) {
return name(input);
}
function validateXmlQName(input) {
return qname(input);
}
module.exports = {
validateXmlName,
validateXmlQName
};
{
"name": "xml-name-validator-sample",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "xml-name-validator-sample",
"version": "1.0.0",
"license": "MIT-0",
"dependencies": {
"xml-name-validator": "5.0.0"
}
},
"node_modules/xml-name-validator": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
"integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
"license": "Apache-2.0",
"engines": {
"node": ">=18"
}
}
}
}
{
"name": "xml-name-validator-sample",
"version": "1.0.0",
"description": "Validate XML Name and QName productions with xml-name-validator",
"main": "index.js",
"scripts": {
"test": "node test/contract.cjs"
},
"dependencies": {
"xml-name-validator": "5.0.0"
},
"license": "MIT-0"
}
{
"schemaVersion": 1,
"goal": "Validate XML Name and QName productions with xml-name-validator",
"kind": "HOW",
"packages": [
"pkg:npm/xml-name-validator@5.0.0"
],
"constraints": {
"executionContext": "node"
},
"runtimeConditions": {
"ecosystem": "npm",
"language": "javascript",
"moduleSystem": "cjs",
"runtime": "node@22.23.2"
}
}
const assert = require("node:assert");
const { name, qname } = require("xml-name-validator");
const { validateXmlName, validateXmlQName } = require("../index.js");
// Test XML Name validation
assert.strictEqual(name("validName"), true);
assert.strictEqual(name(":validPrefixName"), true);
assert.strictEqual(name("_validUnderScore"), true);
assert.strictEqual(name("123invalidStart"), false);
assert.strictEqual(name("invalid space"), false);
// Test XML QName (Qualified Name) validation
assert.strictEqual(qname("prefix:localName"), true);
assert.strictEqual(qname("simpleLocalName"), true);
assert.strictEqual(qname("invalid:double:colon"), false);
assert.strictEqual(qname("123:localName"), false);
assert.strictEqual(qname(":invalidPrefix"), false);
// Test module exports wrapper
assert.strictEqual(validateXmlName("sampleName"), true);
assert.strictEqual(validateXmlName("!bad"), false);
assert.strictEqual(validateXmlQName("ns:element"), true);
assert.strictEqual(validateXmlQName("ns:bad:name"), false);
console.log("All xml-name-validator contract assertions passed successfully.");
Seeder de origem
anônimo