- From: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Date: Thu, 21 Aug 2008 05:32:22 +0900
- To: Håkon Wium Lie <howcome@opera.com>
- Cc: www-style@w3.org
Håkon Wium Lie <howcome@opera.com> wrote on 2008/08/20 23:53:47
> Also sprach MURAKAMI Shinyu:
> 
>  > > Alternatively, a single 'normal' value could reset the page sequence,
>  > > i.e. remove any current page sequence.
>  > 
>  > problem:
>  > 
>  >     <table>...</table>
>  >     <table>...</table>
>  >     <p>This text is not rendered on a rotated page.</p>
>  > 
>  > The <p> has 'page: auto' (by default) and if 'auto' means 
>  > "the element continues on the page sequence already established",
>  > the <p> is rendred on a rotated page :-(
> 
> So, you want an element with "page: auto" to end the page sequence?
I assumed that the UC4 (css3-page's example) requires it.
> 
> I see some issues with that. First, the child elements with of <table>
> will also have "page: auto" and thouse should not end the page
> sequence. Second, in UC2:
> 
>   <h1>The beginning</h1>
>     <p>...
>   <h1>The end</h1>
>     <p>...
> 
> The <p> elements will also have "page: auto", but we don't want them
> to end the page sequence either.
Now I've reconsidered.
I'd like to change the meaning of the 'auto' value:
If the named page list contains 'auto' value, the next element with 
"page: auto" doesn't establish a new page sequence.
e.g.,
    table { page: rotated auto }
    <table>...</table>
    <p>This text is rendered on a rotated page.</p>
If the named page list has no 'auto' value, the next element with 
"page: auto" ends the current page sequence and starts a new page
sequence.
e.g.,
    table { page: rotated }
    <table>...</table>
    <p>This text is not rendered on a rotated page.</p>
or
    table { page: rotated-1 rotated-2 }
    <table>...</table>
    <p>This text is not rendered on a rotated page.</p>
(note that the single value and multiple value have same policy about
page sequence establishment)
I'd also like the 'page-group' property in the recent GCPM draft.
http://dev.w3.org/csswg/css3-gcpm/#page-groups
If 'page-group' has value 'auto', the element with named page list same
as of the current page sequence doesn't establish a new page sequence.
e.g.,
    table { page: rotated; page-group: auto }
    <table>...</table>
    <table>...</table>
    <p>This text is not rendered on a rotated page.</p>
(two tables are rendered on the same page if they fit.)
It solves all use cases:
UC1:
  <div class="chapter">
    <h1>The beginning</h1>
    ....
  </div>
  <div class="chapter">
    <h1>The end</h1>
    ....
  </div>
-with-
  @page chapter { 
    @top-center { content: string(title) }
  }
  @page chapter:first { 
    @top-center { content: none }
  }
  div.chapter { page: chapter; page-group: start }
  h1 { string-set: title content() }
-or-
  @page chapter { 
    @top-center { content: string(title) }
  }
  @page chapter-start { 
    @top-center { content: none }
  }
  div.chapter { page: chapter-start chapter; page-group: start }
  h1 { string-set: title content() }
UC2:
  <h1>The beginning</h1>
    ....
  <h1>The end</h1>
    ....
-with-
  @page chapter { 
    @top-center { content: string(title) }
  }
  @page chapter:first { 
    @top-center { content: none }
  }
  h1 { page: chapter auto; page-group: start;
       string-set: title content() }
-or-
  @page chapter { 
    @top-center { content: string(title) }
  }
  @page chapter-start { 
    @top-center { content: none }
  }
  h1 { page: chapter-start chapter auto; page-group: start;
       string-set: title content() }
UC3:
No change.
  @page rotated { size: landscape }
  table { page: rotated }
UC4:
No change.
    In this example, the two tables are rendered on landscape pages
    (indeed, on the same page, if they fit). The page type "narrow"
    is used for the <p> after the second table, as the page
    properties for the table element are no longer in effect:
    @page narrow { size: 9cm 18cm }
    @page rotated { size: landscape }
    div { page: narrow }
    table { page: rotated }
    with this document:
    <div>
    <table>...</table>
    <table>...</table>
    <p>This text is rendered on a 'narrow' page</p>
    </div>
-- 
Shinyu Murakami
http://www.antennahouse.com
http://www.antenna.co.jp/AHF/
Received on Wednesday, 20 August 2008 20:33:20 UTC