Skip to main content

isaac-xml-validator

This repo contains:

Using the Website

You can view the website here.

Usage in VSCode and Other IDEs

Most people create Binding of Isaac mods (and other software) using VSCode, which is a very nice text editor / IDE.

If you make a typo (or some other error) in your XML file, you can get VSCode to automatically show you the error with a little red squiggly line, which is really helpful. This is accomplished by specifying a link to the corresponding schema at the top of the file.

First, make sure that you have the XML extension by Red Hat installed. Next, add the following to the top of your XML file:

<?xml-model href="https://wofsauge.github.io/isaac-xml-validator/xsd/[NAME OF THE FILE].xsd" ?>

For example, this is how it would look for a "babies.xml" file:

<?xml-model href="https://wofsauge.github.io/isaac-xml-validator/xsd/babies.xsd" ?>
<babies root="gfx/Characters/Player2/">
  <baby id="0" name="Spider Baby" skin="000_Baby_Spider.png" />
  <baby id="1" name="Love Baby" skin="001_Baby_Love.pngz" /> <!-- shows an error, because the "skin" attribute doesn't contain a .png file, but a .pngz-->
  <baby id="2" name="Bloat Baby" skin="002_Baby_Bloat.png" />
</babies>

Note that by default, the XML extension caches the XSD files in the following location:

C:\Users\%USERNAME%\.lemminx\cache\https\wofsauge.github.io\isaac-xml-validator

You can remove this directory if you want to purge the cache to download any potentially updated XSD files.

Using the Python Script

The tool is published to PyPI, so you can install it via:

pip install isaac-xml-validator

Then, you can run it via:

isaac-xml-validator

By default, it will recursively scan for all XML files in the current working directory.

You will likely want to set up your repository so that the script runs in CI (e.g. GitHub Actions).

Usage in GitHub Actions

For most users, you will probably want to manually integrate the Python script into your existing lint routine. Alternatively, you can use a GitHub action that automatically invokes the script.

Usage with Docker

For most users, you will probably want to manually integrate the Python script into your existing lint routine. Alternatively, you can use a Docker Image that contains the script and its dependencies.

Creating New XSD Files

If you need to create new XSD files, you can import our common XML schema like this:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsisaac="https://wofsauge.github.io/isaac-xml-validator">
  <xs:import schemaLocation="https://wofsauge.github.io/isaac-xml-validator/xsd/isaacTypes.xsd" namespace="https://wofsauge.github.io/isaac-xml-validator" />
  <xs:element name="Test">
    <xs:complexType>
      <xs:attribute name="root" type="xsisaac:pngFile" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Metadata

Release files for isaac-xml-validator 1.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for isaac-xml-validator 1.16.0
File Size Uploaded Provenance Actions
isaac_xml_validator-1.16.0.tar.gz 14.8 kB Without provenance Details for isaac_xml_validator-1.16.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for isaac-xml-validator 1.16.0
File Interpreter ABI Platform Actions
isaac_xml_validator-1.16.0-py3-none-any.whl Python 3 none any Details for isaac_xml_validator-1.16.0-py3-none-any.whl

Total release size: 44.0 kB

Release files / isaac_xml_validator-1.16.0.tar.gz

Download URL isaac_xml_validator-1.16.0.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
553e66d89507e14a2f7d24807fa995e990be6590d0c7614aded2384941d8ecb2
BLAKE2b-256 checksum
How to use checksums
e320fc4f291d8afdcd7248e49d1053620b3216a31ccfa7add46ecf72f78ae074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.6

Release files / isaac_xml_validator-1.16.0-py3-none-any.whl

Download URL isaac_xml_validator-1.16.0-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03c66f5cc8702816c46ceb11d147e620bc6bbee3516919846bb283acda7ece05
BLAKE2b-256 checksum
How to use checksums
ea81925f437f81337a34028031dacae26081934987317eba3ab4e88ba9a87253
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.6

Security for isaac-xml-validator 1.16.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.16.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page