- From: Simon Pieters <simonp@opera.com>
- Date: Tue, 18 Aug 2009 11:25:31 +0200
- To: "Grosso, Paul" <pgrosso@ptc.com>, public-xml-core-wg@w3.org
Without hearing any advice from Henry on how to proceed, I've gone ahead
and produced a draft this morning based on the consensus documented in
http://www.w3.org/XML/Group/2009/06/assocss-issues.htm
http://simon.html5.org/specs/xml-stylesheet
I have included requirements on documents (not relevant to xml-stylesheet
processors) in order to make validators more useful for authors.
I have also included statements saying what the pseudo-attributes
represent, however without giving any implementation requirements.
On Thu, 16 Jul 2009 17:22:26 +0200, Grosso, Paul <pgrosso@ptc.com> wrote:
>> OK, so in the _subsequent_ discussion, we were leaning towards
>> approaching this problem differently, by appeal to contextualisation
>> in terms of where this spec. sits in the picture of XML processor and
>> application provided by the XML spec. itself.
>
> And there was followup email discussing details of the wording.
>
> But back to the actual productions, my understanding is that our
> current plan is to have a production [1] (with only one right hand
> side) and a production [1a] something like what Henry shows above.
>
> However, to respond to Simon's issue about white space, I'm thinking
> we could do something like:
>
> [1] StyleSheetPI ::= '<?xml-stylesheet' S PIBody '?>'
>
> [1a] PIBody ::= PseudoAtt (S PseudoAtt)* S?
>
> This does match a smaller set of PIs than before. In particular
> <?xml-stylesheet?> used to match production [1] but would no longer
> match my suggested production [1], and <?xml-stylesheet ?> used to
> match production [1] and [1a] as Henry writes above but would no
> longer match my suggestion productions [1] and [1a]. On the other
> hand, neither of those PIs are syntactically valid xml-stylesheet PIs
> anyway because the href pseudo-attribute is #REQUIRED, so it doesn't
> bother me that they no longer are matched by productions [1] and [1a].
I've split the productions as above but without introducing subtle syntax
changes. While it might not matter for xml-stylesheet, other
specifications using the parsing rules might want to allow PIs with zero
pseudo-attributes.
On Wed, 29 Jul 2009 16:01:52 +0200, Grosso, Paul <pgrosso@ptc.com> wrote:
> FWIW, while it's true the XML spec doesn't give details on how a
> PI is passed to the application, I note that the Infoset Rec at
> http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.pi
> says:
>
> A processing instruction information item has the following properties:
>
> 1. [target] A string representing the target part of the
> processing instruction (an XML name).
> 2. [content] A string representing the content of the processing
> instruction, excluding the target and any white space immediately
> following it. If there is no such content, the value of this
> property will be an empty string.
>
> The way we're planning to define production [1a] below appears to make
> PIBody match the [content] infoitem. This seems reasonable to me.
I've done this.
On Thu, 16 Jul 2009 18:39:23 +0200, Grosso, Paul <pgrosso@ptc.com> wrote:
>> This can be solved by using PseudoAtt? (S PseudoAtt)* S? (as I suggested
>> in the earlier email).
>
> I'm not sure. If, when parsing, you skip PseudoAtt? because it is
> optional, then the next thing you must find is S. I guess it depends
> how you read the BNF. If you read this as DTD notation, I don't
> think this would work. I'd think you need to say:
>
> PIBody ::= S |
> PseudoAtt (S PseudoAtt)* S
I don't understand what the difference is between these two.
--
Simon Pieters
Opera Software
Received on Tuesday, 18 August 2009 09:26:35 UTC