All Projects → eXist-db → eXide

eXist-db / eXide

Licence: GPL-3.0 License
A web-based XQuery IDE for eXist-db

Programming Languages

javascript
184084 projects - #8 most used programming language
XQuery
69 projects
Vim Snippet
174 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to eXide

SAF-T-AO
Official XSD from the Government of Angola for use in SAF-T AO
Stars: ✭ 42 (+7.69%)
Mutual labels:  xml
ph-commons
Java 1.8+ Library with tons of utility classes required in all projects
Stars: ✭ 23 (-41.03%)
Mutual labels:  xml
cti-stix-elevator
OASIS Cyber Threat Intelligence (CTI) TC Open Repository: Convert STIX 1.2 XML to STIX 2.x JSON
Stars: ✭ 42 (+7.69%)
Mutual labels:  xml
xml2json
Xml To Json
Stars: ✭ 32 (-17.95%)
Mutual labels:  xml
GDX-HTML
using HTML + CSS + JS to build libGDX UI!
Stars: ✭ 21 (-46.15%)
Mutual labels:  xml
pdf2xml-viewer
A simple viewer and inspection tool for text boxes in PDF documents
Stars: ✭ 82 (+110.26%)
Mutual labels:  xml
asl
A C++ cross-platform library including JSON, XML, HTTP, Sockets, WebSockets, threads, processes, logs, file system, CSV, INI files, etc.
Stars: ✭ 44 (+12.82%)
Mutual labels:  xml
ofxgo
Golang library for querying and parsing OFX
Stars: ✭ 96 (+146.15%)
Mutual labels:  xml
xspec
XSpec is a unit test and behaviour-driven development (BDD) framework for XSLT, XQuery, and Schematron.
Stars: ✭ 91 (+133.33%)
Mutual labels:  xml
FigmaConvertXib
FigmaConvertXib is a tool for exporting design elements from figma.com and generating files to a projects iOS .xib / Android .xml
Stars: ✭ 111 (+184.62%)
Mutual labels:  xml
xrechnung-schematron
Schematron rules for the German CIUS (XRechnung) of EN16931:2017
Stars: ✭ 19 (-51.28%)
Mutual labels:  xml
learn-xquery
A list of great articles, blog posts, and books for learning XQuery
Stars: ✭ 33 (-15.38%)
Mutual labels:  xml
foliapy
An extensive Python library for dealing with FoLiA (Format for Linguistic Annotation) documents, a rich XML-based format for linguistic annotation finding application in Natural Language Processing (NLP). This library was formerly part of PyNLPl.
Stars: ✭ 13 (-66.67%)
Mutual labels:  xml
MultiStateToggleButton
Android's ToggleButton offers only two states, MultiStateToggleButton fixes this by offering as many states depending on the number of drawable resources passed in.
Stars: ✭ 20 (-48.72%)
Mutual labels:  xml
SitemapTools
A sitemap (sitemap.xml) querying and parsing library for .NET
Stars: ✭ 19 (-51.28%)
Mutual labels:  xml
medialytics
A basic, free tool that shows information about Plex Media Server content
Stars: ✭ 31 (-20.51%)
Mutual labels:  xml
escpos-xml
JavaScript library that implements the thermal printer ESC / POS protocol and provides an XML interface for preparing templates for printing.
Stars: ✭ 37 (-5.13%)
Mutual labels:  xml
GPXParser.js
GPX file parser javascript library
Stars: ✭ 58 (+48.72%)
Mutual labels:  xml
xml-in
your friendly XML navigator
Stars: ✭ 61 (+56.41%)
Mutual labels:  xml
saxophone
Fast and lightweight event-driven streaming XML parser in pure JavaScript
Stars: ✭ 29 (-25.64%)
Mutual labels:  xml

eXide logo

Build Status

eXide - a web-based XQuery IDE

eXide is a web-based XQuery IDE built around the ace editor. It is tightly integrated with the eXist-db native XML database.

Features

  • XQuery function and variable completion (press Ctrl-Space or Opt-Space)
  • Outline view showing all functions and variables reachable from the current file
  • Powerful navigation (press F3 on a function call to see its declaration)
  • Templates and snippets
  • Background syntax checks for XQuery and XML
  • Database manager
  • Support for EXPath application packages: scaffolding, deployment...
  • And more ...

eXide consists of two parts:

  1. a javascript library for the client-side application
  2. a set of XQuery scripts which are called via AJAX

Note concerning eXide 3.0.0

eXide 3.0.0 removes the app generation feature as it was generating outdated code with potential security risks. We recommend the much better yeoman-based generator-exist for eXist-db.

Documentation

Dependencies

Building eXide requires git and Apache Ant.

Running tests requires npm and node.js.

Getting eXide

eXide is included in eXist-db distributions and can be opened directly at http://localhost:8080/exist/apps/eXide. It can also be opened via the Dashboard or the "Open eXide" entry in eXist-db's task or menu bar.

You can upgrade to new releases of eXide via the Dashboard app's Package Manager.

You can also build eXide from source and install it.

Building

To build eXide from scratch:

git clone git://github.com/eXist-db/eXide.git
cd eXide
git submodule update --init --recursive

Next, call npm install once:

npm install

And each time you want to build the application:

npm run build

You should now find a .xar file in the build/ directory: build/eXide-*.*.*.xar. The .xar file is an EXPath Application package containing eXide. Install this into any compatible eXist-db instance using the Dashboard's Package Manager.

Testing

We welcome contributions to help us improve both unit and integration tests. Current tests can be found in the cypress/integration folder.

eXide's GitHub repository is configured to run tests automatically on each PR via TravisCI (see .travis.yml).

To run tests locally, build and install eXide on localhost, and start the tests:

npm run cypress

If successful, the test runner should report, "All specs passed!"

Publishing

eXist-db.org Community administrators publish eXide releases by uploading the eXide .xar file to the public repo.

Releases are also published to the eXide GitHub repository's Releases page. To do so, either use the Releases page or add a tag in the form: 'vX.X.X' to the repo (where X corresponds to the semantic version number of the new release).

If you need help with a release of eXide, post a note in the eXist-db Community Slack.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].