Menu

Using an external DTD

Help
2012-05-11
2014-04-21
  • Dean Edmonds

    Dean Edmonds - 2012-05-11

    The DTD I'm using is located on an external web-site, so I have the following in my XML file:

        <!DOCTYPE class SYSTEM "https://somewhere.com/blat.dtd">
    

    xmlcopyeditor tells me that this is using an "unsupported protocol" by which I assume that it means the "https". I doesn't seem to like plain "http" either.

    In the help it says that I can use the 'catalog' file in the 'catalog' directory to remap the association. Those instructions seem to be for Windows as there's not 'catalog' directory associated with xmlcopyeditor on Linux, but there is the system catalog /etc/xml/catalog, so I tried adding the following to that:

        <systemSuffix systemIdSuffix="blat.dtd" uri="file:///home/deane/blat.dtd"/>
    

    That didn't appear to work as xmlcopyeditor still complained about the unsupported protocol.

    I also tried each of the following:

        <systemSuffix systemIdSuffix="blat.dtd" uri="/home/deane/blat.dtd"/>
        <uriSuffix uriSuffix="/blat.dtd" uri="file:///home/deane/blat.dtd"/>
        <uriSuffix uriSuffix="/blat.dtd" uri="/home/deane/blat.dtd"/>
    

    but none of them worked either.

    How do I get xmlcopyeditor to pick up the correct dtd without hard-coding a local path into my XML file?

    Thanx.

     
  • Zane U. Ji

    Zane U. Ji - 2014-04-19

    I'm afraid that both libxml and xerces-c, the libraries which XML Copy Editor uses, don't support HTTPS protocol for the time being.

     
  • Zane U. Ji

    Zane U. Ji - 2014-04-20

    It turned out that xerces uses libcurl to support HTTPS.

     
  • Zane U. Ji

    Zane U. Ji - 2014-04-21

    The problem will be fixed in next release. [da89b9]

     

    Related

    Commit: [da89b9]


Log in to post a comment.