xml- named processing instruction eaten

I ran into a strange bug I thought I'd throw out here.

 

I grabbed the new version of Oxygen that came out today, which is now using
"xml-model" PIs for validation. In the misguided hope of being seen as cool
for having the shiniest new PIs on the block, I updated a stylesheet in
which I was adding the old "oxygen" PIs to use the new form (being too lazy
to add them manually each time). As soon as I did that, the first processing
instruction in my pipeline output got truncated to "<?xml-model?>" (calling
calabash 0.9.32 from the command line on a WinXP box, not from in Oxygen).

 

After much sniffing around, the PI loses its value after a p:exec step is
called. I dumped the output from that step directly to a file (modified the
program to dual output) and compared it to the output from the pipeline (no
additional following steps) and the raw output from the program is
unaffected by this truncation; it's only the data in the pipeline that
exhibits the behaviour. I can only reasonably assume the truncating occurs
when the data is read back, as a result, as I skipped the unwrap and the
c:result also has the PI truncated.

 

The odd thing is it only occurs if the first PI after the xml declaration
begins with "xml" (xml-model, xml-stylesheet, etc.), and only to the first
PI. If I put any non-xml named processing instruction first, the xml-* PIs
are unaffected (and neither is the leading non-xml PI).

 

Anyway, I don't know what to make of this one at this point. If anyone has
any insights, though, I'd appreciate it (back to "uncool" <?oxygen?> PIs for
me, though).

 

Matt

Received on Thursday, 19 May 2011 23:05:33 UTC