mmh....
"Peter Flynn" <peter.nosp@m.silmaril.ie> wrote in message
news:4ljp24F29tqbU1@individual.net...
> Lloyd Dupont wrote:
>>>> I don't want to valid the DTD because there is no network and the XML
>>>> reader doesn't want to read the XML document because the DTD is not
>>>> validated...
> [me]
>>> Just cut out the DocType Declaration before the file gets processed
>>> (ie pass it through a filter of some kind, like sed).
> [lloyd]
>> I had avoid that if I could.
>> That makes it forgetfulness prone. Our Mac developer edit the fil with
>> the PList editor which puts that in. Every time they edit a file I will
>> have to go after them...
>
> OK, I thought this might be an automated process.
>
> [me]
>>> Or filter it so that the SYSTEM Identifier resolves to a local file,
>>> and keep a copy of the DTD at that filename.
> [lloyd]
>> that's interesting! how do I do that?
>
> sed -e "s+http://www.apple.com+file:///some/directory+" old.xml >new.xml
>
> This leaves you with output that starts like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
> "/some/directory/DTDs/PropertyList-1.0.dtd">
> <plist version="1.0">
> <dict>
>
> All you need to do is make sure you have a directory in the relevant place
> in your tree called /some/directory/DTDs, and in it a copy of the
> PropertyList-1.0.dtd file (which you get from Apple; plus any ancillary
> files it references).
>
> Now when you edit/process the document, it will validate against the
> local copy. You can replace /some/directory with whatever is suitable for
> your system.
>
> sed is available for Microsoft systems both with and without Cygwin
> support, I believe.
>
> ///Peter
> --
> XML FAQ:
http://xml.silmaril.ie/