Skip to content

Latest commit

 

History

History
122 lines (77 loc) · 4.22 KB

README.md

File metadata and controls

122 lines (77 loc) · 4.22 KB

CXML

release contributors status

Table of contents :

Introduction

XML DTD Validation written in C with GTK interface.

Features

  • Parse XML file and check syntax error
  • Parse external DTD file and check some of syntax error (not all)
  • Handle external DTD whit and without !DOCTYPE
  • Validate XML file with the given DTD file. Only element and attlist rules are handled

Screenshots

Here is some captures of the program :

screen_1 screen_2
screen_3 screen_4
screen_5 screen_4

XML Parsing tree

Here is a visual representation of how the program is parsing xml file in our structures :

DTD Parsing tree

Here is a visual representation of how the program is parsing dtd file in our structures :

Develop

If you want to develop on this project, you have to setup a GTK CMAKE compatible environment.

This program has been meant to be cross platform between Linux (Debian based) and Windows.

Dependencies

  • GTK 3 development library
  • gcc-8

Environment

  • Operating system : Windows or Linux (wsl, ubuntu or other debian based distribution)
  • CMAKE version: 3.16.3
  • C Standard : C99

Setting up

First of all, you have to Clone the project on MAIN branch.

Dependencies

To install all necessary dependencies on Linux, run with root privileges

install_dependencies.sh

If you are on Windows, you can follow this 🥖 French guide to setup a Clion environment : https://github.com/Nouuu/GTK-Cours-et-TP

Running

If you already know how to build cmake app, then good for you ! Otherwise follow this guide : https://cmake.org/runningcmake/

If you develop on Clion, you have nothing on this to do, it is already set up.

Clion configuration

You must set clion run configuration as following if you want to run it directly from IDE :

Get final executable

You can go here to download the final release executable (both Linux and Windows) :

https://github.com/Nouuu/CXML/releases

Final project report

This our team project report 🥖 that resume everything in that project.

XML_Rapport.pdf

Contributors

Noé LARRIEU-LACOSTE followers
Isaac OUSLIMANE followers
Audrey DI VITO followers