# xsd2ts **Repository Path**: lovedesign66/xsd2ts ## Basic Information - **Project Name**: xsd2ts - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-13 - **Last Updated**: 2025-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xsd2ts Tool for converting xsd files to typescript template classes #tutorial: Create an npm project(folder) with a package.json file with content: ```` { "name": "template-ts", "version": "0.1.0", "description": "generated template classes for xsd", "main": "index.js", "scripts": { "ts-gen": "ts-node ./src/generate.ts", "makelib": "tsc -p ./src/generated", "setup": "npm install" }, "repository": { "type": "github", "url": "https://github.com/path/to/repo.git" }, "author": "your name", "license": "GPL", "dependencies": { "ts-loader": "2.2.2", "ts-node": "3.3.0", "typescript": "3.9.9", "xsd2ts": "0.9.x" } } ```` Replace the value 'template-ts' for the name property by your own package name. Create a src folder inside this project folder. Create a typescript file named 'generate.ts' in this folder and add the following content: ```` import {generateTemplateClassesFromXSD} from "xsd2ts"; generateTemplateClassesFromXSD('./yourXsdFile.xsd'); ```` When dependencies must be included you can specify these as follows: ```` import {generateTemplateClassesFromXSD} from "xsd2ts"; generateTemplateClassesFromXSD('./dependency.xsd'); generateTemplateClassesFromXSD('./yourXsdFile.xsd', {libname, './dependency'}); ```` The libname should equal the namespace for this dependency to generate the right import statements You can specify a dependency for the default namespace with the third parameter when you omit this parameter it will deault to the name "xmlns" ```` import {generateTemplateClassesFromXSD} from "xsd2ts"; generateTemplateClassesFromXSD('./dependency.xsd'); generateTemplateClassesFromXSD('./yourXsdFile.xsd', {defaultns, './dependency'},defaultns); ```` Extra logging can be turned on by calling verbose() ```` import {generateTemplateClassesFromXSD,verbose} from "xsd2ts"; verbose(); generateTemplateClassesFromXSD('./dependency.xsd'); ```` Generate a folder 'src/generated' with index.ts file by executing: npm run ts-gen Compile the generated index.ts file and generate declaration file by executing: npm run makelib Then publish your npm package: npm publish Now you can use the npm lib in other npm projects by installing it: npm install --save Remark: There was an error in version 3.1: it did not emit an index.ts