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

  • From: "Len Bullard" <cbullard@h...>
  • To: "'Michael Kay'" <mike@s...>, <xml-dev@l...>
  • Date: Fri, 24 Feb 2012 16:57:40 -0600

the PI appears only in the raw content”

 

When convenient; when efficient, all local.   Are PIs shared past instances?

 

len

 

-----Original Message-----
From: Michael Kay [mailto:mike@s...]
Sent:
Thursday, February 23, 2012 3:30 AM
To: xml-dev@l...
Subject: Re: RE: Formatting Processing Instructions

 

On 22/02/2012 20:30, David Lee wrote:

I for one have NEVER used a PI nor have ever encountered one nor have ever found any desirable use for one.

 

I admit to occasional use of PIs. Here are some of the ways I have used them:

- metadata in XSLT test stylesheets, where I want confidence that the metadata will be thrown away by the XSLT processor. I could use a top-level data element, but that would involve declaring a namespace, and the extra namespace could in theory disturb the test.

- an alternative to entity references or numeric character references that will survive XSLT transformation without making the document DTD-invalid or schema-invalid. Doesn't work in attributes, of course.

- an instruction to the XSLT processor, like <?generate-glossary-here?>. Shouldn't this be an element? Perhaps yes; I'm doing this where I control the XSLT processing but not the schema/DTD, so it's a form of tag abuse. But it would probably be wrong to add the element to the schema/dtd, because there are really two content models here: the "raw" content and the "preprocessed" content, and the PI appears only in the raw content, while the schema describes the structure of the preprocessed content. I'm using a PI so that I can use one DTD/schema for both content models.

And I would defend it as better than using dummy content like

<div id="glossary">
  <head>#insert-glossary-here#</head>
</div>

which I have also been known to do.

Michael Kay
Saxonica



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


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