🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

typesxml

Package Overview
Dependencies
Maintainers
0
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typesxml

Open source XML library written in TypeScript

1.7.0
latest
Source
npm
Version published
Weekly downloads
687
22.02%
Maintainers
0
Weekly downloads
 
Created
Source

TypesXML

Open source XML library written in TypeScript

Implements a SAX parser that exposes these methods from the ContentHandler interface:

  • initialize(): void;
  • setCatalog(catalog: Catalog): void;
  • startDocument(): void;
  • endDocument(): void;
  • xmlDeclaration(version: string, encoding: string, standalone: string): void;
  • startElement(name: string, atts: Array<XMLAttribute>): void;
  • endElement(name: string): void;
  • internalSubset(declaration: string): void;
  • characters(ch: string): void;
  • ignorableWhitespace(ch: string): void;
  • comment(ch: string): void;
  • processingInstruction(target: string, data: string): void;
  • startCDATA(): void;
  • endCDATA(): void;
  • startDTD(name: string, publicId: string, systemId: string): void;
  • endDTD(): void;
  • skippedEntity(name: string): void;

Class DOMBuilder implements the ContentHandler interface and builds a DOM tree from an XML document.

Features currently in development

  • Parsing of DTDs and internal subsets from

Limitations

  • Validation not supported yet
  • Default values for attributes are not set when parsing an element

On the Roadmap

  • Support for XML Schemas
  • Support for RelaxNG

Installation

npm install typesxml

Example

import { ContentHandler } from "./ContentHandler";
import { DOMBuilder } from "./DOMBuilder";
import { SAXParser } from "./SAXParser";
import { XMLDocument } from "./XMLDocument";
import { XMLElement } from "./XMLElement";

export class Test {

    constructor() {
        try {
            let contentHandler: ContentHandler = new DOMBuilder();
            let xmlParser = new SAXParser();
            xmlParser.setContentHandler(contentHandler);

            // build the document from a file
            xmlParser.parseFile("test.xml");
            let doc: XMLDocument = (contentHandler as DOMBuilder).getDocument();
            let root: XMLElement = doc.getRoot();
            console.log(doc.toString());

            //  build the document again, this time from a string
            xmlParser.parseString(doc.toString());
            let newDoc = (contentHandler as DOMBuilder).getDocument();
            console.log(newDoc.toString());

        } catch (error: any) {
            if (error instanceof Error) {
                console.log(error.message);
            } else {
                console.log(error);
            }
        }
    }
}

new Test();

Keywords

XML

FAQs

Package last updated on 28 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts