{"_id":"xml-xsd-engine","_rev":"15-29617656ac81c25bce6ebfbc96f87f2a","name":"xml-xsd-engine","dist-tags":{"latest":"1.7.3"},"versions":{"1.2.0":{"name":"xml-xsd-engine","version":"1.2.0","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.0","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"2cf1e0eb975d7c3b5c6af7138ef84aaef425e52b","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.0.tgz","fileCount":176,"integrity":"sha512-80O0eWM2WZ97RtR66+DMsZ+ve9G05vH66Pctk8H5LGhG+S8BxPI51g1EsG6rKSSMbLUsCmIyQJdgalikH5Nkrg==","signatures":[{"sig":"MEQCIC8tJF4OxV+0gStsIBuTLRozOOW3GLlWSS2A1fnFwrP8AiA+m20J8nbzWcMj7SrO+tWgyLAJoBKb58ZMWP8vrcCIfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1216027},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"f9b072bf25564ef31bd0c521658a72b44b7aaa39","scripts":{"cli":"node dist/cjs/cli/cli.js","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"npm run build && node dist/cjs/tests/test.js","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.0_1773241829139_0.7560786288566894","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"xml-xsd-engine","version":"1.2.1","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.1","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"613c44edc0cfeb76b5421a7efc7491ef6043e604","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.1.tgz","fileCount":164,"integrity":"sha512-sXk45yBqTCkSt2Hh+dnR2odT7AsuUfzSzC+ioPoBILzWOY7EfZ4DZMsdymvV0GNSmEkF8JDyN3YMP/TFi8NpNQ==","signatures":[{"sig":"MEQCIDOOpicW780hMn1MBchXxQadn6JLIhLvfJQkE2w+4qJ/AiA+9enSKIm36N8t9J+oJerayu6upXxGgVQKiRpkVXaNtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1190119},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"1ed1e2fa6e3bfc9ef3555b3cd58e4c9df1424f22","scripts":{"cli":"node dist/cjs/cli/cli.js","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"npm run build && node dist/cjs/tests/test.js","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.1_1773324069742_0.8632192412611779","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"xml-xsd-engine","version":"1.2.2","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.2","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"67398434b07adbc347d24aedcbe0774abc32cf5d","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.2.tgz","fileCount":164,"integrity":"sha512-UKrUIBx5iND34a+eNy0NQGrud3N6faMnkCG+Xt0GFoxBwEh5NXvJ30gZOudjaqYs9iNH4HOrJs1qD/gRG1FNNg==","signatures":[{"sig":"MEMCIGIShQycwOyWL2fdv/RZFSzxMzE8tjO63IrtuWZ+F87zAh8ZP6GLcFqjmHUM18D4GOJG7yOnVw3B/FQxMUeFbYz9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1192828},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"054391e7f5202559f304292e1956fd9b02fa62ac","scripts":{"cli":"node dist/cjs/cli/cli.js","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"npm run build && node dist/cjs/tests/test.js","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.2_1773330359050_0.42057471986203243","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"xml-xsd-engine","version":"1.2.3","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.3","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"9b97606965d4e453771e71992da38e59b3634a3c","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.3.tgz","fileCount":166,"integrity":"sha512-YqiAuUiXtoCT5bAidO3EJOWY7yDaMXrxLyLPrYfpyHazvKgTUIU3arjLuOQNCK3UppoSez7i9wfQk8LtCwbuMQ==","signatures":[{"sig":"MEUCIQCgCIolHVZde0IPSwKlL9LTZSp1EqoCEJ31VXzP/9aKEQIgJ0Tib8dmYyS7suguzlG0vzSYuy4W8TVZ1SBkMCe519I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1192934},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"054391e7f5202559f304292e1956fd9b02fa62ac","scripts":{"cli":"node dist/cjs/cli/cli.js","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"npm run build && node dist/cjs/tests/test.js","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.3_1773382704622_0.31361212824684515","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"xml-xsd-engine","version":"1.2.4","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.4","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"cb110dcbbb68d2a77e10a36cfc6ee4b4116988aa","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.4.tgz","fileCount":172,"integrity":"sha512-NIqKbxJlDXbr99rSgOtwWAQkySifEMXTl6pbySeNKYb3lsX5SSJGuTam+fQ0BIc37zz76a6EiA+KgoTWdafFCg==","signatures":[{"sig":"MEYCIQCVwCfSE8a21tBKF8WE8uKf8dmtPz6Nj+dFNCvN6tvr0AIhANaFI2F34KwTtOKQMV1lhIpg7ALERQRg5Zcsjf9k+QeE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1259111},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"eb5e343b6b5cb499460c9c376a6ec82d73a47082","scripts":{"cli":"node dist/cjs/cli/cli.js","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"npm run build && node dist/cjs/tests/test.js","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.4_1773393708462_0.39745223272635744","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"xml-xsd-engine","version":"1.2.5","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.5","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"528e75c08faa7d831a4bd8d3f1d788acbf6d993a","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.5.tgz","fileCount":172,"integrity":"sha512-c7WEgS8AelBzAxNb5Sb5CrSGV/qeITBcAV0BVhymzN5980M4IP/aqSNRY8CerMS94DnDpk74mR8yow+lTB1gVg==","signatures":[{"sig":"MEYCIQD51dkQye/HE4MIqnWL4lMYjxzsAHL1y29Rp+iws7rdcgIhAOoHC3172JXZFXWHxIPd3iQvrw+XsK+FjwnwT3v7Adei","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1263917},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"d577faa6920ac3ed63e53969b7b3dbf84a00f41e","scripts":{"cli":"node dist/cjs/cli/cli.js","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.5_1773402244327_0.71774587313519","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"xml-xsd-engine","version":"1.2.6","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.2.6","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"67758a75b760f448c59afa0be63036aea6c7b07a","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.2.6.tgz","fileCount":173,"integrity":"sha512-Yfg8G816y8k3q6aTjNEI1DsulOyLNspqF1pMpKsX8FjGtZVsurSOB2JK+L0K9zH99VPczdMyOlSOpF/GV872Ig==","signatures":[{"sig":"MEYCIQDKQxXsTUZOMUXslMqbKu/7uKGJlPBzZJWBjQ6BeDZJ2gIhALllwAII6nE8bP0KV5+6X7ZnfJuHQRKwNr9JzRn9fuGc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1275652},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"216382a538357cb0ae4729ebebe8a9bec81ec8fb","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.2.6_1773411649443_0.06990153577188063","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"xml-xsd-engine","version":"1.3.0","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.3.0","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"8d8ca53dc40ad4c8bed33e313b7a150377aa7aab","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.3.0.tgz","fileCount":191,"integrity":"sha512-4k6povnPGo2smdJa4KpdRA/3qyCv3vaDbzfXv99tTrwrEvRBE7uvyrb8DuM9abOVeDHFaTsnRCbOuzx+7fVx8A==","signatures":[{"sig":"MEUCIAuWfompHLylr+6FceKJAsmVmdRhNzD5EnfnXhL4V1gcAiEA4kNRRssH/HkuQM3rYhdwRdpnt85uqOUUSXsMxhKNkqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1482008},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"e8c9a873497ef1f417c7f897c9b2c636ab2cce10","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.3.0_1774759927734_0.6964865111605989","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"xml-xsd-engine","version":"1.4.0","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.4.0","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-format":"dist/cjs/cli/format.js","xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"b1dcd9f6b4d25060b81b593afb80bc48375bc653","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.4.0.tgz","fileCount":215,"integrity":"sha512-AH514E9EWSzQp4aHAPn2AVufVWjHbZGnLIHXMdeWnw3f+htYzMm4tfgiyhIFy56ZBmtrdWZhm9opBhW9Dm033Q==","signatures":[{"sig":"MEQCIB0wYhyGA85uwF9s2B77DD3MsaHy+S0I3ytldck3BVDdAiAYznjLOMZfHyJt3FK7QDCPZGbNZcN1MNsnsNZzKJE0WQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1713315},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"34826e5412f8924c1fbdd0754a255666cc768eb4","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.4.0_1776243022806_0.7598818074138103","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"xml-xsd-engine","version":"1.5.0","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.5.0","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-format":"dist/cjs/cli/format.js","xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"354f31baead61baeaf031ad80515493671ec1866","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.5.0.tgz","fileCount":251,"integrity":"sha512-RB4APwETnSCaE51/fcTH+9ERtL1uuGsb0sjQIK9mtmLOUCVLtg+xYqRCB5CQToxE8cSFMxYRcHbstP/kyUpG+w==","signatures":[{"sig":"MEUCIH9P7c489TGJ+anexWJLiug6kbroIgx5DgZtY3ByKdGCAiEAn0+rghVABqT61HhtWxSNQxYobEI/fUPv3zcmkNSNK1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2100869},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./bun":{"types":"./dist/types/bun.d.ts","import":"./dist/esm/bun.js","require":"./dist/cjs/bun.js"},"./deno":{"types":"./dist/types/deno.d.ts","import":"./dist/esm/deno.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./browser":{"types":"./dist/types/browser.d.ts","import":"./dist/esm/browser.js","require":"./dist/cjs/browser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"724587858822e3d105768fca0e2f6d56a6e3a08d","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.5.0_1776261159299_0.6163452025462297","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"xml-xsd-engine","version":"1.6.0","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.6.0","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-format":"dist/cjs/cli/format.js","xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"540c108f84727ea625bf5ec58e2ba1d89fdc3f8e","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.6.0.tgz","fileCount":263,"integrity":"sha512-IMHA6xVIdsV5WFgpAp6/SeRCMUc5PeIpckh/xfEwT2YVSRDGB3XoIMWoOuo22j+rHVWuPbT+DEa9aleCVGwJOQ==","signatures":[{"sig":"MEYCIQDwwLQQC5kKgi4JQ7CpbMRLoNdUtemhq6d4VWhUupXbpAIhAPXEbzspD6mo+Qy+RvwAcfNxFTJC532GKYgfnl37vNx9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2278664},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./bun":{"types":"./dist/types/bun.d.ts","import":"./dist/esm/bun.js","require":"./dist/cjs/bun.js"},"./deno":{"types":"./dist/types/deno.d.ts","import":"./dist/esm/deno.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./browser":{"types":"./dist/types/browser.d.ts","import":"./dist/esm/browser.js","require":"./dist/cjs/browser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"cc81dc5e5c6bab08243a7309f2a511d9f330918d","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.6.0_1776266721930_0.23271953924782873","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"xml-xsd-engine","version":"1.7.0","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.7.0","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-format":"dist/cjs/cli/format.js","xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"538d73fe61c18c889b2ba8c2742169ac587ef472","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.7.0.tgz","fileCount":290,"integrity":"sha512-FpHals/2J6Fo6NXbhnMNOZ4DGUspLBxgZCb+aB/crhaqRC+sah8LbYgShGdDlIpE5MsLA/lSIKnLpq7jV1D4Dg==","signatures":[{"sig":"MEYCIQDLwdHk9tYwS1sUYS7ptwq4IRRhGqfe+ueBNLg5RUyzhwIhANGYKek/muUz7RifFrvr/PdgQuXMKAj6H6GPc3p3z2ip","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2592323},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./bun":{"types":"./dist/types/bun.d.ts","import":"./dist/esm/bun.js","require":"./dist/cjs/bun.js"},"./deno":{"types":"./dist/types/deno.d.ts","import":"./dist/esm/deno.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./browser":{"types":"./dist/types/browser.d.ts","import":"./dist/esm/browser.js","require":"./dist/cjs/browser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"3313878ae5db6aba8122cc8ec143f1d64e90e4a2","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.7.0_1777038108079_0.5781798247875274","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"xml-xsd-engine","version":"1.7.1","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.7.1","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-format":"dist/cjs/cli/format.js","xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"4165728c086e346ee6d09a5d2c67628e3c3e831e","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.7.1.tgz","fileCount":326,"integrity":"sha512-Vz6ghgSU5KUxWnGYVPODqAHVzV+5GFEGvJXOgo9JBoIkgNPX+2Nz8K3S9WNAF6sofGDcrUF275nRFdr2oYqmRg==","signatures":[{"sig":"MEUCIQCU+p8R/AqGBd8nIXraQ4HrQl91TT0AOupGdnMLzimn1QIgNeqM07bx5Z/10p23LYWXFHSvYSBNKVGGWfuDwjwnf9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2798666},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./bun":{"types":"./dist/types/bun.d.ts","import":"./dist/esm/bun.js","require":"./dist/cjs/bun.js"},"./deno":{"types":"./dist/types/deno.d.ts","import":"./dist/esm/deno.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./browser":{"types":"./dist/types/browser.d.ts","import":"./dist/esm/browser.js","require":"./dist/cjs/browser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"8a0d896a344fcc2059f0b90717a2d909cca13cc2","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.7.1_1779192725793_0.7532085767794559","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"xml-xsd-engine","version":"1.7.2","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","_id":"xml-xsd-engine@1.7.2","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"bin":{"xml-format":"dist/cjs/cli/format.js","xml-validate":"dist/cjs/cli/cli.js"},"dist":{"shasum":"b5936185a6d2621215769ad6fd73e6cbff777b1b","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.7.2.tgz","fileCount":326,"integrity":"sha512-qHGwdLDk9Mzv/bjSCpkD0Pvu52XY+pGV1bqe8QqMcLJrlnhj7Ii2a/+o/TEqVeIaGpD0HzXboA693IYAAOChYg==","signatures":[{"sig":"MEUCIG2vrwREbndL2zG4h0WG5F847X7gO9PS81CenfFPgUpeAiEAysiGqy2I8A+7bgRwefU53RROUYuaHMt+NZaW6Qi4zqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2798666},"jest":{"preset":"ts-jest","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"testEnvironment":"node","coverageDirectory":"coverage","coverageReporters":["text","lcov","html"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"]},"main":"./dist/cjs/index.js","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"},"./bun":{"types":"./dist/types/bun.d.ts","import":"./dist/esm/bun.js","require":"./dist/cjs/bun.js"},"./deno":{"types":"./dist/types/deno.d.ts","import":"./dist/esm/deno.js"},"./async":{"types":"./dist/types/io/fileUtils.d.ts","import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js"},"./cache":{"types":"./dist/types/cache/SchemaCache.d.ts","import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js"},"./stream":{"types":"./dist/types/io/XmlStreamParser.d.ts","import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js"},"./browser":{"types":"./dist/types/browser.d.ts","import":"./dist/esm/browser.js","require":"./dist/cjs/browser.js"},"./codegen":{"types":"./dist/types/codegen/index.d.ts","import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js"},"./transform":{"types":"./dist/types/transform/index.d.ts","import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js"},"./formatters":{"types":"./dist/types/validator/formatters.d.ts","import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js"}},"gitHead":"e1fef2cba5ab5e6e87c324f0bc3a37f25b678dc3","scripts":{"cli":"node dist/cjs/cli/cli.js","lint":"eslint src --ext .ts --max-warnings=100","test":"jest","build":"npm run build:cjs && npm run build:esm && npm run build:types","fix-esm":"node scripts/fix-esm-extensions.mjs","benchmark":"node dist/cjs/utils/benchmark.js","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","test:watch":"jest --watch","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","prepublishOnly":"npm run build","benchmark:compare":"npx ts-node benchmarks/comparison.ts"},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"repository":{"url":"git+https://github.com/hephesthesis/xml-xsd-engine.git","type":"git"},"_npmVersion":"10.9.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^10.0.3","ts-jest":"^29.1.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/xml-xsd-engine_1.7.2_1779193051279_0.8411677707653853","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"xml-xsd-engine","version":"1.7.3","description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","repository":{"type":"git","url":"git+https://github.com/hephesthesis/xml-xsd-engine.git"},"bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"sideEffects":false,"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/types/index.d.ts","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js","types":"./dist/types/index.d.ts"},"./browser":{"import":"./dist/esm/browser.js","require":"./dist/cjs/browser.js","types":"./dist/types/browser.d.ts"},"./deno":{"import":"./dist/esm/deno.js","types":"./dist/types/deno.d.ts"},"./bun":{"import":"./dist/esm/bun.js","require":"./dist/cjs/bun.js","types":"./dist/types/bun.d.ts"},"./async":{"import":"./dist/esm/io/fileUtils.js","require":"./dist/cjs/io/fileUtils.js","types":"./dist/types/io/fileUtils.d.ts"},"./stream":{"import":"./dist/esm/io/XmlStreamParser.js","require":"./dist/cjs/io/XmlStreamParser.js","types":"./dist/types/io/XmlStreamParser.d.ts"},"./formatters":{"import":"./dist/esm/validator/formatters.js","require":"./dist/cjs/validator/formatters.js","types":"./dist/types/validator/formatters.d.ts"},"./transform":{"import":"./dist/esm/transform/index.js","require":"./dist/cjs/transform/index.js","types":"./dist/types/transform/index.d.ts"},"./cache":{"import":"./dist/esm/cache/SchemaCache.js","require":"./dist/cjs/cache/SchemaCache.js","types":"./dist/types/cache/SchemaCache.d.ts"},"./codegen":{"import":"./dist/esm/codegen/index.js","require":"./dist/cjs/codegen/index.js","types":"./dist/types/codegen/index.d.ts"}},"bin":{"xml-validate":"dist/cjs/cli/cli.js","xml-format":"dist/cjs/cli/format.js"},"scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json && npm run fix-esm","build:types":"tsc -p tsconfig.types.json","build:watch":"tsc -p tsconfig.cjs.json --watch","fix-esm":"node scripts/fix-esm-extensions.mjs","test":"jest","test:legacy":"jest --forceExit","test:coverage":"jest --coverage","test:watch":"jest --watch","lint":"eslint src --ext .ts --max-warnings=100","benchmark":"node dist/cjs/utils/benchmark.js","benchmark:compare":"npx ts-node benchmarks/comparison.ts","cli":"node dist/cjs/cli/cli.js","test:esm":"node tests/esm-test.mjs","test:cjs":"node tests/cjs-test.cjs","test:dist":"npm run test:esm && npm run test:cjs","prepublishOnly":"npm run build && npm run test:dist"},"keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"devDependencies":{"@types/jest":"^29.5.12","@types/node":"^25.3.3","@typescript-eslint/eslint-plugin":"^8.57.0","@typescript-eslint/parser":"^8.57.0","eslint":"^10.0.3","jest":"^29.7.0","ts-jest":"^29.1.5","typescript":"^5.4.5"},"jest":{"preset":"ts-jest","testEnvironment":"node","testMatch":["**/tests/**/*.test.ts","**/__tests__/**/*.test.ts"],"collectCoverageFrom":["src/**/*.ts","!src/tests/**","!src/examples/**","!src/utils/benchmark.ts"],"coverageReporters":["text","lcov","html"],"coverageDirectory":"coverage"},"_id":"xml-xsd-engine@1.7.3","gitHead":"551554fc855abbee82611a1e6f5e9b82f9e02776","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-sjTScTy+N4B8/0Lbc+8VOxYIABe+VJCYb579/TWTWq8UIEBPpuRTS87v5DlgTCI+KZ2e/7CDlHPl4aqMKjSwrA==","shasum":"8c2cc1e8bd5c0dea89ad64c314e654334ed750df","tarball":"https://registry.npmjs.org/xml-xsd-engine/-/xml-xsd-engine-1.7.3.tgz","fileCount":326,"unpackedSize":2802602,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDF2lkKT7IoinrebXURlyxIoweCcnUO+rG4RpjyUHqbVQIgREgqte0dS2J+VJxAaqiDZ27KnsSgQ4or9exB8JYBFPQ="}]},"_npmUser":{"name":"hephesthesis","email":"rajni.sundar@gmail.com"},"directories":{},"maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xml-xsd-engine_1.7.3_1779195535743_0.5975027270360431"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T15:10:29.029Z","modified":"2026-05-19T12:58:56.080Z","1.2.0":"2026-03-11T15:10:29.314Z","1.2.1":"2026-03-12T14:01:09.951Z","1.2.2":"2026-03-12T15:45:59.324Z","1.2.3":"2026-03-13T06:18:24.811Z","1.2.4":"2026-03-13T09:21:48.648Z","1.2.5":"2026-03-13T11:44:04.482Z","1.2.6":"2026-03-13T14:20:49.631Z","1.3.0":"2026-03-29T04:52:07.910Z","1.4.0":"2026-04-15T08:50:22.947Z","1.5.0":"2026-04-15T13:52:39.575Z","1.6.0":"2026-04-15T15:25:22.152Z","1.7.0":"2026-04-24T13:41:48.303Z","1.7.1":"2026-05-19T12:12:06.038Z","1.7.2":"2026-05-19T12:17:31.515Z","1.7.3":"2026-05-19T12:58:55.965Z"},"bugs":{"url":"https://github.com/hephesthesis/xml-xsd-engine/issues"},"author":{"name":"Sundarrajan K | hephesthesis"},"license":"MIT","homepage":"https://github.com/hephesthesis/xml-xsd-engine#readme","keywords":["xml","xsd","schema","validator","parser","zero-dependency","typescript","esm","streaming","cli"],"repository":{"type":"git","url":"git+https://github.com/hephesthesis/xml-xsd-engine.git"},"description":"Zero-dependency XML parser, XSD parser, schema model and validation engine written in TypeScript","maintainers":[{"name":"hephesthesis","email":"rajni.sundar@gmail.com"}],"readme":"# xml-xsd-engine\n\n> Fast, zero-dependency XML + XSD validation engine for Node.js and browsers — written in TypeScript from scratch.\n\n[![CI](https://github.com/hephesthesis/xml-xsd-engine/actions/workflows/ci.yml/badge.svg)](https://github.com/hephesthesis/xml-xsd-engine/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/xml-xsd-engine.svg)](https://www.npmjs.com/package/xml-xsd-engine)\n[![npm downloads](https://img.shields.io/npm/dm/xml-xsd-engine.svg)](https://www.npmjs.com/package/xml-xsd-engine)\n[![Tests](https://img.shields.io/badge/tests-2276%20passing-brightgreen.svg)](./docs/TESTING.md)\n[![Coverage: statements](https://img.shields.io/badge/coverage%20stmts-87%25-green.svg)](./docs/TESTING.md)\n[![Coverage: lines](https://img.shields.io/badge/coverage%20lines-89%25-green.svg)](./docs/TESTING.md)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\n```\n✔ XML parser  (DOM + SAX + Streaming)       ✔ XSD schema validation\n✔ XPath 1.0 engine (compiled, two-tier LRU) ✔ XPath 2.0 functions (22)\n✔ XML ↔ JSON transforms                     ✔ XSLT-lite transformations\n✔ Schema cache (LRU + TTL + content-hash)   ✔ Batch validation (concurrent)\n✔ XSD → TypeScript codegen (streaming)      ✔ XSD → JSON Schema Draft 7 (streaming)\n✔ CLI  xml-validate + xml-format            ✔ Secure by default (XXE-safe)\n✔ Namespace Engine                          ✔ Validation Pipeline (7 stages)\n✔ Strict / Lax / Recover modes              ✔ Profiling hooks (per-stage)\n✔ Schema Compiler (type resolution)         ✔ Schema Preflight (self-consistency)\n✔ Identity Constraints (xs:key/unique/keyref) ✔ xs:assert XPath 1.0 lite\n✔ SAX Instrumentation                       ✔ Source-mapped errors (line/col)\n✔ SHA-256 content-hash cache keying         ✔ DTD internal entity expansion\n✔ xml:id / xml:base processing              ✔ xs:list / xs:union hardening\n✔ XML diff (diffXml)                        ✔ Schema inference (inferSchema)\n✔ Fragment / subtree validation             ✔ Encoding support (ISO-8859-1, ...)\n✔ PSVI annotations — typed output (v1.7)    ✔ Canonical XML C14N 1.0 (v1.7)\n✔ xs:redefine support (v1.7)               ✔ Mixed content model fix (v1.7)\n✔ SchemaMerger — unified import/include (v1.7) ✔ XPath cache control (v1.7)\n✔ Browser / Deno / Bun entry points         ✔ Tree-shaking (sideEffects:false)\n```\n\n---\n\n## Quick Start\n\n```bash\nnpm install xml-xsd-engine\n```\n\n```ts\nimport { parseXml, parseXsd, validate } from 'xml-xsd-engine';\n\nconst xml = `<book><title>Dune</title></book>`;\n\nconst xsd = `\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n  <xs:element name=\"book\">\n    <xs:complexType>\n      <xs:sequence>\n        <xs:element name=\"title\" type=\"xs:string\"/>\n      </xs:sequence>\n    </xs:complexType>\n  </xs:element>\n</xs:schema>`;\n\nconst result = validate(parseXml(xml), parseXsd(xsd));\nconsole.log(result.valid);   // true\nconsole.log(result.errorCount); // 0\n```\n\n→ **[Full quick-start recipes](./docs/QUICK-START.md)**\n\n---\n\n## Why this library?\n\nMost JavaScript XML libraries only parse XML. `xml-xsd-engine` is a **complete XML processing stack** in a single zero-dependency package:\n\n| Feature | xml-xsd-engine | fast-xml-parser | xml2js | xmldom |\n|---------|:-:|:-:|:-:|:-:|\n| XML parsing (DOM) | ✅ | ✅ | ✅ | ✅ |\n| SAX / event streaming | ✅ | ✅ | ✅ | ✅ |\n| XPath queries (compiled, cached) | ✅ | ❌ | ❌ | ✅ |\n| XSD schema validation | ✅ | ❌ | ❌ | ❌ |\n| XML ↔ JSON transforms | ✅ | ✅ | ✅ | ❌ |\n| XSLT transformations | ✅ | ❌ | ❌ | ❌ |\n| XSD → TypeScript codegen | ✅ | ❌ | ❌ | ❌ |\n| XSD → JSON Schema Draft 7 | ✅ | ❌ | ❌ | ❌ |\n| Namespace Engine | ✅ | ❌ | ❌ | ✅ |\n| Validation Pipeline (7 stages) | ✅ | ❌ | ❌ | ❌ |\n| Strict / Lax / Recover modes | ✅ | ❌ | ❌ | ❌ |\n| Structured error codes | ✅ | ❌ | ❌ | ❌ |\n| Source-mapped errors (line/col) | ✅ | ❌ | ❌ | ❌ |\n| Identity constraints (xs:key/unique/keyref) | ✅ | ❌ | ❌ | ❌ |\n| Schema Preflight | ✅ | ❌ | ❌ | ❌ |\n| XML diff (diffXml) | ✅ | ❌ | ❌ | ❌ |\n| Schema inference | ✅ | ❌ | ❌ | ❌ |\n| **PSVI typed output** *(v1.7)* | ✅ | ❌ | ❌ | ❌ |\n| **Canonical XML / C14N** *(v1.7)* | ✅ | ❌ | ❌ | ❌ |\n| **xs:redefine support** *(v1.7)* | ✅ | ❌ | ❌ | ❌ |\n| **Streaming code generation** *(v1.7)* | ✅ | ❌ | ❌ | ❌ |\n| Browser / Deno / Bun entry points | ✅ | ❌ | ❌ | ❌ |\n| TypeScript-first | ✅ | ✅ | ⚠️ | ⚠️ |\n| Zero runtime deps | ✅ | ✅ | ❌ | ❌ |\n| XXE safe by default | ✅ | ⚠️ | ⚠️ | ⚠️ |\n\n---\n\n## Installation\n\n```bash\nnpm install xml-xsd-engine\n# or\nyarn add xml-xsd-engine\npnpm add xml-xsd-engine\n```\n\n**Requirements:** Node.js ≥ 18 · ESM or CommonJS · Zero runtime dependencies\n\n---\n\n## Core Features\n\n### Parse XML\n\n```ts\nimport { parseXml } from 'xml-xsd-engine';\n\nconst doc = parseXml('<catalog><book id=\"1\"><title>Dune</title></book></catalog>');\ndoc.root?.tagName;                                // 'catalog'\ndoc.root?.childElements[0].getAttribute('id');   // '1'\ndoc.root?.childElements[0].childElements[0].textContent; // 'Dune'\n```\n\n### Validate against XSD\n\n```ts\nimport { validate } from 'xml-xsd-engine';\n\nconst result = validate(parseXml(xml), parseXsd(xsd));\nconsole.log(result.valid);          // true | false\nconsole.log(result.errorCount);     // number\nresult.issues.forEach(e =>\n  console.error(`${e.path} @${e.line}:${e.col}  [${e.code}]  ${e.message}`)\n);\n```\n\n### Validation Pipeline (7 stages)\n\n```ts\nimport { runPipeline, ValidationPipeline } from 'xml-xsd-engine';\n\n// Convenience function\nconst pipe = runPipeline(xmlString, schema, { profile: true, psvi: true });\nconsole.log('totalMs:', pipe.totalMs);\npipe.stages.forEach(s =>\n  console.log(`  ${s.name}: ${s.success ? '✓' : '✗'}  ${s.durationMs.toFixed(2)}ms`)\n);\n\n// Reusable pipeline (compile schema once)\nconst pipeline = new ValidationPipeline(schema, { mode: 'lax', recover: true });\npipeline.precompileSchema();    // cached after first call\nconst r = pipeline.run(xmlString);\n```\n\n### Strict / Lax / Recover modes\n\n```ts\n// strict (default) — unknown elements/attributes are hard errors\nconst strict = validate(doc, schema, { mode: 'strict' });\n\n// lax — unknown elements produce warnings instead of errors\nconst lax = validate(doc, schema, { mode: 'lax' });\n\n// recover — continue past structural errors to collect all issues\nconst all = validate(doc, schema, { recover: true, collectAll: true });\n```\n\n### PSVI — Typed Validation Output *(v1.7)*\n\n```ts\nimport { validate, extractPsvi } from 'xml-xsd-engine';\n\nconst result = validate(doc, schema, { psvi: true });\n\n// Convert WeakMap → serialisable path→annotation map\nconst annotated = extractPsvi(result.psvi!, doc);\nfor (const [path, ann] of annotated) {\n  console.log(path, ann.xsdType, ann.validity, ann.normalizedValue);\n}\n// /catalog            xs:anyType  valid  null\n// /catalog/item[1]    ItemType    valid  null\n// /catalog/item[1]/id xs:string   valid  '001'\n```\n\n### Canonical XML *(v1.7)*\n\n```ts\nimport { canonicalize, clearCanonicalCache } from 'xml-xsd-engine';\n\nconst c14n = canonicalize(doc);                           // inclusive C14N 1.0\nconst exc  = canonicalize(doc, { mode: 'exclusive' });  // exclusive (WS-Security)\nconst cmt  = canonicalize(doc, { withComments: true });  // preserve comments\nconst sub  = canonicalize(doc.root!.childElements[0]);   // subtree only\n\nclearCanonicalCache(); // invalidate subtree memo after DOM mutation\n```\n\n### XPath Engine (compiled, two-tier LRU cache)\n\n```ts\nimport { xpath, compileXPath, configureXPathCache } from 'xml-xsd-engine';\n\n// Ad-hoc queries\nconst books = xpath(doc, '//book[@lang=\"en\"]') as XmlElement[];\nconst count = xpath(doc, 'count(//book)') as number;\n\n// Compiled expressions (fastest — avoids reparse)\nconst expr = compileXPath('//book/title');\nconst titles = expr.evaluate(doc);\n\n// Tune two-tier LRU cache (default: cold=512, hot=128)\nconfigureXPathCache({ coldMax: 1024, hotMax: 256 });\n```\n\n### Identity Constraints\n\n```ts\n// xs:key / xs:unique / xs:keyref evaluated automatically by ValidationEngine\nconst result = validate(doc, schema); // identity checks run in stage 6\n\n// Violations produce structured issues:\n// code: 'IDENTITY_DUPLICATE_KEY', category: 'identity'\n```\n\n### Schema Preflight\n\n```ts\nimport { validateSchema, checkSchema } from 'xml-xsd-engine';\n\n// From XSD source — catch errors at load time\nconst issues = validateSchema(xsdSource);\nconst errors  = issues.filter(i => i.severity === 'error');\nif (errors.length) throw new Error(errors.map(e => e.message).join('\\n'));\n\n// From compiled SchemaModel\nconst issues2 = checkSchema(schema);\n```\n\n### Schema Cache\n\n```ts\nimport { SchemaCache, globalSchemaCache } from 'xml-xsd-engine';\n\nconst cache = new SchemaCache({ maxSize: 50, ttlMs: 3_600_000 });\nconst schema = cache.getOrParse('my-schema', xsdSource); // compile once, ~900k ops/s on hit\ncache.invalidateByContent('my-schema', newSource);        // invalidates if hash changed\n```\n\n### XSD → TypeScript / JSON Schema\n\n```ts\nimport { generateTypeScript, generateJsonSchema,\n         generateTypeScriptStream, generateJsonSchemaStream } from 'xml-xsd-engine';\n\n// Synchronous\nconst ts = generateTypeScript(schema, { typePrefix: 'I', exportAll: true });\nconst jsonSchema = generateJsonSchema(schema, { useDefinitions: true });\n\n// Streaming — ≈4 KB chunks, no peak memory spike on large schemas (v1.7)\nfor await (const chunk of generateTypeScriptStream(schema)) outputStream.write(chunk);\nfor await (const chunk of generateJsonSchemaStream(schema)) outputStream.write(chunk);\n```\n\n### XML Diff\n\n```ts\nimport { diffXml } from 'xml-xsd-engine';\n\nconst changes = diffXml(doc1, doc2, { ignoreWhitespace: true });\n// [{ type: 'modified', path: '/items/item[1]' },\n//  { type: 'added',    path: '/items/item[2]' }]\n```\n\n### Schema Inference\n\n```ts\nimport { inferSchema } from 'xml-xsd-engine';\n\nconst { model, toXsdString } = inferSchema([doc1, doc2], {\n  targetNamespace: 'http://example.com',\n  inferSimpleTypes: true,\n  inferRequired: true,\n});\nconsole.log(toXsdString()); // valid xs:schema document\n```\n\n### Fragment & Subtree Validation\n\n```ts\nimport { validateFragment, validateSubtree } from 'xml-xsd-engine';\n\nconst r1 = validateFragment('<price currency=\"USD\">19.99</price>', schema);\nconst r2 = validateSubtree(element, schema, { rootType: 'PriceType' });\n```\n\n### Batch Validation\n\n```ts\nimport { BatchValidator } from 'xml-xsd-engine';\n\nconst report = await new BatchValidator('schema.xsd', { concurrency: 8 })\n  .validateFiles(['a.xml', 'b.xml', 'c.xml']);\nconsole.log(report.passed, '/', report.total, 'in', report.durationMs, 'ms');\n```\n\n### SAX Parser (O(depth) memory)\n\n```ts\nimport { parseSax } from 'xml-xsd-engine';\n\nparseSax(xml, {\n  startElement: e => console.log('open',  e.event.localName, e.event.namespaceURI),\n  endElement:   e => console.log('close', e.event.localName),\n  text:         e => console.log('text',  e.value),\n});\n```\n\n### SAX Instrumentation\n\n```ts\nimport { SaxInstrumentation } from 'xml-xsd-engine';\n\nconst instr = new SaxInstrumentation();\ninstr.onElementStart = ({ path, localName, depth, line, col }) =>\n  console.log(`depth=${depth}  path=${path}  @${line}:${col}`);\ninstr.parse(xml);\n```\n\n### XML ↔ JSON\n\n```ts\nimport { xmlToJson, jsonToXmlString } from 'xml-xsd-engine';\n\nconst obj = xmlToJson(doc, { attributePrefix: '@', collapseText: true });\nconst xml = jsonToXmlString({ book: { '@id': '1', title: 'Dune' } });\n```\n\n### XSLT Transformation\n\n```ts\nimport { transformXml } from 'xml-xsd-engine';\nconst result = transformXml(sourceXml, stylesheetXml);\n```\n\n### Streaming (large files)\n\n```ts\nimport { parseXmlFileStream, parseXmlStream } from 'xml-xsd-engine';\n\nconst doc = await parseXmlFileStream('./large.xml');\nconst doc2 = await parseXmlStream(nodeReadableStream);\n```\n\n### Async Schema Loader\n\n```ts\nimport { parseXsdAsync } from 'xml-xsd-engine';\n\nconst schema = await parseXsdAsync(mainXsdSource, async (location) => {\n  const res = await fetch(`https://schemas.example.com/${location}`);\n  return res.ok ? res.text() : null;\n});\n```\n\n### DTD Internal Entities\n\n```ts\nconst xml = `<!DOCTYPE root [<!ENTITY greeting \"Hello!\">]><root>&greeting;</root>`;\nparseXml(xml).root!.textContent;  // 'Hello!'\n```\n\n### xml:id / xml:base\n\n```ts\nimport { parseXml, resolveXmlBase } from 'xml-xsd-engine';\n\nconst doc = parseXml('<root><a xml:id=\"id1\" xml:base=\"http://ex.com/docs/\"/></root>');\ndoc.xmlIds.get('id1');               // → <a> element  (O(1) lookup)\nresolveXmlBase('http://ex.com/docs/', '../images/logo.png');\n// → 'http://ex.com/images/logo.png'\n```\n\n### XPath 2.0 Functions\n\n```ts\nimport { upperCase, lowerCase, matchesXPath, tokenize,\n         distinctValues, avg, stringJoin } from 'xml-xsd-engine';\n\nupperCase('hello');              // 'HELLO'\nmatchesXPath('foo123', '\\\\d+'); // true\ndistinctValues([1, 2, 1, 3]);   // [1, 2, 3]\ntokenize('a b c', ' ');         // ['a', 'b', 'c']\navg([1, 2, 3]);                 // 2\n```\n\n### SHA-256 Utilities\n\n```ts\nimport { sha256Hex, sha256Short } from 'xml-xsd-engine';\n\nsha256Hex('hello');    // 64-char hex SHA-256\nsha256Short('hello');  // first 16 chars (for cache keys)\n```\n\n### Platform Entry Points\n\n```ts\n// Browser / Cloudflare Workers / WASM (no fs/path)\nimport { parseXml, validate } from 'xml-xsd-engine/browser';\n\n// Deno\nimport { parseXml, denoReadXmlFile } from 'xml-xsd-engine/deno';\n\n// Bun\nimport { parseXml, bunReadXmlFile } from 'xml-xsd-engine/bun';\n```\n\n### Profiling\n\n```ts\nconst result = runPipeline(xmlSource, schema, {\n  profile: true,\n  onProfile: (e) => console.log(e.stage, e.durationMs),\n});\nresult.stages.forEach(s => console.log(s.name, s.durationMs));\n```\n\n---\n\n## CLI\n\n### `xml-validate`\n\n```bash\n# Basic validation\nxml-validate document.xml schema.xsd\n\n# Multiple files with glob\nxml-validate data/*.xml schema.xsd --format compact\n\n# Output formats: text (default), compact, json, github, junit\nxml-validate document.xml schema.xsd --format json\nxml-validate document.xml schema.xsd --format junit --output results.xml\nxml-validate document.xml schema.xsd --format github   # GitHub Actions annotations\n\n# Validation modes\nxml-validate document.xml schema.xsd --lax         # allow unknown elements\nxml-validate document.xml schema.xsd --recover     # collect all errors\n\n# Well-formedness only (no schema)\nxml-validate --well-formed document.xml\n\n# Watch mode (re-validates on file change, 200ms debounce)\nxml-validate --watch document.xml schema.xsd\n\n# Show source code frame around errors\nxml-validate document.xml schema.xsd --code-frame\n\n# Silent (exit code only)\nxml-validate document.xml schema.xsd --silent && echo \"OK\"\n```\n\n**Exit codes:** `0` valid · `1` validation errors · `2` parse error · `3` file not found\n\n### `xml-format`\n\n```bash\nxml-format document.xml                        # pretty-print to stdout\nxml-format document.xml --indent 4            # 4-space indent\nxml-format document.xml --declaration         # add <?xml ...?> declaration\nxml-format document.xml --in-place            # overwrite file\nxml-format document.xml --output formatted.xml\n```\n\n---\n\n## Architecture\n\n```\nXML string\n    │\n    ▼\nXmlLexer                 single-pass state machine, no regex, CRLF norm, line/col\n    │ token stream\n    ▼\nXmlParser / SaxParser    stack-based DOM  OR  event stream (O(depth) memory)\n    │                        └── SaxInstrumentation (path + depth + namespace)\n    ▼\nNamespaceEngine          scoped prefix→URI, O(decls) per push, default-NS\n    │\n    ▼\nValidationPipeline ──── SchemaCompilerLite ──── SchemaModel (from XsdParser)\n    │  7 stages:         (compile once)          + SchemaMerger (import/include/redefine)\n    │  parse\n    │  namespace\n    │  schema-compile\n    │  structure-validate  ──── ValidationEngine\n    │  type-validate        ──── TypeValidator (44 types + all facets)\n    │  identity-check       ──── IdentityConstraintEngine (xs:key/unique/keyref)\n    │  post-process         ──── AssertionEvaluator (xs:assert) + Psvi\n    │\n    ▼\nValidationResult\n    │\n    ├── formatResult (text/compact/json/github/junit)\n    ├── extractPsvi  (WeakMap → Map<path, PsviAnnotation>)\n    └── XmlCanonical (C14N 1.0 inclusive/exclusive)\n```\n\n→ **[Full architecture document](./docs/ARCHITECTURE.md)**\n\n---\n\n## Security\n\nBuilt-in protections — all on by default:\n\n| Threat | Protection |\n|--------|-----------|\n| XXE injection | SYSTEM/PUBLIC entity URIs never fetched |\n| Billion Laughs | Entity expansion capped at 10,000 |\n| Deep nesting DoS | maxDepth limit (default 500) |\n| Attribute flood | maxAttributes limit (default 256) |\n| Giant text node | maxTextLength limit (default 10 MB) |\n| Node count bomb | maxNodeCount limit (default 1,000,000) |\n\n```ts\nimport { parseXml } from 'xml-xsd-engine';\n\n// Custom limits for untrusted input\nconst doc = parseXml(untrustedXml, {\n  maxDepth:      100,\n  maxNodeCount:  50_000,\n  maxTextLength: 500_000,\n  maxAttributes: 64,\n});\n```\n\n→ **[Full security threat model](./docs/SECURITY.md)**\n\n---\n\n## v1.7.0 Highlights\n\n### New features\n\n| Feature | Description |\n|---------|-------------|\n| **PSVI** | Post-Schema-Validation Infoset — per-element type annotation (`xsdType`, `normalizedValue`, `validity`) |\n| **Canonical XML** | W3C C14N 1.0 — inclusive and exclusive modes, subtree canonicalization, `clearCanonicalCache()` |\n| **xs:redefine** | Load + merge a base schema, then override named components. Required for UBL, ebXML |\n| **Mixed content fix** | `mixed=\"true\"` interleaved text nodes no longer produce false-positive errors |\n| **SchemaMerger** | Centralizes xs:import/include/redefine with SHA-256 content-hash caching |\n| **XPath cache control** | `configureXPathCache()`, `xpathCacheStats()` — two-tier LRU (cold 512 + hot 128) |\n| **Streaming codegen** | `generateTypeScriptStream()` / `generateJsonSchemaStream()` — ≈4 KB chunks |\n\n### Performance improvements\n\n| Fix | Impact |\n|-----|--------|\n| XPath two-tier LRU | +24% first-expression throughput, +4× hot-tier hits |\n| Validation traversal memoization | +5% validate throughput |\n| XmlDiff fingerprint cache | +40% diff throughput |\n| Canonical XML delta saves | O(decls) per element (was O(scope)) |\n| PSVI object pool | −60% annotation heap allocation |\n| IdentityConstraintEngine pre-index | O(1) skip for constraint-free elements |\n\n### Bug fixes (critical)\n\n- **`result.valid` was always `true`** — `_errorCount` not incremented in v1.6.0. Now fixed.\n- **Canonical XML C14N spec §2.4 violation** — inclusive C14N now renders all in-scope namespaces\n- **XmlDiff false \"no change\"** — recursive fingerprints now encode child subtrees correctly\n- **xs:assert non-deterministic order** — now sorted by test string before evaluation\n\n---\n\n## Breaking Changes\n\n### v1.6.x → v1.7.0\n\nNo breaking API changes. v1.7.0 is fully backward-compatible.\n\n**Behavior changes (bug fixes):**\n\n| Area | Change |\n|------|--------|\n| `result.valid` | Was always `true` in v1.6.0. Now accurately reflects whether errors occurred. |\n| Canonical XML | Inclusive C14N output may differ for documents with inherited namespace scopes (now spec-correct). |\n| XmlDiff | May detect more changes in documents that were previously reported as identical. |\n| xs:assert | Errors emitted in deterministic order (sorted by test string). |\n\n### v1.5.x → v1.6.0\n\nNo breaking changes. Added: XML diff, schema inference, fragment validation, encoding support, source-mapped errors.\n\n### v1.4.x → v1.5.0\n\n| Change | Migration |\n|--------|-----------|\n| `StartElementEvent.nsDeclarations` new required field | Add `nsDeclarations: new Map()` if constructing manually |\n| Three new `XmlErrorCode` values | Add cases to exhaustive `switch(err.code)` blocks |\n\n### v1.3.x → v1.4.0\n\n| Change | Migration |\n|--------|-----------|\n| `ValidationResult.summary` shape changed | Replace `.summary.errors` → `.summary.errorCount` |\n| Strict mode is now the default | Set `mode: 'lax'` if documents have undeclared elements |\n\n→ **[Full migration guide](./docs/MIGRATION.md)**\n\n---\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [Quick Start](./docs/QUICK-START.md) | 10 common recipes in 5 minutes |\n| [Usage Guide](./docs/GUIDE.md) | Full recipes for every feature |\n| [Feature Reference](./docs/FEATURES.md) | All 49 features from v1.0–v1.7.0 |\n| [API Reference](./docs/API.md) | Complete export reference |\n| [Architecture](./docs/ARCHITECTURE.md) | Internal design + data flow |\n| [Error Codes](./docs/ERRORS.md) | All `XmlErrorCode` values by category |\n| [Migration Guide](./docs/MIGRATION.md) | Upgrading between versions |\n| [Testing Guide](./docs/TESTING.md) | Test structure, coverage, how to write tests |\n| [Performance Guide](./docs/PERFORMANCE.md) | Baselines, tuning, benchmarks |\n| [CLI Reference](./docs/CLI.md) | xml-validate and xml-format flags |\n| [Security Policy](./docs/SECURITY.md) | Threat model + secure defaults |\n| [Compatibility](./docs/COMPATIBILITY.md) | Runtime matrix, XSD compliance table |\n| [Roadmap](./docs/ROADMAP.md) | Planned features + good-to-have list |\n| [Completed Features](./docs/ROADMAP-COMPLETED.md) | What shipped in v1.0–v1.7.0 |\n| [Issues Tracker](./docs/ISSUES.md) | P0–P3 issues resolved in v1.7.0 |\n| [Changelog](./CHANGELOG.md) | Version history |\n\n---\n\n## Examples\n\nRunnable TypeScript examples in [`examples/`](./examples/README.md):\n\n| Example | What it shows |\n|---------|---------------|\n| [`01-basic-parse`](./examples/01-basic-parse/) | DOM navigation, XPath, serialization |\n| [`02-xsd-validation`](./examples/02-xsd-validation/) | Schema validation, error handling |\n| [`03-streaming-parser`](./examples/03-streaming-parser/) | SAX push/pull API, file streaming |\n| [`04-xml-to-json`](./examples/04-xml-to-json/) | xmlToJson, jsonToXml, round-trip |\n| [`05-xslt-transform`](./examples/05-xslt-transform/) | transformXml, sort, filter, AVTs |\n| [`06-cli-validation`](./examples/06-cli-validation/) | All CLI flags + programmatic equivalents |\n| [`07-sax-instrumentation`](./examples/07-sax-instrumentation/) | SaxInstrumentation, path tracking, error recovery |\n| [`08-schema-preflight`](./examples/08-schema-preflight/) | validateSchema, checkSchema, filtering issues |\n| [`09-dtd-entities`](./examples/09-dtd-entities/) | DTD entity expansion, expandDtdEntities option |\n| [`10-xml-id-base`](./examples/10-xml-id-base/) | xml:id uniqueness, xml:base propagation |\n| [`11-xs-assert`](./examples/11-xs-assert/) | AssertionEvaluator, xs:assert in XSD |\n| [`12-schema-cache-hash`](./examples/12-schema-cache-hash/) | Content-hash keying, invalidateByContent |\n\n```bash\nnpx ts-node examples/01-basic-parse/index.ts\n```\n\n---\n\n## Roadmap\n\n| Version  | Focus | Status |\n|----------|-------|--------|\n| v1.2     | XML↔JSON, XSLT-lite, Schema Cache, Batch Validation | ✅ Released |\n| v1.3     | Code generation (TS + JSON Schema), async loader, --watch, --code-frame | ✅ Released |\n| v1.4     | Namespace Engine, Validation Pipeline, Schema Compiler, compiled XPath, xml-format, strict/lax/recover/profile | ✅ Released |\n| v1.5     | Browser/Deno/Bun, SAX Instrumentation, Schema Preflight, Identity Constraints, xs:assert, XPath 2.0, SHA-256, DTD, xml:id/xml:base | ✅ Released |\n| v1.6     | Source-mapped errors, XML diff, Schema inference, Encoding, Fragment validation | ✅ Released |\n| **v1.7** | **PSVI, Canonical XML C14N, xs:redefine, Mixed content fix, SchemaMerger, XPath cache control, streaming codegen, 15 performance fixes, 1 critical bug fix** | ✅ **Released (2026-04-20)** |\n| v1.7     | Streaming validation (SAX→validator, no DOM required), DFA content-model | 🔜 Planned |\n| v2.0     | Streaming-first architecture, full DFA compilation, full XSD 1.0 compliance | 🔜 Planned |\n\n→ **[Full roadmap](./docs/ROADMAP.md)** — including good-to-have features and community requests\n\n---\n\n## Contributing\n\nContributions are welcome!\n\n- 🐛 [Report a bug](./.github/ISSUE_TEMPLATE/bug_report.md)\n- 💡 [Request a feature](./.github/ISSUE_TEMPLATE/feature_request.md)\n- 🔧 [Read CONTRIBUTING.md](./CONTRIBUTING.md)\n\nAll PRs run through CI (build + 2276 tests + ESLint + TypeScript strict check).\n\nCurrent coverage: **stmts 87.11%** · **branches 76.28%** · **functions 77.42%** · **lines 89.33%**\n\nRun `npm run test:coverage` to see the full per-file breakdown.\n\n---\n\n## License\n\n[MIT](./LICENSE) © 2024–2026 xml-xsd-engine contributors\n","readmeFilename":"README.md"}