OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] RE: Formatting Processing Instructions

On 22/02/2012 20:30, David Lee wrote:
220256FDE771B74FB662165BC562CF590D44165D@CH1PRD0802MB107.namprd08.prod.outlook.com" type="cite">

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">

which I have also been known to do.

Michael Kay

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

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS