[Home] [By Thread] [By Date] [Recent Entries]

  • From: Julian Reschke <julian.reschke@g...>
  • To: ComCity <mikeb@c...>, xml-dev@l...
  • Date: Wed, 29 Aug 2001 09:23:42 +0200

> From: ComCity [mailto:mikeb@c...]
> Sent: Tuesday, August 28, 2001 11:43 PM
> To: xml-dev@l...
> Subject: How to specify a Processing Instruction?
>
>
> I need to create an MSXML document with a specific Processing Instruction
> and I'm finding it impossible to do.  First, I tried create a template XML
> document on disk that I read in and modify it.
>
> Unfortunately, the XML file opens fine when it says this at the top
> <?xml version="1.0"?>
>
> but if I change it to this, which is what I need, it won't open.
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> Why?

This will only work when the file actually *IS* encoded in ISO-8859-1. For
instance, it will fail for files encoded in UTF-8 or UTF-16.

> I can't even seem to be a way to create a new XML document by scratch (or
> one that I can find) where you can create a new processing instruction
> beyond one that contains the version only even modify an existing XML
> document where you would change the
> processing instruction.

The XML declaration isn't a processing instruction. It's a conformance bug
in MSXML to treat it this way.

> There's IXMLDOMProcessingInstruction ....
>
> Very little documentation on it, but it only allow appears to let
> you set or
> change the XML version.  I need to set the encoding as well.
>
> I need to be able to send an XML document and the processing instruction
> mus be:  <?xml version="1.0" encoding="ISO-8859-1"?>

So what you really want it is: specify the output encoding when saving the
contents of the DOM to an XML file. This is currently outside the scope of
the DOM spec (DOM level 2 doesn't treat saving at all).

As far as I know, MSXML should support setting a processing instruction with
target "xml" and value "version='1.0' encoding='ISO-8859-1'" and later will
use the encoding value when saving.


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member