<?xml version="1.0" encoding="utf-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<TextFlow columnCount="3" paddingLeft="4" paddingTop="4" whiteSpaceCollapse="preserve" version="2.0.0" xmlns="http://ns.adobe.com/textLayout/2008">
<p><span>BEFORE</span></p>
<!-- -->
<!-- TEST content property RESETTING THE NUMBER, LISTSTYLETYPE AND DEFAULT -->
<!-- -->
<list listStyleType="decimal" listStylePosition="inside" paddingLeft="0">
<li><p><span>item</span></p></li>
<li><p><span>another</span></p></li>
<li><listMarkerFormat><ListMarkerFormat counterReset="ordered"/></listMarkerFormat>
<p><span>reset here to default value inside a list</span></p>
</li>
<li><p><span>and increment</span></p></li>
<li>
<listMarkerFormat><ListMarkerFormat counterReset="ordered 57"/></listMarkerFormat>
<p><span>reset here to 57 and then increment</span></p>
</li>
<li><p><span>another</span></p></li>
<li>
<listMarkerFormat><ListMarkerFormat content="counter(ordered,upperRoman)"/></listMarkerFormat>
<p><span>upper roman please</span></p>
</li>
<li>
<listMarkerFormat><ListMarkerFormat content="counter(ordered)"/></listMarkerFormat>
<p><span>another</span></p>
</li>
</list>

<!-- -->
<!-- content="none"
<!-- -->
<list listStyleType="upperRoman" paddingLeft="36" paddingRight="24" listStylePosition="outside">
<listMarkerFormat><ListMarkerFormat fontSize="16" content="none" beforeContent="XX" afterContent="YY" counterIncrement="ordered -1"/></listMarkerFormat>
<li><p><span>content none list</span></p></li>
<li><p><span>another</span></p></li>
</list>
<p><span>AFTER</span></p>

<!-- -->
<!-- COUNTDOWN LIST -->
<!-- -->
<list listStyleType="upperRoman" paddingLeft="36" paddingRight="24" listStylePosition="outside">
<listMarkerFormat><ListMarkerFormat fontSize="18" counterIncrement="ordered -1"/></listMarkerFormat>
<li>
<listMarkerFormat><ListMarkerFormat fontSize="18" counterReset="ordered 10" counterIncrement="ordered 0"/></listMarkerFormat>
<p><span>countdown list</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
<li><p><span>another</span></p></li>
</list>
<p><span>AFTER</span></p>

<p><span>BEFORE</span></p>
<list listStyleType="decimal" paddingLeft="0" listStylePosition="inside">
<listMarkerFormat><ListMarkerFormat fontSize="14" content="counters(ordered)" afterContent="&#x9;"/></listMarkerFormat>
<li>
<p><span>First</span></p>
<list paddingLeft="0">
<li>section</li>
<li>another</li>
</list>
</li>
<li>
<p><span>Second</span></p>
<list paddingLeft="0">
<li>section</li>
<li>another</li>
</list>
</li>
</list>
<p><span>AFTER</span></p>

<p><span>BEFORE</span></p>
<list listStyleType="decimal" paddingLeft="0" listStylePosition="inside">
<listMarkerFormat><ListMarkerFormat fontSize="14" content="counters(ordered,&quot;o&quot;)" afterContent="&#x9;"/></listMarkerFormat>
<li>
<p><span>First</span></p>
<list paddingLeft="0">
<li>section</li>
<li>another</li>
</list>
</li>
<li>
<p><span>Second</span></p>
<list paddingLeft="0">
<li>section</li>
<li>another</li>
</list>
</li>
</list>
<p><span>AFTER</span></p>

<p><span>BEFORE</span></p>
<list listStyleType="decimal" paddingLeft="0" listStylePosition="inside">
<listMarkerFormat><ListMarkerFormat fontSize="14" content="counters(ordered,&quot;&quot;)" afterContent="&#x9;"/></listMarkerFormat>
<li>
<p><span>First</span></p>
<list paddingLeft="0">
<li>section</li>
<li>another</li>
</list>
</li>
<li>
<p><span>Second</span></p>
<list paddingLeft="0">
<li>section</li>
<li>another</li>
</list>
</li>
</list>
<p><span>AFTER</span></p>

<p><span>BEFORE</span></p>
<list listStyleType="decimal" paddingLeft="0" listStylePosition="inside">
<listMarkerFormat><ListMarkerFormat fontSize="14" beforeContent="Chapter " content="counters(ordered,&quot;.&quot;,upperRoman)" afterContent="&#x9;"/></listMarkerFormat>
<li>
<p><span>First</span></p>
<list paddingLeft="0">
<listMarkerFormat><ListMarkerFormat fontSize="12" beforeContent="Section " content="counters(ordered,&quot;.&quot;,upperRoman)" afterContent="&#x9;"/></listMarkerFormat>
<li>section</li>
<li>another</li>
</list>
</li>
<li>
<p><span>Second</span></p>
<list paddingLeft="0">
<listMarkerFormat><ListMarkerFormat fontSize="12" beforeContent="Section " content="counters(ordered,&quot;.&quot;,upperRoman)" afterContent="&#x9;"/></listMarkerFormat>
<li>section</li>
<li>another</li>
</list>
</li>
</list>
<p><span>AFTER</span></p>

</TextFlow>
