Package: cnxml
CNXML LibraryThis is a python library for working with CNXML content, which includes the CNXML and COLLXML formats.InstallThis library requires Python >=3.5.Install using:pip install -e "."TestsUse the tox to run the tests:toxIf tox is not installed, run the following:pip install toxEdit/Validate files usingatom.ioPreparationInstallhttps://atom.ioGet the cnxml RNG Schema filesDownload the most recent version fromhttps://github.com/Connexions/cnxml/releases(click the “zip” link)It should be in your Download folerMove it to ~/.neb/Unzip the fileIt should have created a folder named something likecnxml-2.0.0(with/cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rngin it)Rename the folder to be something you are unlikely to accidentally delete (likecnxml-validation)Remember the name for later when you are editing~/.atom/config.csonInstallStart up AtomInstall thelinter-autocomplete-jingpackageType <kbd>⌘</kbd>+<kbd>,</kbd> (for Mac) to open Settings (or clickAtom,Preferences…in the menu bar)ClickInstallin the left-hand-sideEnterlinter-autocomplete-jingand clickInstallAlternative:runapm install linter-autocomplete-jingfrom the commandlineEdit~/.atom/config.csonby clickingAtom,Configin the menu bar and add the following lines (at the bottom of this document)Restart AtomOpen an unzipped complete-zip. (I runatom ~/Downloads/col1234_completeFrom a terminal)Verify by opening anindex.cnxmlfile and typing in<figure>somewhere in the file. If it is a valid location then it should auto-addid=””for youChanges 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: "~/.neb/cnxml-validation/cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng"
            }
          ]
      }
    ]LicenseThis 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 UniversityChange Log3.1.9Add structured parsing of licenses (#56)Ensure that https is acceptable in license urls (#57)3.1.6Fix derived metadata validation error (#49)3.1.5Require md:language for collxml but not cnxml (#39)3.1.4Make module titles in collection optional (#35)3.1.3Support using document title once it is removed from metadata (#33)Remove some metadata unused by git storage (#32)3.1.2Update schema and add support for slug in metadata (#30)3.1.1Add support for new optional metadata (#28)3.1.0Relax required information when parsing metadata (#25)3.0.1Re-release of 3.0.03.0.0Add tests for cnxml <md:derived-from …> validationFix failing derived-from cnxml validation testsUse a self-closing md:derived-from as the valid reprMove the metadata parsing fromPressto cnxml (#20)Add a CLI utility for extracting cnxml metadata to json (#22)2.2.0Extend validation API to accept multiple documents to validate2.1.1Tweak mdml schema to properly allow any metadata element under derived-from2.1.0Remove external pathlib dependencyDrop support for Python <= 2.7Use versioneer for project versioningCorrect license in setup.pyAdd instructions to validate with the atom.io editor2.0.0Add a commandline interface for collxml validationRename main cli function to make room for another entrypointMake the metadata section required in collxmlAdd collxml validation function1.1.0Use a namedtuple for validation error line data.1.0.0Initial release.