Giter Site home page Giter Site logo

xml_editor's Introduction

XML Editor built with Java & Scene Builder for GUI

Background

The XML editor to process xml files, users can load an XML file and choose one of multiple features from buttons in GUI. Once a file is uploaded, the program shows its contents. The user can then, choose one of the supported features.

Supported Features (for milestone 1):

  • Consistency check
  • Format/Prettify
  • Minify
  • XML to JSON
  • Compression/decompression

Consistency check

Check if the XML file is consistent, that is, all opening tags have corresponding closing tags. This check is done using Stack data structure. If the XML file is inconsistent, number of errors, and tags left in the stack are displayed to the user.

Format/Prettify

Adjust the indentation of an XML file, to make it more readable. If the file is not consistent, user cannot format it.

Minify

Since spaces and newlines (\n) are actually characters that can increase the size of an XML document. This feature should aim at decreasing the size of an XML file by deleting the whitespaces and indentations.

XML to JSON

JSON((Javascript Object Notation) is a format that is used to represent data, and it's widely used to share structures information over the web. Conversion to XML is done on three iterations:

  1. Transform the xml string into array of node objects.
  2. transforms this array into a tree of nodes.
  3. transforms the tree recursively into JSON string

Compression/Decompression

Compression using Huffman-Coding. This type of compression is done using heap (min priority queue) and tree data structure. By using variable character sizes we can compress the input file efficiently.

xml_editor's People

Contributors

osamamuhammad3623 avatar mohamedashrafz avatar mohamedasran0 avatar mahmodkhaled avatar

Watchers

 avatar

Forkers

mohamedasran0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.