Connexions CNXML Library
Project description
CNXML Library
This is a python library for working with CNXML content, which includes the CNXML and COLLXML formats.
Install
This library requires Python >=3.5.
Install using:
pip install -e "."
Tests
Use the tox to run the tests:
tox
If tox is not installed, run the following:
pip install tox
Edit/Validate files using atom.io
Preparation
Install https://atom.io
Get the cnxml RNG Schema files
Download the most recent version from https://github.com/Connexions/cnxml/releases (click the “zip” link)
It should be in your Download folder
Unzip the file
It should have created a folder named something like cnxml-2.0.0 (with /cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng in it)
Rename the folder to be something you are unlikely to accidentally delete (like cnxml-validation)
Remember the name for later when you are editing ~/.atom/config.cson
Install
Start up Atom
Install the linter-autocomplete-jing package
Type <kbd>⌘</kbd>+<kbd>,</kbd> (for Mac) to open Settings (or click Atom, Preferences… in the menu bar)
Click Install in the left-hand-side
Enter linter-autocomplete-jing and click Install
Alternative: run apm install linter-autocomplete-jing from the commandline
Edit ~/.atom/config.cson by clicking Atom, Config in the menu bar and add the following lines (at the bottom of this document)
Restart Atom
Open an unzipped complete-zip. (I run atom ~/Downloads/col1234_complete From a terminal)
Verify by opening an index.cnxml file and typing in <figure> somewhere in the file. If it is a valid location then it should auto-add id=”” for you
Changes to ~/.atom/config.cson:
"*": core: customFileTypes: # Add this to the bottom of the customFileTypes area. # Note: Indentation is important! "text.xml": [ "index.cnxml" ] # And then this to the bottom of the file # 1. Make sure "linter-autocomplete-jing" only occurs once in this file! # 1. make sure it is indented by 2 spaces just like it is in this example. "linter-autocomplete-jing": displaySchemaWarnings: true rules: [ { priority: 1 test: pathRegex: ".cnxml$" outcome: schemaProps: [ { lang: "rng" path: "~/Downloads/cnxml-validation/cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng" } ] } ]
License
This software is subject to the provisions of the GNU Affero General Public License Version 3.0 (AGPL). See license.txt for details. Copyright (c) 2016 Rice University
Change Log
2.1.0
Remove external pathlib dependency
Drop support for Python <= 2.7
Use versioneer for project versioning
Correct license in setup.py
Add instructions to validate with the atom.io editor
2.0.0
Add a commandline interface for collxml validation
Rename main cli function to make room for another entrypoint
Make the metadata section required in collxml
Add collxml validation function
1.1.0
Use a namedtuple for validation error line data.
1.0.0
Initial release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file cnxml-2.1.0-py3-none-any.whl
.
File metadata
- Download URL: cnxml-2.1.0-py3-none-any.whl
- Upload date:
- Size: 698.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e35992fa6b74ea209b6d771782f3a8237f2d21846b5c4e5b96460059c9c9c9a |
|
MD5 | 1c1b1172f33057008a82d42c1291c7f5 |
|
BLAKE2b-256 | 21c17ea3ccc478366538108e089dfc8be79a7627fa68f760155e52fa5d1dd238 |