New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InterPro DTD version #1914

Open
julie-sullivan opened this Issue Oct 15, 2018 · 2 comments

Comments

Projects
None yet
1 participant
@julie-sullivan
Member

julie-sullivan commented Oct 15, 2018

Sorry for the delayed
reply.

This may well depend on the validation tool. Does yours allow you to validate
using a local DTD? If so then interpro.dtd should be OK.

For example when downloading the interpro.xml and interpro.dtd you can then
validate using xmllint:

xmllint --noout --dtdvalid interpro.dtd interpro.xml

The ftp://ftp.ebi.ac.uk/pub/databases/interpro/interpro.dtd would point at the
latest DTD, which won't necessarily be compatible with all versions of
interpro.xml (there was a slight tweak between InterPro 66.0 and 67.0). If
"interpro.dtd" is causing problems then a suitable versioned link like
ftp://ftp.ebi.ac.uk/pub/databases/interpro/67.0/interpro.dtd is a safer option.

Should I put the DTD in the JAR after all?

@julie-sullivan julie-sullivan added the data label Oct 15, 2018

@julie-sullivan

This comment has been minimized.

Member

julie-sullivan commented Oct 15, 2018

@nauer says:

Is it possible to add a fixed path for the dtd in project.xml file, like

<source name="interpro" type="interpro">
        <property name="src.data.dir" location="/home/intermine/input/interpro"/>
        <property name="src.data.dtd" location="/home/intermine/input/interpro.dtd"/>
        <property name="src.data.dir.includes" value="interpro.xml"/>
 </source>

and use this for validation. From the users view I think it is the easiest way. Simply download two files.

@julie-sullivan

This comment has been minimized.

Member

julie-sullivan commented Oct 15, 2018

Let's say:

  • I put the DTD on the classpath for version 66.
  • Updates to version 67 for new data files.
  • I need to update the JAR, release a new version etc. with new DTD
  • What if NOW someone needs version 66? Version 67 is on the classpath. They'd have to what? Unzip the JAR and remove the DTD?

Specifying the DTD by the user might be the safest route. We can't really "guess" which one to use, or only use the latest one.

julie-sullivan added a commit to julie-sullivan/intermine that referenced this issue Oct 17, 2018

@julie-sullivan julie-sullivan self-assigned this Oct 17, 2018

@julie-sullivan julie-sullivan added this to the InterMine 3.0.0 milestone Oct 17, 2018

julie-sullivan added a commit that referenced this issue Dec 4, 2018

Merge pull request #1921 from julie-sullivan/interpro-dtd
if the XML does not validate, don't check for DTD. Refs #1914
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment