summaryrefslogtreecommitdiff
path: root/testautomation/xml
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation/xml')
-rw-r--r--testautomation/xml/optional/c_datapilot_pagefields.bas57
-rw-r--r--testautomation/xml/optional/c_xml_print_scale.bas55
-rw-r--r--testautomation/xml/optional/c_xml_scenario.bas54
-rw-r--r--testautomation/xml/optional/calc_xml_7_export.bas67
-rw-r--r--testautomation/xml/optional/ch_xml_japanese_candlestick.bas54
-rw-r--r--testautomation/xml/optional/docbook_losa.bas63
-rw-r--r--testautomation/xml/optional/draw_xml_7_export.bas69
-rw-r--r--testautomation/xml/optional/f_xml_save_ms_ole.bas83
-rw-r--r--testautomation/xml/optional/impress_xml_7_export.bas60
-rw-r--r--testautomation/xml/optional/includes/c_datapilot_pagefields.inc175
-rw-r--r--testautomation/xml/optional/includes/c_xml_print_scale.inc403
-rw-r--r--testautomation/xml/optional/includes/c_xml_scenario.inc433
-rw-r--r--testautomation/xml/optional/includes/ch_xml_japanese_candlestick.inc143
-rw-r--r--testautomation/xml/optional/includes/docbook_001.inc121
-rw-r--r--testautomation/xml/optional/includes/f_xml_save_ms_ole.inc251
-rw-r--r--testautomation/xml/optional/includes/sxc7_01.inc696
-rw-r--r--testautomation/xml/optional/includes/sxc7_02.inc254
-rw-r--r--testautomation/xml/optional/includes/sxc7_03.inc332
-rw-r--r--testautomation/xml/optional/includes/sxd7_01.inc634
-rw-r--r--testautomation/xml/optional/includes/sxd7_02.inc313
-rw-r--r--testautomation/xml/optional/includes/sxd7_03.inc313
-rw-r--r--testautomation/xml/optional/includes/sxd7_04.inc315
-rw-r--r--testautomation/xml/optional/includes/sxd7_05.inc259
-rw-r--r--testautomation/xml/optional/includes/sxi7_01.inc563
-rw-r--r--testautomation/xml/optional/includes/sxm7_01.inc818
-rw-r--r--testautomation/xml/optional/includes/sxw7_01.inc867
-rw-r--r--testautomation/xml/optional/includes/sxw7_01a.inc451
-rw-r--r--testautomation/xml/optional/includes/sxw7_02.inc688
-rw-r--r--testautomation/xml/optional/includes/sxw7_03.inc458
-rw-r--r--testautomation/xml/optional/includes/w_xml_vertical_alignment.inc141
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/cell_pattern.xml215
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/cellstyle.xml254
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/conditionalformat.xml583
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/dataformat.xml307
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/dataformat2.xml504
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/datarange.xml1314
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/font.xml559
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/formula.xml213
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/headerfooter.xml97
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/merge.xml126
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/pagebreak.xml154
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/pagesheet.xml140
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/rowcolumn.xml88
-rwxr-xr-xtestautomation/xml/optional/input/calc/ExcelXML/solvsamp.xml9881
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/NatNumtest.sxcbin0 -> 9548 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/alien_attributes.sxcbin0 -> 5782 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/feat906.sxcbin0 -> 7568 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/japan.sxcbin0 -> 9864 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/korean.sxcbin0 -> 7728 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot1.sxcbin0 -> 9742 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot2.sxcbin0 -> 9748 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot3.sxcbin0 -> 9744 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot4.sxcbin0 -> 9740 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/simple_c.sxcbin0 -> 10931 bytes
-rw-r--r--testautomation/xml/optional/input/calc/ooo10/trad_c.sxcbin0 -> 8791 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/cellformats1.sdcbin0 -> 59392 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/cellformats2.sdcbin0 -> 79872 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/cellformats2b.sdcbin0 -> 75264 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/cellformats3.sdcbin0 -> 57344 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/cellformats5.sdcbin0 -> 62976 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/cellformats6.sdcbin0 -> 64000 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/chart_export.sdcbin0 -> 294912 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/conditional_formatting.sdcbin0 -> 20480 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/controls01.sdcbin0 -> 42496 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/database_ranges.sdcbin0 -> 25088 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/filter_and_subtotals1.sdcbin0 -> 23552 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/filter_and_subtotals4.sdcbin0 -> 19456 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/matrixformula_and_notes.sdcbin0 -> 24064 bytes
-rwxr-xr-xtestautomation/xml/optional/input/calc/so_binary/password3.sdcbin0 -> 76800 bytes
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.001.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.002.xml50
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.003.xml52
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.004.xml49
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.005.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.006.xml48
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.007.xml61
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.008.xml52
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.009.xml46
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.010.xml45
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.011.xml44
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.012.xml36
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.013.xml29
-rwxr-xr-xtestautomation/xml/optional/input/docbook/informaltable.014.xml54
-rwxr-xr-xtestautomation/xml/optional/input/docbook/inline.001.xml27
-rwxr-xr-xtestautomation/xml/optional/input/docbook/itemizedlist.001.xml27
-rwxr-xr-xtestautomation/xml/optional/input/docbook/itemizedlist.002.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/itemizedlist.003.xml53
-rwxr-xr-xtestautomation/xml/optional/input/docbook/link.001.xml36
-rwxr-xr-xtestautomation/xml/optional/input/docbook/literallayout.001.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/literallayout.002.xml21
-rwxr-xr-xtestautomation/xml/optional/input/docbook/literallayout.003.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/lot.001.xml56
-rwxr-xr-xtestautomation/xml/optional/input/docbook/mathml.001.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/methodsynopsis.001.xml55
-rwxr-xr-xtestautomation/xml/optional/input/docbook/note.001.xml18
-rwxr-xr-xtestautomation/xml/optional/input/docbook/olink.001.xml22
-rwxr-xr-xtestautomation/xml/optional/input/docbook/orderedlist.001.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/orderedlist.002.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/procedure.001.xml44
-rwxr-xr-xtestautomation/xml/optional/input/docbook/procedure.003.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/productionset.001.xml66
-rwxr-xr-xtestautomation/xml/optional/input/docbook/productionset.002.xml27
-rwxr-xr-xtestautomation/xml/optional/input/docbook/productionset.003.xml30
-rwxr-xr-xtestautomation/xml/optional/input/docbook/productionset.004.xml53
-rwxr-xr-xtestautomation/xml/optional/input/docbook/productionset.005.xml89
-rwxr-xr-xtestautomation/xml/optional/input/docbook/programlisting.001.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/programlisting.002.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/programlisting.003.xml45
-rwxr-xr-xtestautomation/xml/optional/input/docbook/programlistingco.001.xml78
-rwxr-xr-xtestautomation/xml/optional/input/docbook/programlistingco.002.xml34
-rwxr-xr-xtestautomation/xml/optional/input/docbook/qandaset.001.xml45
-rwxr-xr-xtestautomation/xml/optional/input/docbook/qandaset.002.xml35
-rwxr-xr-xtestautomation/xml/optional/input/docbook/qandaset.003.xml92
-rwxr-xr-xtestautomation/xml/optional/input/docbook/refentry.001.xml25
-rwxr-xr-xtestautomation/xml/optional/input/docbook/refentry.002.xml29
-rwxr-xr-xtestautomation/xml/optional/input/docbook/refentry.003.xml65
-rwxr-xr-xtestautomation/xml/optional/input/docbook/refentry.004.xml68
-rwxr-xr-xtestautomation/xml/optional/input/docbook/reference.001.xml59
-rwxr-xr-xtestautomation/xml/optional/input/docbook/revhistory.001.xml41
-rwxr-xr-xtestautomation/xml/optional/input/docbook/screen.001.xml19
-rwxr-xr-xtestautomation/xml/optional/input/docbook/sect1.001.xml53
-rwxr-xr-xtestautomation/xml/optional/input/docbook/sect1.002.xml56
-rwxr-xr-xtestautomation/xml/optional/input/docbook/section.001.xml53
-rwxr-xr-xtestautomation/xml/optional/input/docbook/section.002.xml56
-rwxr-xr-xtestautomation/xml/optional/input/docbook/section.003.xml20
-rwxr-xr-xtestautomation/xml/optional/input/docbook/segmentedlist.001.xml21
-rwxr-xr-xtestautomation/xml/optional/input/docbook/segmentedlist.002.xml23
-rwxr-xr-xtestautomation/xml/optional/input/docbook/set.001.xml31
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.001.xml26
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.002.xml31
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.003.xml30
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.004.xml30
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.005.xml28
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.006.xml29
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.007.xml29
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.008.xml27
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.009.xml28
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.010.xml28
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.011.xml31
-rwxr-xr-xtestautomation/xml/optional/input/docbook/stamp.012.xml41
-rwxr-xr-xtestautomation/xml/optional/input/docbook/svg.001.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/svg.002.xml31
-rwxr-xr-xtestautomation/xml/optional/input/docbook/table.001.xml31
-rwxr-xr-xtestautomation/xml/optional/input/docbook/table.002.xml37
-rwxr-xr-xtestautomation/xml/optional/input/docbook/table.003.xml38
-rwxr-xr-xtestautomation/xml/optional/input/docbook/table.004.xml30
-rwxr-xr-xtestautomation/xml/optional/input/docbook/table.005.xml35
-rwxr-xr-xtestautomation/xml/optional/input/docbook/table.006.xml207
-rwxr-xr-xtestautomation/xml/optional/input/docbook/template.xml17
-rwxr-xr-xtestautomation/xml/optional/input/docbook/toc.001.xml63
-rwxr-xr-xtestautomation/xml/optional/input/docbook/ulink.001.xml23
-rwxr-xr-xtestautomation/xml/optional/input/docbook/variablelist.001.xml64
-rwxr-xr-xtestautomation/xml/optional/input/docbook/variablelist.002.xml35
-rwxr-xr-xtestautomation/xml/optional/input/docbook/variablelist.003.xml26
-rwxr-xr-xtestautomation/xml/optional/input/docbook/variablelist.004.xml26
-rwxr-xr-xtestautomation/xml/optional/input/docbook/xref.001.xml98
-rwxr-xr-xtestautomation/xml/optional/input/docbook/xrefstyle.001.xml19
-rw-r--r--testautomation/xml/optional/input/for_xhtml_export/Table-XHTML.odtbin0 -> 6572 bytes
-rw-r--r--testautomation/xml/optional/input/for_xhtml_export/border.odsbin0 -> 6700 bytes
-rw-r--r--testautomation/xml/optional/input/for_xhtml_export/bullets.sxwbin0 -> 16074 bytes
-rwxr-xr-xtestautomation/xml/optional/input/for_xhtml_export/bullets_14364.sdwbin0 -> 19456 bytes
-rw-r--r--testautomation/xml/optional/input/for_xhtml_export/p_in_h.odtbin0 -> 9860 bytes
-rw-r--r--testautomation/xml/optional/input/for_xhtml_export/presentation_xhtml.odpbin0 -> 83785 bytes
-rw-r--r--testautomation/xml/optional/input/for_xhtml_export/span_split.odtbin0 -> 6651 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/excelOLE.docbin0 -> 26112 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/excelOLE.pptbin0 -> 35840 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/mathOLE.docbin0 -> 10752 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/mathOLE.pptbin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/mathOLE.xlsbin0 -> 9728 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/pptOLE.docbin0 -> 22016 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/pptOLE.xlsbin0 -> 14848 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/wordOLE.pptbin0 -> 33792 bytes
-rwxr-xr-xtestautomation/xml/optional/input/framework/ms_ole/wordOLE.xlsbin0 -> 27136 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/alien.sxdbin0 -> 6016 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/alien.sxibin0 -> 6182 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/chin.sxdbin0 -> 6931 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/chin.sxibin0 -> 8119 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/japan.sxdbin0 -> 6961 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/japan.sxibin0 -> 8119 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/korean.sxdbin0 -> 6916 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/korean.sxibin0 -> 8207 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxdbin0 -> 6887 bytes
-rw-r--r--testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxibin0 -> 8063 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18092.sdabin0 -> 38912 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18093.sdabin0 -> 30208 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18094.sdabin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18098.sdabin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18099.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18100.sdabin0 -> 31744 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18101.sdabin0 -> 28672 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18102.sdabin0 -> 30720 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18106.sdabin0 -> 30720 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18107.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18108-18115.sdabin0 -> 33280 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18116.sdabin0 -> 48640 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18117.sdabin0 -> 30720 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18118.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18119.sdabin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18120.sdabin0 -> 30720 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18121-18122.sdabin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18123.sdabin0 -> 33280 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18124.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18125.sdabin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18126.sdabin0 -> 31744 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18127-18128.sdabin0 -> 29184 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18129.sdabin0 -> 31744 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18130-18131.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18132.sdabin0 -> 36352 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18133-18134.sdabin0 -> 30208 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18135.sdabin0 -> 29184 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18136.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18137.sdabin0 -> 36352 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18138.sdabin0 -> 30208 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18139-18145.sdabin0 -> 74752 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18244.sdabin0 -> 30208 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18245.sdabin0 -> 30720 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18246-18250.sdabin0 -> 32768 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18464-18467.sdabin0 -> 30208 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18520-18524.sdabin0 -> 31744 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18526-18531.sdabin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18537-18544.sdabin0 -> 32768 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18629-18632.sdabin0 -> 28160 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18633.sdabin0 -> 28672 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18634.sdabin0 -> 29184 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18635.sdabin0 -> 27648 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/18636.sdabin0 -> 29184 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/19542-19544.sdabin0 -> 34304 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/19545-19547.sdabin0 -> 33792 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/19548-19553.sdabin0 -> 33792 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/19554-19557.sdabin0 -> 36352 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/19558-19560.sdabin0 -> 31232 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/Autolayout.sddbin0 -> 130048 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/Effects_slides.sddbin0 -> 53760 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/Effects_text_objects.sddbin0 -> 72192 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/Objects.sddbin0 -> 89088 bytes
-rwxr-xr-xtestautomation/xml/optional/input/graphics/so_bin/Text.sddbin0 -> 59392 bytes
-rw-r--r--testautomation/xml/optional/input/math/asian/jp_math.sxmbin0 -> 3105 bytes
-rw-r--r--testautomation/xml/optional/input/math/asian/ko_math.sxmbin0 -> 3062 bytes
-rw-r--r--testautomation/xml/optional/input/math/asian/zh_cn_math.sxmbin0 -> 2952 bytes
-rw-r--r--testautomation/xml/optional/input/math/asian/zh_tw_math.sxmbin0 -> 3143 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/1_unary-binary.smfbin0 -> 5120 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/2_relations.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/3_set_operations.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/4_functions.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/5_operators.smfbin0 -> 5120 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/6_attributes.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/7_others.smfbin0 -> 5120 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/8_brackets.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/9_formats.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/all_commands.smfbin0 -> 8192 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/all_commands_star_math_3.0.smfbin0 -> 8192 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/all_selections.smfbin0 -> 8192 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/annuities.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/cauchy.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/chemicalelement.smfbin0 -> 5120 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/definitionstraightline.smfbin0 -> 20992 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/effectiveannualinterestrate.smfbin0 -> 5120 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/hamiltonoperator.smfbin0 -> 6144 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/investmentreturns.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/lawoferrorpropagation.smfbin0 -> 36864 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/limes.smfbin0 -> 21504 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/linearregression.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/maxwell.smfbin0 -> 6144 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/scalarproduct.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/sinus.smfbin0 -> 5120 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/squareroot.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/standarddeviation.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/math/so_binary/vectorproduct.smfbin0 -> 5632 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/bookmark_script_note.sdwbin0 -> 18944 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/characters.sdwbin0 -> 16896 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/events_to_objects.sdwbin0 -> 65024 bytes
-rw-r--r--testautomation/xml/optional/input/writer/feat1318.sxwbin0 -> 6096 bytes
-rw-r--r--testautomation/xml/optional/input/writer/feat476.sxwbin0 -> 5891 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/fields.sdwbin0 -> 37376 bytes
-rw-r--r--testautomation/xml/optional/input/writer/fiscus.sxwbin0 -> 5666 bytes
-rw-r--r--testautomation/xml/optional/input/writer/fiscus2.sxwbin0 -> 5840 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/footnotes.sdwbin0 -> 30208 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/frames.sdwbin0 -> 24064 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/hyperlinks.sdwbin0 -> 10240 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/index_biblio.sdwbin0 -> 24576 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/index_most.sdwbin0 -> 24576 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/indexes_alpha.sdwbin0 -> 37376 bytes
-rw-r--r--testautomation/xml/optional/input/writer/jp_text.sxwbin0 -> 6133 bytes
-rw-r--r--testautomation/xml/optional/input/writer/ko_text.sxwbin0 -> 6292 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/pages.sdwbin0 -> 32768 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/paragraph01.sdwbin0 -> 25088 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/paragraph02.sdwbin0 -> 19456 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/section_main.sdwbin0 -> 32256 bytes
-rwxr-xr-xtestautomation/xml/optional/input/writer/verttoline1.docbin0 -> 25600 bytes
-rw-r--r--testautomation/xml/optional/input/writer/zh_cn_text.sxwbin0 -> 5599 bytes
-rw-r--r--testautomation/xml/optional/input/writer/zh_tw_text.sxwbin0 -> 5545 bytes
-rw-r--r--testautomation/xml/optional/math_xml_7_export.bas91
-rw-r--r--testautomation/xml/optional/w_xml_vertical_alignment.bas56
-rw-r--r--testautomation/xml/optional/writer_xml_7_export.bas67
-rw-r--r--testautomation/xml/required/includes/oasis_graphics_01.inc597
-rw-r--r--testautomation/xml/required/input/graphics/alien_attributes/alien_attributes_presentation.odpbin0 -> 7351 bytes
-rw-r--r--testautomation/xml/required/input/graphics/header_footer/allheaderfooter_fixed.odpbin0 -> 9161 bytes
-rw-r--r--testautomation/xml/required/input/graphics/header_footer/noheaderfooter.odpbin0 -> 10143 bytes
-rw-r--r--testautomation/xml/required/input/graphics/header_footer/nomasterelements.odpbin0 -> 9485 bytes
-rw-r--r--testautomation/xml/required/input/graphics/header_footer/someheaderfooter_varible.odpbin0 -> 10190 bytes
-rw-r--r--testautomation/xml/required/oasis_graphics_update.bas58
-rw-r--r--testautomation/xml/tools/includes/itools1.inc60
-rwxr-xr-xtestautomation/xml/tools/includes/xmltool1.inc103
303 files changed, 28275 insertions, 0 deletions
diff --git a/testautomation/xml/optional/c_datapilot_pagefields.bas b/testautomation/xml/optional/c_datapilot_pagefields.bas
new file mode 100644
index 000000000000..5552322607f6
--- /dev/null
+++ b/testautomation/xml/optional/c_datapilot_pagefields.bas
@@ -0,0 +1,57 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@Sun.COM
+'*
+'* short description : Lookup for correct attributes of datapilot pagefields
+'*
+'\***********************************************************************
+
+sub main
+ Printlog "--------------------------------------------------"
+ Printlog "--- Datapilot pagefields attributes ---"
+ Printlog "--------------------------------------------------"
+
+ use "xml/optional/includes/c_datapilot_pagefields.inc"
+ use "xml/tools/includes/xmltool1.inc"
+
+ Call hStatusIn("XML", "c_datapilot_pagefields.bas")
+ call hEnablePrettyPrinting(1)
+ call subPageFields
+ Call hStatusOut
+
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global/system/includes/master.inc"
+ use "global/system/includes/gvariabl.inc"
+ use "global/tools/includes/required/t_tools1.inc"
+ gApplication = "CALC"
+ call GetUseFiles
+end sub
diff --git a/testautomation/xml/optional/c_xml_print_scale.bas b/testautomation/xml/optional/c_xml_print_scale.bas
new file mode 100644
index 000000000000..479ad76d255e
--- /dev/null
+++ b/testautomation/xml/optional/c_xml_print_scale.bas
@@ -0,0 +1,55 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@Sun.COM
+'*
+'* short description : Lookup for correct attributes for calc print scaling
+'*
+'\***********************************************************************
+
+sub main
+ Printlog "--------------------------------------------------"
+ Printlog "--- Print scaling attributes ---"
+ Printlog "--------------------------------------------------"
+
+ use "xml/optional/includes/c_xml_print_scale.inc"
+ use "xml/tools/includes/xmltool1.inc"
+
+ Call hStatusIn("XML", "c_xml_print_scale.bas")
+ call hEnablePrettyPrinting(1)
+ call subPrintScaling
+ Call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global/system/includes/master.inc"
+ use "global/system/includes/gvariabl.inc"
+ gApplication = "CALC"
+ call GetUseFiles
+end sub
diff --git a/testautomation/xml/optional/c_xml_scenario.bas b/testautomation/xml/optional/c_xml_scenario.bas
new file mode 100644
index 000000000000..c22ed31fb1db
--- /dev/null
+++ b/testautomation/xml/optional/c_xml_scenario.bas
@@ -0,0 +1,54 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@Sun.COM
+'*
+'* short description : Lookup for correct attributes of calc scenarios
+'*
+'\***********************************************************************
+sub main
+ Printlog "--------------------------------------------------"
+ Printlog "--- Calc scenario attributes ---"
+ Printlog "--------------------------------------------------"
+
+ use "xml/optional/includes/c_xml_scenario.inc"
+ use "xml/tools/includes/xmltool1.inc"
+
+ Call hStatusIn("XML", "c_xml_scenario.bas")
+ call hEnablePrettyPrinting(1)
+ call subScenarioAttributes
+ Call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global/system/includes/master.inc"
+ use "global/system/includes/gvariabl.inc"
+ gApplication = "CALC"
+ call GetUseFiles
+end sub
diff --git a/testautomation/xml/optional/calc_xml_7_export.bas b/testautomation/xml/optional/calc_xml_7_export.bas
new file mode 100644
index 000000000000..37cc950ec735
--- /dev/null
+++ b/testautomation/xml/optional/calc_xml_7_export.bas
@@ -0,0 +1,67 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : Export test for the Calc XML 6.0/7/OOo 1.x format
+'*
+'\***********************************************************************************
+sub main
+ printlog "---------------------------------------------------------------------"
+ printlog "----- Export test for the Calc XML 6.0/7/OOo 1.x format -----"
+ printlog "---------------------------------------------------------------------"
+
+ use "xml\optional\includes\sxc7_01.inc"
+ use "xml\optional\includes\sxc7_02.inc"
+ use "xml\optional\includes\sxc7_03.inc"
+ use "xml\tools\includes\xmltool1.inc"
+
+ call hStatusIn ("XML" , "calc_xml_7_export.bas")
+ call CreateWorkXMLExportDir ( "user\work\xml\calc\level1\" )
+
+ 'Be sure that pretty printing is DISABLED
+ call hEnablePrettyPrinting(1)
+ call sxc7_01
+ call sxc7_02
+ call sxc7_03
+
+ call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+
+
+ use "global\tools\includes\optional\t_xml2.inc"
+ gApplication = "CALC"
+ Call GetUseFiles
+end sub
+
+'-------------------------------------------------------------------------
diff --git a/testautomation/xml/optional/ch_xml_japanese_candlestick.bas b/testautomation/xml/optional/ch_xml_japanese_candlestick.bas
new file mode 100644
index 000000000000..e9d824afe889
--- /dev/null
+++ b/testautomation/xml/optional/ch_xml_japanese_candlestick.bas
@@ -0,0 +1,54 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@Sun.COM
+'*
+'* short description : Detailed test of the chart types
+'*
+'\***********************************************************************
+sub main
+ use "xml/optional/includes/ch_xml_japanese_candlestick.inc"
+ use "xml/tools/includes/xmltool1.inc"
+
+ Printlog "--------------------------------------------------"
+ Printlog "--- Japanese Candlestick Chart ---"
+ Printlog "--------------------------------------------------"
+
+ Call hStatusIn("XML", "ch_xml_japanese_candlestick.bas")
+ call hEnablePrettyPrinting(1)
+ call tJapaneseCandlestickChart
+ Call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global/system/includes/master.inc"
+ use "global/system/includes/gvariabl.inc"
+ gApplication = "CALC"
+ call getusefiles
+end sub
diff --git a/testautomation/xml/optional/docbook_losa.bas b/testautomation/xml/optional/docbook_losa.bas
new file mode 100644
index 000000000000..e622c279d185
--- /dev/null
+++ b/testautomation/xml/optional/docbook_losa.bas
@@ -0,0 +1,63 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : DocBook XML Import-/Export Test
+'*
+'\***********************************************************************
+Global sSourcePath as string
+Global sDestinationPath as string
+sub main
+ printlog "---------------------------------------------------------------------"
+ printlog "----- D o c B o o k - I M - / E X P O R T -----"
+ printlog "---------------------------------------------------------------------"
+
+ use "xml\optional\includes\docbook_001.inc"
+ use "xml\tools\includes\xmltool1.inc"
+
+ call hStatusIn ("XML","docbook_losa.bas")
+ printlog "xml::tools::xmltool1.inc::CreateWorkXMLExportDir: Creating 'user\work\xml\docbook-testdocs-1.1\tests'-directory."
+ call CreateWorkXMLExportDir ( "user\work\xml\docbook" )
+ sSourcePath = ConvertPath (gTestToolPath & "xml\optional\input\docbook" )
+ sDestinationPath = gOfficePath & ConvertPath("user\work\xml\docbook")
+ call tDocBookXMLtestdocs
+ call tToolsXMLFilterSettings
+ call hStatusOut
+end sub
+
+'-------------------------------------------------------------------------
+
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+ use "global\tools\includes\optional\t_xml2.inc"
+ use "global\tools\includes\optional\t_xml_filter1.inc"
+ gApplication = "WRITER"
+ Call GetUseFiles
+end sub
+
diff --git a/testautomation/xml/optional/draw_xml_7_export.bas b/testautomation/xml/optional/draw_xml_7_export.bas
new file mode 100644
index 000000000000..d6bf8c905410
--- /dev/null
+++ b/testautomation/xml/optional/draw_xml_7_export.bas
@@ -0,0 +1,69 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : Export test for the Draw XML 6.0/7/OOo 1.x format
+'*
+'\***********************************************************************************
+
+sub main
+ printlog "---------------------------------------------------------------------"
+ printlog "----- Export test for the Draw XML 6.0/7/OOo 1.x format -----"
+ printlog "---------------------------------------------------------------------"
+
+ use "xml\optional\includes\sxd7_01.inc"
+ use "xml\optional\includes\sxd7_02.inc"
+ use "xml\optional\includes\sxd7_03.inc"
+ use "xml\optional\includes\sxd7_04.inc"
+ use "xml\optional\includes\sxd7_05.inc"
+ use "xml\tools\includes\xmltool1.inc"
+
+ call hStatusIn ("XML" , "draw_xml_7_export.bas")
+
+ call CreateWorkXMLExportDir ( "user\work\xml\draw\level1\" )
+ call hEnablePrettyPrinting(1)
+ call sxd7_01
+ call sxd7_02
+ call sxd7_03
+ call sxd7_04
+ call sxd7_05
+ call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+
+
+ use "global\tools\includes\optional\t_xml2.inc"
+ gApplication = "DRAW"
+ Call GetUseFiles
+end sub
+
diff --git a/testautomation/xml/optional/f_xml_save_ms_ole.bas b/testautomation/xml/optional/f_xml_save_ms_ole.bas
new file mode 100644
index 000000000000..222673273655
--- /dev/null
+++ b/testautomation/xml/optional/f_xml_save_ms_ole.bas
@@ -0,0 +1,83 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@Sun.COM
+'*
+'* short description : Conversion of Microsoft OLE objects
+'*
+'\************************************************************************
+
+sub main
+ Printlog "--------------------------------------------------"
+ Printlog "--- MS OLE -> OpenDocument OLE conversion ---"
+ Printlog "--------------------------------------------------"
+
+ use "xml/optional/includes/f_xml_save_ms_ole.inc"
+ use "xml/tools/includes/xmltool1.inc"
+
+ Call hStatusIn("XML", "f_xml_save_ms_ole.bas")
+ call hEnablePrettyPrinting()
+ call sConfigurationManagement()
+ Call tXML_OLE_Conversion ( "excelOLE.doc" )
+ Call tXML_OLE_Conversion ( "excelOLE.ppt" )
+ Call tXML_OLE_Conversion ( "mathOLE.doc" )
+ Call tXML_OLE_Conversion ( "mathOLE.ppt" )
+ Call tXML_OLE_Conversion ( "mathOLE.xls" )
+ Call tXML_OLE_Conversion ( "pptOLE.doc" )
+ Call tXML_OLE_Conversion ( "pptOLE.xls" )
+ Call tXML_OLE_Conversion ( "wordOLE.ppt" )
+ Call tXML_OLE_Conversion ( "wordOLE.xls" )
+ 'Reset Tools::Options::Load/Save::MS Office to default values
+ call subSetConversionMicrosoftOLE ( "RESET" )
+ Call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+ use "global\tools\includes\optional\t_xml1.inc"
+ gApplication = "CALC"
+ Call GetUseFiles
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub sConfigurationManagement
+ 'Ensure that paths are stored relatively
+ printlog "Tools / Options"
+ ToolsOptions
+ printlog "Load/Save / General"
+ hToolsOptions ( "LoadSave", "General" )
+ Kontext "TabSpeichern"
+ printlog "Check URL in file system"
+ URLimDateisystem.Check
+ printlog "OK"
+ Kontext "ExtrasOptionenDlg"
+ ExtrasOptionenDlg.OK
+end sub
diff --git a/testautomation/xml/optional/impress_xml_7_export.bas b/testautomation/xml/optional/impress_xml_7_export.bas
new file mode 100644
index 000000000000..a6329086e0ec
--- /dev/null
+++ b/testautomation/xml/optional/impress_xml_7_export.bas
@@ -0,0 +1,60 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : Export test for the Impress XML 6.0/7/OOo 1.x format
+'*
+'\***********************************************************************************
+
+sub main
+ printlog "---------------------------------------------------------------------"
+ printlog "----- X M L - I M P R E S S - U P D A T E T E S T -----"
+ printlog "---------------------------------------------------------------------"
+
+ use "xml\optional\includes\sxi7_01.inc"
+ use "xml\tools\includes\xmltool1.inc"
+
+ call hStatusIn ("XML" , "impress_xml_7_export.bas")
+ call CreateWorkXMLExportDir ( "user\work\xml\impress\level1\" )
+ call hEnablePrettyPrinting(1)
+ call sxi7_01
+ call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+
+
+ use "global\tools\includes\optional\t_xml2.inc"
+ gApplication = "IMPRESS"
+ Call GetUseFiles
+end sub
+
diff --git a/testautomation/xml/optional/includes/c_datapilot_pagefields.inc b/testautomation/xml/optional/includes/c_datapilot_pagefields.inc
new file mode 100644
index 000000000000..c35cf7785f0b
--- /dev/null
+++ b/testautomation/xml/optional/includes/c_datapilot_pagefields.inc
@@ -0,0 +1,175 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : Check content.xml for attribute 'table:selected-page'
+'*
+'*************************************************************************************************
+'*
+' #1 subPageFields
+' #1 tDatapilotPagefields
+'*
+'\*************************************************************************************************
+sub subPageFields
+ printLog Chr(13) + "--------- datapilot pagefields ----------"
+
+ printlog "Testing Page '- all -'"
+ call tDatapilotPagefields("- all -")
+ printlog "Testing Page 'Audio'"
+ call tDatapilotPagefields("Audio")
+ printlog "Testing Page 'DVD'"
+ call tDatapilotPagefields("DVD")
+ printlog "Testing Page 'Video'"
+ call tDatapilotPagefields("Video")
+
+end sub
+
+'************************************************************
+testcase tDatapilotPagefields ( sCurrentPage as STRING )
+ dim bTableSelectedPageShouldExist as BOOLEAN
+ dim iIndex as INTEGER
+ dim sComfirmAttribute as STRING
+ dim sWarnAttribute as STRING
+ select case sCurrentPage
+ case ("- all -") : bTableSelectedPageShouldExist = "false"
+ iIndex = 1
+ case ("Audio") : bTableSelectedPageShouldExist = "true"
+ iIndex = 2
+ sComfirmAttribute = "OK, value for attribute 'table:selected-page' is 'Audio'"
+ sWarnAttribute = "Unexpected value for attibute 'table:selected-page' -> Check this out!"
+ case ("DVD") : bTableSelectedPageShouldExist = "true"
+ iIndex = 3
+ sComfirmAttribute = "OK, value for attribute 'table:selected-page' is 'DVD'"
+ sWarnAttribute = "Unexpected value for attibute 'table:selected-page' -> Check this out!"
+ case ("Video") : bTableSelectedPageShouldExist = "true"
+ iIndex = 4
+ sComfirmAttribute = "OK, value for attribute 'table:selected-page' is 'Video'"
+ sWarnAttribute = "Unexpected value for attibute 'table:selected-page' -> Check this out!"
+ end select
+
+dim sInputFile as STRING
+ sInputFile = ( gTesttoolPath & ConvertPath( "xml\optional\input\calc\ooo10\pagefields_datapilot" & iIndex & ".sxc" ))
+
+dim sOutputFile as STRING
+ sOutputFile = ( gOfficePath & ConvertPath( "user\work\datapilotPagefields" ) & iIndex & ".ods" )
+
+dim sUnpackedStorageDir as STRING
+ sUnpackedStorageDir = ( gOfficePath & ConvertPath( "user\work\datapilotPagefields" ) & iIndex )
+ if (dir(sUnpackedStorageDir) <> "") then
+ rmDir (sUnpackedStorageDir)
+ if (dir(sUnpackedStorageDir) <> "") then
+ warnlog "Directory has not been deleted. Test ends here."
+ goto endsub
+ endif
+ endif
+
+dim sContentXML as STRING
+ sContentXML = ( gOfficePath & ConvertPath( "user\work\datapilotPagefields" ) & iIndex & ConvertPath( "\content.xml" ))
+
+dim iSaxSeekIndex as INTEGER
+ iSaxSeekIndex = 1
+
+dim bContinueSeek as BOOLEAN
+ bContinueSeek = TRUE
+
+dim iAttributeIndex as INTEGER
+
+ printlog "Open test document"
+ call hFileOpen ( sInputFile )
+ printlog "Save in current default application format (ODF)"
+ if hFileSaveAsWithFilterKill ( sOutputFile , "calc8" ) = FALSE then
+ warnlog "Saving " & sOutputFile & " failed! -> Exiting test!"
+ call hCloseDocument
+ goto endsub
+ else
+ printlog "CLose the document."
+ call hCloseDocument
+ printlog "Unpack storage of test document."
+ UnpackStorage( sOutputFile , sUnpackedStorageDir )
+ printlog "Read the test documents DOM."
+ SAXReadFile( sContentXML )
+ sleep(2)
+ printlog "Set the DOM pointer on element 'table:data-pilot-table'"
+ printlog "|-/"
+ SAXSeekElement( "/" )
+ printlog " |-office:document-content"
+ SAXSeekElement( "office:document-content" )
+ printlog " |-office:body"
+ SAXSeekElement( "office:body" )
+ printlog " |-office:spreadsheet"
+ SAXSeekElement( "office:spreadsheet" )
+ printlog " |-table:data-pilot-tables"
+ SAXSeekElement( "table:data-pilot-tables" )
+ printlog " |-table:data-pilot-table"
+ SAXSeekElement( "table:data-pilot-table" )
+ printlog "Seek in (all) elements 'table:data-pilot-field'"
+ while SAXHasElement( "table:data-pilot-field" , iSaxSeekIndex ) AND bContinueSeek
+ printlog " |-table:data-pilot-field"
+ SAXSeekElement( "table:data-pilot-field" , iSaxSeekIndex )
+ printlog ".. for attribute 'table:selected-page'"
+ for iAttributeIndex = 1 to SAXGetAttributeCount
+ if SaxGetAttributeName ( iAttributeIndex ) = "table:selected-page" then
+ printlog "When found, check if it should exist (unexpected for page selection '- all -')"
+ bContinueSeek = FALSE
+ if bTableSelectedPageShouldExist then
+ printlog "Bingo, found attribute 'table:selected-page'"
+ 'Check correct index of expected node
+ if iSaxSeekIndex <> 1 then
+ warnlog "Found 'table:selected-page' on an unexpected Node -> Check this out!"
+ qaErrorLog "TODO: Check if change of file format was announced!"
+ qaErrorLog "TODO: Modify test if change of file format was intended!"
+ endif
+ 'Check correct attribute index
+ if iAttributeIndex <> 3 then
+ warnlog "Found 'table:selected-page' on unexpected attribute position -> Check this out!"
+ qaErrorLog "TODO: Check if change of file format was announced!"
+ qaErrorLog "TODO: Modify test if change of file format was intended!"
+ endif
+ printlog "Now check for expected value of 'table:selected-page'!"
+ if SAXGetAttributeValue( "table:selected-page" ) = sCurrentPage then
+ printlog sComfirmAttribute
+ else
+ warnlog sWarnAttribute
+ endif
+ else
+ warnlog "OOPS, attribute 'table:selected-page' shouldn't exist for '- all -' pages."
+ endif
+ endif
+ next iAttributeIndex
+ iSaxSeekIndex = iSaxSeekIndex + 1
+ SAXSeekElement( 0 )
+ wend
+ endif
+ ' Throw warning if testcase didn't succeed at all!
+ if bContinueSeek AND bTableSelectedPageShouldExist then
+ warnlog "OOPS, attribute 'table:selected-page' wasn't found though it should exist -> Check this out!"
+ endif
+ 'Release DOM
+ SAXRelease
+endcase
+
diff --git a/testautomation/xml/optional/includes/c_xml_print_scale.inc b/testautomation/xml/optional/includes/c_xml_print_scale.inc
new file mode 100644
index 000000000000..48201f17feb4
--- /dev/null
+++ b/testautomation/xml/optional/includes/c_xml_print_scale.inc
@@ -0,0 +1,403 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : Check content.xml and styles.xml for correct print scaling settings
+'*
+'*************************************************************************************************
+'*
+' #1 subPrintScaling
+' #1 tPrintScaling
+'*
+'\*************************************************************************************************
+sub subPrintScaling
+ printLog Chr(13) + "--------- Print scaling attributes ----------"
+
+ call tPrintScaling
+
+end sub
+
+'************************************************************
+testcase tPrintScaling
+ dim iIndex as INTEGER
+ dim iInnerIndex as INTEGER
+
+ dim sExtension
+ sExtension = ".ods"
+
+ dim sOutputFile as STRING
+ sOutputFile = ( gOfficePath & ConvertPath( "user\work\printScaling" ) & sExtension )
+
+ dim sUnpackedStorageDir as STRING
+ sUnpackedStorageDir = ( gOfficePath & ConvertPath( "user\work\printScaling" ))
+ if (dir ( sUnpackedStorageDir ) <> "" ) then
+ rmDir ( sUnpackedStorageDir )
+ if (dir ( sUnpackedStorageDir ) <> "" ) then
+ warnlog "The diretory has not been deleted. Exiting test!"
+ goto endsub
+ endif
+ endif
+
+ dim sContentXML as STRING
+ sContentXML = ( sUnpackedStorageDir & ConvertPath( "\content.xml" ))
+
+ dim sStylesXML as STRING
+ sStylesXML = ( sUnpackedStorageDir & ConvertPath( "\styles.xml" ))
+
+ dim asTableStyleAssocations ( 5 , 3 ) as STRING
+
+ dim sNameSheet1 as STRING
+ sNameSheet1 = "Ten"
+ dim sNameSheet2 as STRING
+ sNameSheet2 = "Moves"
+ dim sNameSheet3 as STRING
+ sNameSheet3 = "Ahead"
+
+ dim sNameStyle1 as STRING
+ sNameStyle1 = "1stStyle"
+ dim sNameStyle2 as STRING
+ sNameStyle2 = "2ndStyle"
+ dim sNameStyle3 as STRING
+ sNameStyle3 = "3rdStyle"
+
+ dim iTablesInDocument as INTEGER
+ dim iStylesInAutomaticStyles as INTEGER
+ dim iMasterPageStylesInStylesXML as INTEGER
+ dim sCurrentTableName as STRING
+ dim sExpectedTableName as STRING
+ dim sCurrentTableStyle as STRING
+ dim sCurrentAutomaticStyle as STRING
+ dim sCurrentMasterPageStyle as STRING
+
+ dim sExpectedScaleTo as STRING
+ dim sExpectedScaleToX as STRING
+ dim sExpectedScaleToY as STRING
+ dim sExpectedScaleToPages as STRING
+
+ printlog "Create a new spreadsheet document"
+ Call hNewDocument
+ sleep(2)
+
+ for iIndex = 1 to 3
+ printlog "Type in the first cell the number 1 and press RETURN"
+ Kontext "DocumentCalc"
+ DocumentCalc.TypeKeys "1<RETURN>"
+ sleep(1)
+ printlog "Format / Sheet / Rename"
+ FormatSheetRename
+ Kontext "TabelleUmbenennen"
+ select case iIndex
+ case 1 : Tabellenname.SetText sNameSheet1
+ printlog " In first round name it 'Ten'"
+ case 2 : Tabellenname.SetText sNameSheet2
+ printlog " In first round name it 'Moves'"
+ case 3 : Tabellenname.SetText sNameSheet3
+ printlog " In first round name it 'Ahead'"
+ end select
+ printlog "Press OK on dialog"
+ TabelleUmbenennen.OK
+ sleep(1)
+ printlog "Edit / Sheet / Select"
+ EditSheetSelect
+ Kontext "SelectSheets"
+ printlog "In round 1 and 2 select the next sheet."
+ printlog "In round three select the first sheet."
+ if iIndex = 3 then
+ SheetSelectionBox.Select sNameSheet1
+ else
+ SheetSelectionBox.Select ( iIndex + 1 )
+ endif
+ printlog "Press OK on dialog."
+ SelectSheets.OK
+ sleep(1)
+ next iIndex
+ printlog "Format / Styles / Catalog"
+ FormatStylesCatalog
+ Kontext "Vorlagenkatalog"
+ Vorlagen.select ( 2 )
+ sleep(1)
+ for iIndex = 1 to 3
+ Kontext "Vorlagenkatalog"
+ printlog "Click new"
+ Neu.Click
+ Kontext
+ printlog "Page format dilog shoud appear)"
+ printlog "Select Page 'Organizer'"
+ Kontext
+ Active.SetPage TabVerwalten
+ printlog "Close MsgBox when appeared"
+ if Active.Exists(2) then
+ if Active.GetRT = 304 then
+ Printlog Active.GetText
+ Active.Yes
+ end if
+ end if
+ Kontext "TabVerwalten"
+ printlog "Assign name for each style"
+ select case iIndex
+ case 1 : VorlagenName.setText sNameStyle1
+ printlog "First round name: '1stStyle'"
+ case 2 : VorlagenName.setText sNameStyle2
+ printlog "Second round name:'2ndStyle'"
+ case 3 : VorlagenName.setText sNameStyle3
+ printlog "Third round name: '3rdStyle'"
+ end select
+ printlog "Select Page 'Sheet'"
+ Kontext
+ Active.SetPage TabTabelleCalc
+ Kontext "TabTabelleCalc"
+ scalingMode.Select ( iIndex )
+ select case iIndex
+ case 1 : SkalierungProzent.setText "55%"
+ printlog "1. round: Scale size to 55%"
+ case 2 : ScalePageWidth.setText "3"
+ ScalePageHeight.setText "4"
+ printlog "2. round: Scale output to 3 pages wide and 4 pages high"
+ case 3 : AnzahlMaxSeiten.setText "6"
+ printlog "3 round: Scale output to a total of 6 pages"
+ end select
+ printlog "Leave page format dilog using OK"
+ TabTabelleCalc.OK
+ next iIndex
+ printlog "Close style catalog using OK"
+ Kontext "Vorlagenkatalog"
+ Vorlagenkatalog.OK
+ sleep(2)
+ for iIndex = 1 to 3
+ printlog "Edit / Sheet / Select"
+ EditSheetSelect
+ Kontext "SelectSheets"
+ printlog "Select 1, 2. or 3 sheet"
+ SheetSelectionBox.Select ( iIndex )
+ printlog "OK"
+ SelectSheets.OK
+ sleep(1)
+ Kontext "Gestalter"
+ if NOT Gestalter.exists(2) then
+ printlog "Format / Stylist"
+ FormatStylist
+ endif
+ Kontext "Gestalter"
+ printlog "Click on 'Page styles'"
+ Seitenvorlagen.Click
+ Kontext "Vorlagenliste"
+ printlog "Type [HOME]-key"
+ Vorlagenliste.TypeKeys "<HOME>"
+ sleep (2)
+ printlog "Select 1, 2, or 3 (depends on the round)"
+ Vorlagenliste.Select ( iIndex )
+ printlog "Type [RETURN]"
+ Vorlagenliste.TypeKeys "<RETURN>"
+ next iIndex
+ Kontext "Gestalter"
+ if Gestalter.exists(2) then
+ printlog "Format / Stylist"
+ FormatStylist
+ endif
+ printlog "Save in current default ODF format"
+ if hFileSaveAsWithFilterKill ( sOutputFile , "calc8" ) = FALSE then
+ warnlog "Saving " & sOutputFile & " failed! -> Exiting test!"
+ call hCloseDocument
+ else
+ printlog "Close document"
+ call hCloseDocument
+ sleep(3)
+ printlog "Unpack storage (=compressed XML files) to obtain the XML files"
+ UnpackStorage ( sOutputFile , sUnpackedStorageDir )
+ printlog "Read 'content.xml' DOM."
+ printlog "Read DOM of content.xml"
+ SAXReadFile ( sContentXML )
+ sleep(2)
+ printlog "Set the DOM pointer on element 'office:spreadsheet'"
+ printlog "|-/"
+ SAXSeekElement ( "/" )
+ printlog " |-office:document-content"
+ SAXSeekElement ( "office:document-content" )
+ printlog " |-office:body"
+ SAXSeekElement ( "office:body" )
+ printlog " |-office:spreadsheet"
+ SAXSeekElement ( "office:spreadsheet" )
+ iTablesInDocument = SAXGetChildCount
+ printlog "Check correct number of sheets"
+ if iTablesInDocument <> 3 then
+ warnlog "Unexpected number of tables in the document -> Check this out!"
+ endif
+ printlog " nodes table:table"
+ for iIndex = 1 to iTablesInDocument
+ printlog " |-table:table"
+ SAXSeekElement ( "table:table" , iIndex )
+ printlog "Get 'table:name' and 'table:style-name' for all tables"
+ sCurrentTableName = SAXGetAttributeValue ( "table:name" )
+ sCurrentTableStyle = SAXGetAttributeValue ( "table:style-name" )
+ select case iIndex
+ case 1 : sExpectedTableName = sNameSheet1
+ case 2 : sExpectedTableName = sNameSheet2
+ case 3 : sExpectedTableName = sNameSheet3
+ end select
+ printlog "Check correct table names"
+ if sCurrentTableName <> sExpectedTableName then
+ warnlog "OOPS, this table has got an unexpected name -> Check this out!"
+ endif
+ printlog "Memorize associations of table and style names"
+ asTableStyleAssocations ( iIndex , 0 ) = sCurrentTableName
+ asTableStyleAssocations ( iIndex , 1 ) = sCurrentTableStyle
+ SAXSeekElement ( 0 )
+ next iIndex
+ SAXSeekElement ( 0 )
+ SAXSeekElement ( 0 )
+ printlog "Go back in DOM-tree to 'office:automatic-styles'"
+ printlog " |-office:automatic-styles"
+ SAXSeekElement( "office:automatic-styles" )
+ iStylesInAutomaticStyles = SAXGetChildCount
+ if iStylesInAutomaticStyles < 5 then
+ warnlog "Unexpected number of styles in 'content.xml' -> Check this out!"
+ endif
+ for iIndex = 1 to iStylesInAutomaticStyles
+ printlog "Seek nodes style:style"
+ printlog " |-office:automatic-styles"
+ SAXSeekElement( "style:style" , iIndex )
+ if SAXGetAttributeValue ( "style:family" ) = "table" then
+ sCurrentAutomaticStyle = SAXGetAttributeValue ( "style:name" )
+ printlog " + Found table style " & sCurrentAutomaticStyle & " at postion " & iIndex
+ printlog "Memorize associations of table and master pages names using previously determined style names"
+ for iInnerIndex = 1 to iTablesInDocument
+ if sCurrentAutomaticStyle = asTableStyleAssocations ( iInnerIndex , 1 ) then
+ asTableStyleAssocations ( iInnerIndex , 2 ) = SAXGetAttributeValue ( "style:master-page-name" )
+ endif
+ next iInnerIndex
+ endif
+ SAXSeekElement ( 0 )
+ next iIndex
+ printlog "Release DOM of 'content.xml'"
+ SAXRelease
+ printlog "| <<< DOM released <<<"
+ printlog ""
+
+ printlog "Read 'styles.xml' DOM."
+ printlog "Read DOM of styles.xml"
+ SAXReadFile ( sStylesXML )
+ sleep(2)
+ printlog "Set the DOM pointer on element 'office:master-styles'"
+ printlog "|-/"
+ SAXSeekElement ( "/" )
+ printlog " |-office:document-styles"
+ SAXSeekElement ( "office:document-styles" )
+ printlog " |-office:master-styles"
+ SAXSeekElement ( "office:master-styles" )
+ iMasterPageStylesInStylesXML = SAXGetChildCount
+ printlog "Seek nodes style:master-page"
+ for iIndex = 1 to iMasterPageStylesInStylesXML
+ printlog " |-style:master-page"
+ SAXSeekElement( iIndex )
+ sCurrentMasterPageStyle = SAXGetAttributeValue ( "style:name" )
+ printlog " + Found table style " & sCurrentMasterPageStyle & " at postion " & iIndex
+ for iInnerIndex = 1 to iTablesInDocument
+ printlog "Memorize associations of table names and master page styles using master page names found in 'context.xml'"
+ if sCurrentMasterPageStyle = asTableStyleAssocations ( iInnerIndex , 2 ) then
+ if SAXGetElementName <> "style:master-page" then
+ warnlog "Unexpected style type found -> Check this out!"
+ qaErrorLog SAXGetElementName & " instead of 'style:master-page'"
+ endif
+ asTableStyleAssocations ( iInnerIndex , 3 ) = SAXGetAttributeValue ( "style:page-layout-name" )
+ printlog "Check correct UI strings for master page styles"
+ select case SAXGetAttributeValue ( "style:display-name" )
+ case sNameStyle1 : sExpectedTableName = sNameSheet1
+ case sNameStyle2 : sExpectedTableName = sNameSheet2
+ case sNameStyle3 : sExpectedTableName = sNameSheet3
+ end select
+ printlog "Check if UI strings for master page styles are correctly assigned to the three sheets"
+ if sExpectedTableName <> asTableStyleAssocations ( iInnerIndex , 0 ) then
+ warnlog "Association of UI Style name and table doesn't meet expectation -> Check this out!"
+ qaErrorLog "Expected '" & sExpectedTableName & "' but found '" & asTableStyleAssocations ( iInnerIndex , 0 ) & "'"
+ endif
+ endif
+ next iInnerIndex
+ SAXSeekElement ( 0 )
+ next iIndex
+ SAXSeekElement ( 0 )
+ printlog "Go back in DOM-tree to 'office:automatic-styles'"
+ printlog " |-office:automatic-styles"
+ SAXSeekElement ( "office:automatic-styles" )
+ iStylesInAutomaticStyles = SAXGetChildCount
+ printlog "Seek nodes style:page-layout"
+ for iIndex = 1 to iStylesInAutomaticStyles
+ printlog " |-style:page-layout"
+ SAXSeekElement ( iIndex )
+ sCurrentAutomaticStyle = SAXGetAttributeValue ( "style:name" )
+ printlog "Check for each sheet if expected page scaling is correctly assigned"
+ for iInnerIndex = 1 to iTablesInDocument
+ if sCurrentAutomaticStyle = asTableStyleAssocations ( iInnerIndex , 3 ) then
+ if SAXGetElementName <> "style:page-layout" then
+ warnlog "Unexpected style type found -> Check this out!"
+ qaErrorLog SAXGetElementName & " instead of 'style:page-layout'"
+ endif
+ printlog " |-style:page-layout"
+ SAXSeekElement ( "style:page-layout-properties" )
+ select case asTableStyleAssocations ( iInnerIndex , 0 )
+ case sNameSheet1
+ sExpectedScaleTo = "55%"
+ sExpectedScaleToX = ""
+ sExpectedScaleToY = ""
+ sExpectedScaleToPages = ""
+ case sNameSheet2
+ sExpectedScaleTo = ""
+ sExpectedScaleToX = "3"
+ sExpectedScaleToY = "4"
+ sExpectedScaleToPages = ""
+ case sNameSheet3
+ sExpectedScaleTo = ""
+ sExpectedScaleToX = ""
+ sExpectedScaleToY = ""
+ sExpectedScaleToPages = "6"
+ end select
+ if sExpectedScaleTo <> SAXGetAttributeValue ( "style:scale-to") then
+ warnlog " Attribute 'style:scale-to' has unexpected value: " & SAXGetAttributeValue ( "style:scale-to")
+ qaErrorLog "Expected: " & sExpectedScaleTo
+ endif
+ if sExpectedScaleToX <> SAXGetAttributeValue ( "style:scale-to-X") then
+ warnlog "Attribute 'style:scale-to-X' has unexpected value: " & SAXGetAttributeValue ( "style:scale-to-X")
+ qaErrorLog "Expected: " & sExpectedScaleToX
+ endif
+ if sExpectedScaleToY <> SAXGetAttributeValue ( "style:scale-to-Y") then
+ warnlog "Attribute 'style:scale-to-Y' has unexpected value: " & SAXGetAttributeValue ( "style:scale-to-Y")
+ qaErrorLog "Expected: " & sExpectedScaleToY
+ endif
+ if sExpectedScaleToPages <> SAXGetAttributeValue ( "style:scale-to-pages") then
+ warnlog "Attribute 'style:scale-to-pages' has unexpected value: " & SAXGetAttributeValue ( "style:scale-to-pages")
+ qaErrorLog "Expected: " & sExpectedScaleToPages
+ endif
+ SAXSeekElement ( 0 )
+ endif
+ next iInnerIndex
+ SAXSeekElement ( 0 )
+ next iIndex
+ endif
+ printlog "Release DOM of 'styles.xml'"
+ SAXRelease
+endcase
+
diff --git a/testautomation/xml/optional/includes/c_xml_scenario.inc b/testautomation/xml/optional/includes/c_xml_scenario.inc
new file mode 100644
index 000000000000..ddaf8fbcd18c
--- /dev/null
+++ b/testautomation/xml/optional/includes/c_xml_scenario.inc
@@ -0,0 +1,433 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : Check content.xml for correct scenario attributes
+'*
+'*************************************************************************************************
+'*
+' #1 subScenarioAttributes
+' #1 tScenarioAttributes
+' #1 subCreateScenario
+' #1 subCheckScenarioInContentXML
+'*
+'\*************************************************************************************************
+sub subScenarioAttributes
+ printLog Chr(13) + "--------- scenario attributes ----------"
+
+ call tScenarioAttributes
+
+end sub
+
+'************************************************************
+testcase tScenarioAttributes
+ dim iIndex as INTEGER
+
+ dim sExtension
+ sExtension = ".ods"
+
+ dim sNameSheet1 as STRING
+ sNameSheet1 = "Ten"
+ dim sNameSheet2 as STRING
+ sNameSheet2 = "Moves"
+ dim sNameSheet3 as STRING
+ sNameSheet3 = "Ahead"
+
+
+ dim sOutputFile as STRING
+ sOutputFile = ( gOfficePath & ConvertPath( "user\work\scenarioAttributes" ) & sExtension )
+
+ dim sUnpackedStorageDir as STRING
+ sUnpackedStorageDir = ( gOfficePath & ConvertPath( "user\work\scenarioAttributes" ))
+ if (dir ( sUnpackedStorageDir ) <> "" ) then
+ rmDir ( sUnpackedStorageDir )
+ if (dir ( sUnpackedStorageDir ) <> "" ) then
+ warnlog "Diretory has not been deleted. Exiting test."
+ goto endsub
+ endif
+ endif
+
+ dim sContentXML as STRING
+ sContentXML = ( gOfficePath & ConvertPath( "user\work\scenarioAttributes" ) & ConvertPath( "\content.xml" ))
+
+ printlog "Create a new spreadsheet document"
+ Call hNewDocument
+ sleep(2)
+ for iIndex = 1 to 3
+ printlog "Type in the first cell the number 1 and press RETURN"
+ Kontext "DocumentCalc"
+ DocumentCalc.TypeKeys "1<RETURN>"
+ sleep(1)
+ printlog "Format / Sheet / Rename"
+ FormatSheetRename
+ Kontext "TabelleUmbenennen"
+ select case iIndex
+ case 1 : Tabellenname.SetText sNameSheet1
+ printlog " In first round name it 'Ten'"
+ case 2 : Tabellenname.SetText sNameSheet2
+ printlog " In first round name it 'Moves'"
+ case 3 : Tabellenname.SetText sNameSheet3
+ printlog " In first round name it 'Ahead'"
+ end select
+ printlog "Press OK on dialog"
+ TabelleUmbenennen.OK
+ sleep(1)
+ printlog "Edit / Sheet / Select"
+ EditSheetSelect
+ Kontext "SelectSheets"
+ printlog "In round 1 and 2 select the next sheet."
+ printlog "In round three select the first sheet."
+ if iIndex = 3 then
+ SheetSelectionBox.Select sNameSheet1
+ else
+ SheetSelectionBox.Select ( iIndex + 1 )
+ endif
+ printlog "Press OK on dialog."
+ SelectSheets.OK
+ sleep(1)
+ next iIndex
+ printlog "If not visible: View / Toolbars / Formula bar"
+ Kontext "RechenleisteCalc"
+ if not RechenleisteCalc.isvisible then
+ ViewToolbarsFormulaBar
+ end if
+ sleep(1)
+ Kontext "RechenleisteCalc"
+ printlog "In the Formular bar edit area type:"
+ Bereich.TypeKeys "<MOD1 A>"
+ printlog "[CTRL+A]"
+ Bereich.TypeKeys "C3"
+ printlog "C3"
+ sleep(1)
+ printlog "[RETURN]"
+ Bereich.TypeKeys "<RETURN>"
+ sleep(1)
+ Kontext "DocumentCalc"
+ printlog "Type in the spreadsheet document:"
+ printlog "1[RETURN]2[RETURN]3[RETURN]"
+ DocumentCalc.typekeys "1<RETURN>2<RETURN>3<RETURN>"
+ Kontext "RechenleisteCalc"
+ printlog "In the Formula bar type in the edit area:"
+ printlog "[CTRL+A]"
+ Bereich.TypeKeys "<MOD1 A>"
+ printlog "C3:C5"
+ Bereich.TypeKeys "C3:C5"
+ sleep(1)
+ printlog "[RETURN]"
+ Bereich.TypeKeys "<RETURN>"
+ sleep(1)
+ printlog "Tools / scenarios..."
+ printlog "Scenario name: Scenario_XML_Test"
+ printlog "Scenario comment: Created by Peter Junge"
+ printlog "Color index: 1"
+ printlog "Display border unchecked"
+ printlog "Copy back unchecked"
+ printlog "Copy entire sheet unchecked"
+ printlog "Prevent changes unchecked"
+ subCreateScenario ( "Scenario_XML_Test" , "Created by Peter Junge" , 1 , 0 , 0 , 0 , 0 )
+ sleep(1)
+ printlog "Create a another scenario on this selection with the following parameters:"
+ printlog "Scenario name: AnotherScenario"
+ printlog "Scenario comment: Random Comment"
+ printlog "Color index: 13"
+ printlog "Display border checked"
+ printlog "Copy back checked"
+ printlog "Copy entire sheet checked"
+ printlog "Prevent changes checked"
+ subCreateScenario ( "AnotherScenario" , "Random Comment" , 13 , 1 , 1 , 1 , 1 )
+ sleep(1)
+ printlog "Edit / Sheet / Select"
+ EditSheetSelect
+ Kontext "SelectSheets"
+ printlog "Select 'Moves'"
+ SheetSelectionBox.Select "Moves"
+ printlog "OK"
+ SelectSheets.OK
+ sleep(1)
+ printlog "Type in Formula bar:"
+ Kontext "RechenleisteCalc"
+ printlog "[CTRL+A]"
+ Bereich.TypeKeys "<MOD1 A>"
+ printlog "d5"
+ Bereich.TypeKeys "d5"
+ sleep(1)
+ printlog "[RETURN]"
+ Bereich.TypeKeys "<RETURN>"
+ sleep(1)
+ printlog "Type in spreadsheet document"
+ Kontext "DocumentCalc"
+ printlog "1[RETURN]2[RETURN]3[RETURN]"
+ DocumentCalc.typekeys "1<RETURN>2<RETURN>3<RETURN>"
+ Kontext "RechenleisteCalc"
+ printlog "Type in Formula bar:"
+ printlog "[CTRL+A]"
+ Bereich.TypeKeys "<MOD1 A>"
+ printlog "d5:d7"
+ Bereich.TypeKeys "d5:d7"
+ sleep(1)
+ printlog "[RETURN]"
+ Bereich.TypeKeys "<RETURN>"
+ sleep(1)
+ printlog "Creat another scenario:"
+ subCreateScenario ( "標準" , "기본값" , 9 , 1 , 1 , 0 , 0 )
+ printlog "Scenario name: 標準"
+ printlog "Scenario comment: 기본값"
+ printlog "Color index: 9"
+ printlog "Display border checked"
+ printlog "Copy back checked"
+ printlog "Copy entire sheet unchecked"
+ printlog "Prevent changes unchecked"
+ sleep(1)
+ '///<li>Create a another scenario on this selection</li>///
+ subCreateScenario ( "1标准9" , "2預設0" , 16 , 0 , 0 , 1 , 1 )
+ printlog "Scenario name: 1标准9"
+ printlog "Scenario comment: 2預設0"
+ printlog "Color index: 16"
+ printlog "Display border unchecked"
+ printlog "Copy back unchecked"
+ printlog "Copy entire sheet checked"
+ printlog "Prevent changes checked"
+ sleep(1)
+ printlog "Save in current default format"
+ if hFileSaveAsWithFilterKill ( sOutputFile , "calc8" ) = FALSE then
+ warnlog "Saving " & sOutputFile & " failed! -> Exiting test!"
+ call hCloseDocument
+ else
+ printlog "Close the document."
+ call hCloseDocument
+ sleep(3)
+ printlog "Unpack storage of test document."
+ UnpackStorage( sOutputFile , sUnpackedStorageDir )
+ printlog "Read the test documents DOM."
+ SAXReadFile( sContentXML )
+ sleep(2)
+ printlog "Set the DOM pointer on element 'office:spreadsheet'"
+ printlog "|-/"
+ SAXSeekElement( "/" )
+ printlog " |-office:document-content"
+ SAXSeekElement( "office:document-content" )
+ printlog " |-office:body"
+ SAXSeekElement( "office:body" )
+ printlog " |-office:spreadsheet"
+ SAXSeekElement( "office:spreadsheet" )
+ printlog "For all tables check if they are scenarios"
+ printlog "For those tables which are scenarios check correct attributes"
+ for iIndex = 1 to 7
+ printlog " |-table:table"
+ SAXSeekElement( "table:table" , iIndex )
+ select case iIndex
+ case 1 : subCheckScenarioInContentXML ( "Ten" , FALSE )
+ case 2 : subCheckScenarioInContentXML ( _
+ "Scenario_XML_Test" , TRUE , TRUE , "#000000" , TRUE , "false" , FALSE , "false" , _
+ "Scenario_XML_Test.C3:Scenario_XML_Test.C5" , "Created by Peter Junge" )
+ case 3 : subCheckScenarioInContentXML ( _
+ "AnotherScenario" , TRUE , FALSE , "#ff0000" , FALSE , "false" , TRUE , "true" , _
+ "AnotherScenario.C3:AnotherScenario.C5" , "Random Comment" )
+ case 4 : subCheckScenarioInContentXML ( "Moves" , FALSE )
+ case 5 : subCheckScenarioInContentXML ( _
+ "標準" , TRUE , FALSE , "#c0c0c0" , FALSE , "false" , FALSE , "false" , _
+ "標準.D5:標準.D7" , "기본값" )
+ case 6 : subCheckScenarioInContentXML ( _
+ "1标准9" , TRUE , TRUE , "#ffffff" , TRUE , "false" , TRUE , "true" , _
+ "1标准9.D5:1标准9.D7" , "2預設0" )
+ case 7 : subCheckScenarioInContentXML ( "Ahead" , FALSE )
+ end select
+ SAXSeekElement( 0 )
+ next iIndex
+ printlog "Check if too much sheets exist"
+ try
+ SAXSeekElement( "table:table" , 8 )
+ warnlog "OOPS, it's expected to have only seven sheet but we got eight or more -> Check this out!"
+ SAXSeekElement( 0 )
+ catch
+ endcatch
+ endif
+ SAXRelease
+endcase
+'
+'---------------------------------------------------------------------------
+'
+sub subCreateScenario ( sScenarioName as STRING, _
+ sComment as STRING, _
+ iColorIndex as INTEGER, _
+ bDisplayBorder as BOOLEAN, _
+ bCopyBack as BOOLEAN, _
+ bCopyEntireSheet as BOOLEAN, _
+ bPreventChanges as BOOLEAN )
+
+ printlog "tools / scenarios..."
+ ToolsScenarios
+ Kontext "SzenarioAnlegen"
+ printlog "Set options as requested through arguments"
+ SzenarioName.SetText ( sScenarioName )
+ Kommentar.SetText ( sComment )
+ Rahmenfarbe.Select ( iColorIndex )
+ if bDisplayBorder then
+ RahmenAnzeigen.Check
+ else
+ RahmenAnzeigen.UnCheck
+ endif
+ if bCopyBack then
+ Zurueckkopieren.Check
+ else
+ Zurueckkopieren.UnCheck
+ endif
+ if bCopyEntireSheet then
+ GanzeTabelle.Check
+ else
+ GanzeTabelle.UnCheck
+ endif
+ if bPreventChanges then
+ PreventChanges.Check
+ else
+ PreventChanges.UnCheck
+ endif
+ printlog "OK"
+ SzenarioAnlegen.OK
+ sleep(1)
+end sub
+'
+'---------------------------------------------------------------------------
+'
+sub subCheckScenarioInContentXML ( sTableName as STRING , _
+ bTableShouldBeScenario as BOOLEAN , _
+ optional bCheckDisplayBorder as BOOLEAN , _
+ optional sBorderColor as STRING , _
+ optional bCheckCopyBack as BOOLEAN , _
+ optional sCopyStyles as STRING , _
+ optional bCheckProtected as BOOLEAN , _
+ optional sIsActive as STRING , _
+ optional sScenarioRanges as STRING , _
+ optional sComment as STRING)
+
+'///<u><b>Check attibutes for scenarios in 'content.xml'</b></u>///
+dim bTableIsScenario as BOOLEAN
+ bTableIsScenario = FALSE
+'///<ul>
+ '///<li>Check correct table name</li>///
+ if SAXGetAttributeValue( "table:name" ) = sTableName then
+ printlog "Table name is as expected"
+ else
+ warnlog "Table name is " & SAXGetAttributeValue( "table:name" ) & " instead of " & sTableName
+ endif
+ '///<li>Find out if current table is a scenario</li>///
+ try
+ SAXSeekElement( "table:scenario")
+ bTableIsScenario = TRUE
+ if bTableShouldBeScenario then
+ printlog "OK, this table is a scenario!"
+ else
+ warnlog "OOPS, this table shouldn't be a scenario -> Check this out!"
+ endif
+ catch
+ if bTableShouldBeScenario then
+ warnlog "OOPS, this table should be a scenario but it isn't -> Check this out!"
+ else
+ printlog "Right, this table isn't a scenario"
+ endif
+ endcatch
+ '///<li>Check scenario attributes</li>///
+ if bTableShouldBeScenario AND bTableIsScenario then
+ if bCheckDisplayBorder then
+ if SAXGetAttributeValue ( "table:display-border" ) = "false" then
+ printlog "OK, attribute 'table:display-border' has expected value: 'false'"
+ else
+ warnlog "OOPS, attribute 'table:display-border' has unexpected value: " & SAXGetAttributeValue( "table:display-border" )
+ endif
+ else
+ if SAXGetAttributeValue ( "table:display-border" ) <> "" then
+ warnlog "OOPS, attribute 'table:display-border' shouldn't exist here"
+ endif
+ endif
+
+ if SAXGetAttributeValue( "table:border-color" ) = sBorderColor then
+ printlog "OK, attribute 'table:border-color' has expected value"
+ else
+ warnlog "OOPS, attribute 'table:border-color' has unexpected value: " & SAXGetAttributeValue( "table:border-color" )
+ endif
+
+ if bCheckCopyBack then
+ if SAXGetAttributeValue( "table:copy-back" ) = "false" then
+ printlog "OK, attribute 'table:copy-back' has expected value: 'false'"
+ else
+ warnlog "OOPS, attribute 'table:copy-back' has unexpected value: " & SAXGetAttributeValue( "table:copy-back" )
+ endif
+ else
+ if SAXGetAttributeValue ( "table:copy-back" ) <> "" then
+ warnlog "OOPS, attribute 'table:copy-back' shouldn't exist here"
+ endif
+ endif
+
+ if SAXGetAttributeValue( "table:copy-styles" ) = sCopyStyles then
+ printlog "OK, attribute 'table:copy-styles' has expected value"
+ else
+ warnlog "OOPS, attribute 'table:copy-styles' has unexpected value: " & SAXGetAttributeValue( "table:copy-styles" )
+ endif
+
+ if bCheckProtected then
+ if SAXGetAttributeValue( "table:protected" ) = "true" then
+ printlog "OK, attribute 'table:protected' has expected value: 'true'"
+ else
+ warnlog "OOPS, attribute 'table:protected' has unexpected value: " & SAXGetAttributeValue( "table:protected" )
+ endif
+ else
+ if SAXGetAttributeValue ( "table:protected" ) <> "" then
+ warnlog "OOPS, attribute 'table:protected' shouldn't exist here"
+ endif
+ endif
+
+ if SAXGetAttributeValue( "table:is-active" ) = sIsActive then
+ printlog "OK, attribute 'table:is-active' has expected value"
+ else
+ warnlog "OOPS, attribute 'table:is-active' has unexpected value: " & SAXGetAttributeValue( "table:is-active" )
+ endif
+
+ if SAXGetAttributeValue( "table:scenario-ranges" ) = sScenarioRanges then
+ printlog "OK, attribute 'table:scenario-ranges' has expected value"
+ else
+ warnlog "OOPS, attribute 'table:scenario-ranges' has unexpected value: " & SAXGetAttributeValue( "table:scenario-ranges" )
+ qaErrorLog "Expected: " & sScenarioRanges
+ endif
+
+ if SAXGetAttributeValue( "table:comment" ) = sComment then
+ printlog "OK, attribute 'table:comment' has expected value"
+ else
+ warnlog "OOPS, attribute 'table:comment' has unexpected value: " & SAXGetAttributeValue( "table:comment" )
+ qaErrorLog "Expected: " & sComment
+ endif
+ else
+ printlog "Checking scenario details was skipped!"
+ endif
+
+ if bTableIsScenario then
+ SAXSeekElement( 0 )
+ endif
+'///</ul>
+end sub
+
+
diff --git a/testautomation/xml/optional/includes/ch_xml_japanese_candlestick.inc b/testautomation/xml/optional/includes/ch_xml_japanese_candlestick.inc
new file mode 100644
index 000000000000..f6a50d831649
--- /dev/null
+++ b/testautomation/xml/optional/includes/ch_xml_japanese_candlestick.inc
@@ -0,0 +1,143 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : testing japanese candle strick feature in chart
+'*
+'*************************************************************************************************
+'*
+' #1 tJapaneseCandlestickChart 'Check content.xml for attribute chart:japanese-candle-stick
+'*
+'\*************************************************************************************************
+
+testcase tJapaneseCandlestickChart
+ 'Note: Only variant 2 and 4 using the chart:japanese-candle-stick attribute
+ dim iTypeNum as INTEGER
+ dim iSaxSeekIndex as INTEGER
+ dim sOutputFile as STRING
+ dim sChartContentXML as STRING
+ dim sUnpackedStorageDir as STRING
+ dim sAttrValue as STRING
+
+ for iTypeNum = 1 to 4
+ if iTypeNum = 2 or iTypeNum = 4 then
+ sOutputFile = gOfficePath & ConvertPath("user\work\japaneseCandlestickType" & iTypeNum & ".ods")
+ sUnpackedStorageDir = gOfficePath & ConvertPath("user\work\japaneseCandlestickType") & iTypeNum
+ if (dir(sUnpackedStorageDir) <> "") then
+ RmDir (sUnpackedStorageDir)
+ endif
+ sChartContentXML = gOfficePath & ConvertPath("user\work\japaneseCandlestickType" & iTypeNum & "\Object 1\content.xml")
+ printlog "File / New / Spreadsheet"
+ Call hNewDocument
+ Kontext "DocumentCalc"
+ Kontext "RechenleisteCalc"
+ if not RechenleisteCalc.isvisible then
+ ViewToolbarsFormulaBar
+ end if
+ sleep(2)
+ printlog "Type in the 'Name Box' of the 'Formula Bar' [CTRL+A]"
+ Kontext "RechenleisteCalc"
+ Bereich.TypeKeys "<MOD1 A>"
+ printlog "and then 'A1:F10' to select a range"
+ Bereich.TypeKeys "A1:F10"
+ sleep(1)
+ printlog "Type [RETURN]"
+ Bereich.TypeKeys "<RETURN>"
+ sleep(2)
+ Kontext "DocumentCalc"
+ printlog "In the Calc document write '=rand()[SHIFT MOD1 RETURN]'"
+ DocumentCalc.typekeys("=rand()<SHIFT MOD1 RETURN>")
+ printlog "Insert / Chart"
+ InsertChartCalc
+ sleep(2)
+ Kontext "ChartType"
+ printlog "Select Type 8 'Stock Chart'"
+ ChooseType.Select(8)
+ printlog "Select Type 2 or 4"
+ variant.typeKeys "<HOME>"
+ variant.typeKeys "<RIGHT>", (iTypeNum - 1)
+ printlog "Click FINISH button"
+ Kontext "ChartWizard"
+ ChartWizard.OK
+ sleep(2)
+ Kontext "DocumentCalc"
+ printlog "Type twice [ESCAPE]"
+ DocumentCalc.TypeKeys "<ESCAPE>" , 2
+ sleep(2)
+ printlog "Save document in the OpenDocument format (should be default)"
+ printlog " as gOfficePath/user/work/japaneseCandlestickType[2|4].ods"
+ if hFileSaveAsWithFilterKill (sOutputFile , "calc8") = FALSE then
+ warnlog "Saving " & sOutputFile & " failed! -> Exiting test!"
+ call hCloseDocument
+ goto endsub
+ else
+ printlog "File / Close"
+ call hCloseDocument
+ sleep(3)
+ printlog "Unzip or unjar the gOfficePath/user/work/japaneseCandlestickType[2|4].ods"
+ printlog "into the directory gOfficePath/user/work/japaneseCandlestickType[2|4]"
+ UnpackStorage(sOutputFile, sUnpackedStorageDir)
+ printlog "Read the test documents DOM."
+ printlog "Use an XML editor like jEdit and open the"
+ printlog "structure of the XML file gOfficePath/user/work/japaneseCandlestickType[2|4]/Object 1/content.xml"
+ SAXReadFile(sChartContentXML)
+ sleep(2)
+ printlog "Set the DOM pointer on element 'office:automatic-styles'"
+ SAXSeekElement("/")
+ printlog "The test case is passed if..."
+ printlog "office:document-content"
+ printlog "office:automatic-styles"
+ printlog "style:style"
+ printlog "..in one of the 10 style:style elements there should be a"
+ printlog "style:chart-properties"
+ printlog "chart:japanese-candle-stick"
+ printlog "with the value true"
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ for iSaxSeekIndex = 1 to 10
+ SAXSeekElement("style:style" , iSaxSeekIndex)
+ if SAXHasElement("style:chart-properties") then
+ SAXSeekElement("style:chart-properties")
+ if SaxGetAttributeName(1) = "chart:japanese-candle-stick" then
+ printlog "Found attribute 'chart:japanese-candle-stick'"
+ sAttrValue = SAXGetAttributeValue("chart:japanese-candle-stick")
+ if lcase(sAttrValue) = "true" then
+ printlog "Expected value of 'chart:japanese-candle-stick' = true was found"
+ exit for
+ endif
+ endif
+ SAXSeekElement(0)
+ endif
+ SAXSeekElement(0)
+ next iSaxSeekIndex
+ SAXRelease
+ endif
+ endif
+ next iTypeNum
+endcase
+
diff --git a/testautomation/xml/optional/includes/docbook_001.inc b/testautomation/xml/optional/includes/docbook_001.inc
new file mode 100644
index 000000000000..aa2a2322f791
--- /dev/null
+++ b/testautomation/xml/optional/includes/docbook_001.inc
@@ -0,0 +1,121 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : Library for DocBook XML Im-/Export Test
+'*
+'\***********************************************************************
+
+sub tDocBookXMLtestdocs
+ Dim sSourceDocuments(500) as string
+ Dim i as integer, iNumberOfDocuments as integer
+
+ printlog "Checking under Tools -> XML Filter Settings that the DocBook XSLT Filter has been installed."
+ printlog "If not install them from ../global/input/xslt_stylesheets/docbook_xhtml.jar"
+ if fInitialXMLSetting("docbook") = FALSE then
+ warnlog "The DocBook XSLT filter has not been installed!"
+ warnlog "Aborting!"
+ exit sub
+ end if
+ 'Calculating how many documents are in that directory (max. 500)
+ if FileExists(sSourcePath) then
+ 'Get the file list and put it in a list (max. 500 per directory!)
+ call GetAllFileList(sSourcePath, "*.xml" , sSourceDocuments())
+ iNumberOfDocuments = ListCount(sSourceDocuments())
+ printlog iNumberOfDocuments & " DocBook XML files found in " & sSourcePath & "."
+ if iNumberOfDocuments > 0 then
+ for i = 2 to iNumberOfDocuments
+ 'Call the testcase with each document.
+ call fLoadDocBookXMLAndSaveIt(sSourceDocuments(i))
+ next i
+ else
+ warnlog "Path " & sSourcePath & " contains no documents!"
+ end if
+ else
+ warnlog "Path " & sSourcePath & " has not been found!"
+ end if
+end sub
+
+'-------------------------------------------------------------------------
+
+testcase fLoadDocBookXMLAndSaveIt(sSourceDocument as string)
+Dim sExpFileName as string
+Dim sFileName as string
+
+sFileName = DateiExtract(sSourceDocument)
+sExpFileName = sDestinationPath & sFileName
+
+ printlog "Load test document " & sFileName & "."
+ call hFileOpen (sSourceDocument)
+ printlog "If the document can not be loaded as XML file (wrong Doctype) it will be loaded as ASCII."
+ Kontext "AsciiFilterOptionen"
+ if AsciiFilterOptionen.Exists(2) then
+ AsciiFilterOptionen.Cancel
+ QAErrorLog "The DTD may be does not match. Work around is to load it as ASCII file."
+ Goto Endsub
+ end if
+ printlog "If the Filter Selection dialog occours the try to select the 'DocBook' entry."
+ Kontext "FilterAuswahl"
+ if FilterAuswahl.Exists(2) then
+ QAErrorLog "Filter selection dialog occoured!"
+ Filter.Select "DocBook"
+ FilterAuswahl.OK
+ end if
+ 'If there is no document being loaded only the 'backing window' would be visible
+ if GetDocumentCount = 0 then
+ warnlog "Document " & sFileName & " has not been loaded! It won't be exported! verify manually!"
+ else
+ printlog "Save the test document as " & sExpFileName
+ if hFileSaveAsWithFilterKill(sExpFileName, "DocBook File") = TRUE then
+ printlog "Close the document also if there is a verification dialog."
+ call hCloseDocument
+ printlog "Check the well formness of the saved document."
+ if XMLWellformed (sExpFileName) = FALSE then
+ warnlog "XML-file " & sExpFileName & " not well formed or does not exist!"
+ else
+ printlog "Open the exported document."
+ call hFileOpen (sExpFileName)
+ Kontext "FilterAuswahl"
+ if FilterAuswahl.Exists(2) then
+ QAErrorLog "Filter selection dialog occoured!"
+ Filter.Select "DocBook"
+ FilterAuswahl.OK
+ end if
+ if GetDocumentCount = 0 then
+ warnlog "EXPORTED document " & sExpFileName & " has not been loaded! It won't be exported! verify manually!"
+ else
+ printlog "Close the exported document."
+ call hCloseDocument
+ end if
+ end if
+ else
+ warnlog "Exporting XML file (" & sExpFileName & ") failed!"
+ end if
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/f_xml_save_ms_ole.inc b/testautomation/xml/optional/includes/f_xml_save_ms_ole.inc
new file mode 100644
index 000000000000..0cbf8244512e
--- /dev/null
+++ b/testautomation/xml/optional/includes/f_xml_save_ms_ole.inc
@@ -0,0 +1,251 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : Conversion of Microsoft OLE objects in dependency of settings in Tools::Options::Load/Save::MS_Office
+'*
+'************************************************************************
+'*
+' #1 ms_ole ' Initial routine
+' #1 tXML_OLE_Conversion
+' #1 subSetConversionMicrosoftOLE
+'*
+'\************************************************************************
+
+testcase tXML_OLE_Conversion ( sCurrentTestDocument as STRING )
+ dim iIndex as INTEGER
+ dim sInputFile as STRING
+ sInputFile = convertpath ( gTesttoolpath & "xml/optional/input/framework/ms_ole/" & sCurrentTestDocument )
+ dim sSplitCurrentTestDocument() as STRING
+ sSplitCurrentTestDocument() = split ( sCurrentTestDocument , "." )
+ dim sCurrentFileName as STRING
+ sCurrentFileName = sSplitCurrentTestDocument ( 0 )
+ dim sCurrentExtension as STRING
+ sCurrentExtension = sSplitCurrentTestDocument ( 1 )
+ dim sCurrentOLE as STRING
+ sCurrentOLE = left ( sCurrentTestDocument , 3 )
+ dim sExtNames( 5 ) AS String
+ dim sCurrentExtensionOasis as STRING
+ select case sCurrentExtension
+ case ( "doc" ) : sExtNames() = hGetFilternameExtension ( "writer8" )
+ case ( "xls" ) : sExtNames() = hGetFilternameExtension ( "calc8" )
+ case ( "ppt" ) : sExtNames() = hGetFilternameExtension ( "impress8" )
+ end select
+ sCurrentExtensionOasis = " (." & sExtNames(0) & ")"
+ dim sCurrentFilter as STRING
+ select case sCurrentExtension
+ case ( "doc" ) : sCurrentFilter = "writer8"
+ case ( "xls" ) : sCurrentFilter = "calc8"
+ case ( "ppt" ) : sCurrentFilter = "impress8"
+ end select
+ dim sConversionSettings as STRING
+ dim sStorageName as STRING
+ sStorageName = ( gOfficePath & ConvertPath("user\work\xml_") & sCurrentFileName )
+ dim sOutputFile as STRING
+ dim sUnpackedStorageDir as STRING
+ dim sContentXML as STRING
+ dim sContentXMLObject as STRING
+ dim bContentXMLObjectExists as BOOLEAN
+ dim sRelativePathToObject as STRING
+ for iIndex = 1 to 4
+ printlog "Set desired conversion options in Tools::Options::Load/Save::MS Office"
+ select case iIndex
+ case 1 : sConversionSettings = "RESET"
+ case 2 : sConversionSettings = "SAVE"
+ case 3 : sConversionSettings = "LOAD"
+ case 4 : sConversionSettings = "ALL"
+ end select
+ call subSetConversionMicrosoftOLE ( sConversionSettings )
+ sleep(2)
+ sOutputFile = sStorageName & "_" & sConversionSettings & "." & sExtNames(0)
+ sUnpackedStorageDir = sOutputFile & "_unpacked"
+ 'Erase storage dirctory if exists
+ if (dir ( sUnpackedStorageDir ) <> "" ) then
+ rmDir ( sUnpackedStorageDir )
+ if (dir ( sUnpackedStorageDir ) <> "" ) then
+ warnlog "Removing directory failed. Exiting test."
+ goto endsub
+ endif
+ endif
+ sContentXML = sUnpackedStorageDir & ConvertPath( "\content.xml" )
+ printlog "Open test document (MS format)"
+ call hFileOpen(sInputFile)
+ printlog Chr(13) & "Loading: " & sInputFile
+ sleep(2)
+ printlog "Save document in OpenDocument format"
+ if hFileSaveAsWithFilterKill ( sOutputFile , sCurrentFilter ) = FALSE then
+ warnlog "Saving the testdocument failed!"
+ endif
+ sleep(2)
+ printlog "Close document"
+ call hCloseDocument
+ sleep(2)
+ printlog "Unpack storage to obtain the XML files"
+ try
+ UnpackStorage( sOutputFile , sUnpackedStorageDir )
+ catch
+ qaErrorLog "#i52632# - Unpacking XML storage failed -> we quit this iteration"
+ goto skipThisIteration 'Quit only current Iteration (not testcase) on error
+ endcatch
+ printlog "Read DOM of content.xml"
+ SAXReadFile( sContentXML )
+ sleep(2)
+ printlog "Set the DOM pointer on element 'office:body'"
+ SAXSeekElement( "/" )
+ SAXSeekElement( "office:document-content" )
+ SAXSeekElement( "office:body" )
+ printlog "Use recursion to find XML element 'draw:object-ole' or'draw:object'"
+ select case sConversionSettings
+ case "RESET" , "SAVE"
+ if hXMLSeekElementInTree ( "draw:object-ole" ) = FALSE then
+ warnlog "Not finding the node 'draw:object-ole' is unexpected -> Check this out!"
+ SAXRelease
+ goto skipThisIteration 'Quit only current Iteration (not testcase) on error
+ endif
+ case "LOAD" , "ALL"
+ if hXMLSeekElementInTree ( "draw:object" ) = FALSE then
+ warnlog "Not finding the node 'draw:object' is unexpected -> Check this out!"
+ SAXRelease
+ goto skipThisIteration 'Quit only current Iteration (not testcase) on error
+ endif
+ end select
+ sRelativePathToObject = SAXGetAttributeValue( "xlink:href" )
+ sRelativePathToObject = Right ( sRelativePathToObject , Len ( sRelativePathToObject ) - 1 )
+ sContentXMLObject = sUnpackedStorageDir & ConvertPath ( sRelativePathToObject & "\content.xml" )
+ printlog "Check existence of objects 'content.xml' in dependency of settings in Tools::Options::Load/Save::MS_Office"
+ printlog "Lookup if objects 'content.xml' exists - TRUE for OASIS OLE, FALSE for MS OLE"
+ if (dir ( sContentXMLObject ) <> "" ) then
+ bContentXMLObjectExists = TRUE
+ else
+ bContentXMLObjectExists = FALSE
+ endif
+ printlog "Verify result against expectations for existence of objects 'content.xml'"
+ select case sConversionSettings
+ case "RESET" , "SAVE"
+ if bContentXMLObjectExists then
+ warnlog "+ OOPS, 'content.xml' shouldn't exist in MS OLE directory -> Check this out!"
+ endif
+ case "LOAD" , "ALL"
+ if bContentXMLObjectExists = FALSE then
+ warnlog "+ OOPS, 'content.xml' must exist in OASIS OLE directory -> Check this out!"
+ endif
+ end select
+ printlog "Release documents DOM"
+ SAXRelease
+ if bContentXMLObjectExists then
+ printlog "Read the OLE object DOM."
+ SAXReadFile( sContentXMLObject )
+ sleep(2)
+ printlog "Check if expected OLE object was found in 'content.xml'"
+ SAXSeekElement( "/" )
+ select case sCurrentOLE
+ case "mat"
+ SAXSeekElement( 1 )
+ if SAXGetElementName() <> "math" then
+ warnlog "A Math object was expected here -> Check this out!"
+ endif
+ case else
+ SAXSeekElement( "office:document-content" )
+ SAXSeekElement( "office:body" )
+ SAXSeekElement( 1 )
+ select case sCurrentOLE
+ case "exc"
+ if SAXGetElementName() <> "office:spreadsheet" then
+ warnlog "+ OOPS, this OLE seems to be no spreadsheet -> Check this out!"
+ endif
+ case "ppt"
+ if SAXGetElementName() <> "office:presentation" then
+ warnlog "+ OOPS, this OLE seems to be no presentation -> Check this out!"
+ endif
+ case "wor"
+ if SAXGetElementName() <> "office:text" then
+ warnlog "+ OOPS, this OLE seems to be no text -> Check this out!"
+ endif
+ end select
+ end select
+ SAXRelease
+ endif
+ skipThisIteration:
+ next iIndex
+endcase
+'
+'-----------------------------------------------------------------------------
+'
+sub subSetConversionMicrosoftOLE ( OPTIONAL sConversionType as STRING )
+'Routine to adjust the behaviour of Tools::Options::Load/Save::Microsoft Office
+'Possible Keys for 'sConversionType' are:
+'RESET (or omitted): Uncheck all boxes (default in a freshly installed OOo))
+'ALL: Check all boxes
+'LOAD: Check all boxes for loading MS OLE objects (left side), uncheck all boxes for saving
+'SAVE: Check all boxes for saving MS OLE objects (right side), uncheck all boxes for loading
+'For other values the subroutine will exit
+
+ if IsMissing ( sConversionType ) then
+ sConversionType = "RESET"
+ end if
+ dim iPosInAuswahl as INTEGER
+ dim iExtraToggle as INTEGER
+
+ 'Determine value of 'iExtraToggle' for known keys
+ select case sConversionType
+ case "RESET" : iExtraToggle = 1
+ case "ALL" : iExtraToggle = 2
+ case "LOAD" : iExtraToggle = 3
+ case "SAVE" : iExtraToggle = 4
+ case else
+ warnlog "Unknown keyword for paramter -> Exit the subroutine"
+ qaErrorLog "Valid keywords are RESET, ALL, LOAD and SAVE!"
+ exit sub
+ end select
+
+ printlog "Invoke Tools::Options"
+ ToolsOptions
+ printlog "Go to tabpage Load/Save::Microsoft Office"
+ call hToolsOptions ( "LOADSAVE" , "MICROSOFTOFFICE" )
+ printlog "Go to top entry in listbox"
+ Auswahl.TypeKeys( "<PageUp>" )
+ printlog "Toggle (in a tricky way) to a defined state of checkboxes"
+ for iPosInAuswahl = 1 to 4
+ Auswahl.TypeKeys ( "<RIGHT>" , 2 )
+ while NOT Auswahl.IsChecked
+ Auswahl.TypeKeys ( "<Space>" )
+ wend
+ while Auswahl.IsChecked
+ Auswahl.TypeKeys ( "<Space>" )
+ wend
+ printlog "Toggle to desired state of boxes"
+ Auswahl.TypeKeys ( "<Space>" , iExtraToggle )
+ printlog "Go one entry down in list box"
+ Auswahl.TypeKeys ( "<Down>" )
+ printlog "Loop for all lines"
+ next iPosInAuswahl
+ printlog "Quit dialog"
+ Kontext "OptionenDLG"
+ OptionenDLG.Ok
+end sub
+
diff --git a/testautomation/xml/optional/includes/sxc7_01.inc b/testautomation/xml/optional/includes/sxc7_01.inc
new file mode 100644
index 000000000000..0dace41f0ca4
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxc7_01.inc
@@ -0,0 +1,696 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : XML Calc Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxc7_01
+
+ printlog "--------------------------- sxc_01.inc ------------------------------"
+ printlog "------------------------ Alien Attributes ---------------------------"
+ call tAlienAttributes
+ printlog "---------------------- File Format Changes --------------------------"
+ call tfeat906
+ printlog "------------------------------ Cells --------------------------------"
+ call tCellformats1
+
+ call tCellformats2
+ call tCellformats3
+
+end sub
+
+'-------------------------------------------------------------------------
+testcase tAlienAttributes
+ Dim i as integer
+ Dim a as integer
+ Dim c as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttrNameInDOM as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+
+ printlog "+- alien_attributes.sxc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\ooo10\alien_attributes.sxc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes\content.xml"))
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:foo=&quot;http://openoffice.org/2000/foo&quot;
+ '///+ Searching for: xmlns:bla=&quot;http://openoffice.org/2000/bla&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:foo"
+ AttributeValue(1) = "http://openoffice.org/2000/foo"
+
+ AttributeSearch(2) = "xmlns:bla"
+ AttributeValue(2) = "http://openoffice.org/2000/bla"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ printlog " * * *"
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a cell style</b></li>
+ '///+<li><b>in a paragraph style (twice)</b></li>
+ '///+<li><b>in a text style (twice)</b></li>
+ '///+<li><b>in a graphic style</b></li></ol>
+ '///+ Searching for: bla=&quot;holla&quot;
+ '///+ Searching for: bla1=&quot;holla1&quot;
+ '///+ Searching for: bla2=&quot;holla2&quot;
+ '///+ Searching for: foo:foobla=&quot;holla&quot;
+ '///+ Searching for: foo:foobla1=&quot;holla1&quot;
+ '///+ Searching for: foo:foobla2=&quot;holla2&quot;
+ '///+ Searching for: bla:blabla=&quot;holla&quot;
+ '///+ Searching for: bla:blabla1=&quot;holla1&quot;
+ '///+ Searching for: bla:blabla2=&quot;holla2&quot;
+ AttributeSearch(1) = "bla"
+ AttributeValue(1) = "holla"
+ AttributeSearch(2) = "bla1"
+ AttributeValue(2) = "holla1"
+ AttributeSearch(3) = "bla2"
+ AttributeValue(3) = "holla2"
+ AttributeSearch(4) = "foo:foobla"
+ AttributeValue(4) = "holla"
+ AttributeSearch(5) = "foo:foobla1"
+ AttributeValue(5) = "holla1"
+ AttributeSearch(6) = "foo:foobla2"
+ AttributeValue(6) = "holla2"
+ AttributeSearch(7) = "bla:blabla"
+ AttributeValue(7) = "holla"
+ AttributeSearch(8) = "bla:blabla1"
+ AttributeValue(8) = "holla1"
+ AttributeSearch(9) = "bla:blabla2"
+ AttributeValue(9) = "holla2"
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ for c = 1 to 6
+ if c = 1 then
+ printlog "---------------------------------------"
+ printlog "Hidden attributes in a cell style"
+ printlog "---------------------------------------"
+ end if
+ if c = 2 OR c = 3 then
+ printlog "---------------------------------------"
+ printlog "Hidden attributes in a paragraph style (" & c-1 & ")"
+ printlog "---------------------------------------"
+ end if
+ if c = 4 or c = 5 then
+ printlog "---------------------------------------"
+ printlog "Hidden attributes in a text style (" & c-3 & ")"
+ printlog "---------------------------------------"
+ end if
+ if c = 6 then
+ printlog "---------------------------------------"
+ printlog "Hidden attributes in a graphic style"
+ printlog "---------------------------------------"
+ end if
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ 'The hidden attributes are in a known sequence included,
+ 'so the same routine will be used for different styles!
+
+ 'Note: The first four style:style elements do not have any hidden attributes -> 4+c.
+ SAXSeekElement("style:style" , 4+c )
+ AttrNameInDOM = SAXGetAttributeValue("style:name")
+ printlog " + Style name: " & AttrNameInDOM
+ printlog " |"
+ SAXSeekElement("style:properties")
+ for i = 1 to 9
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ 'c = <nr> means <nr>'th+4 style:style in DOM tree
+ if c = 1 then
+ warnlog "Hidden attributes (in a cell style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if c = 2 or c = 3 then
+' warnlog "Hidden attributes (in a paragraph style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ warnlog "#i100879# : Hidden attributes (in a paragraph style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if c = 4 or c = 5 then
+ warnlog "Hidden attributes (in a text style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if c = 6 then
+ warnlog "Hidden attributes (in a graphic style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ end if
+ next i
+ next c
+ SAXSeekElement("/")
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\calc\level1\alien_attributes\styles.xml"))
+ '-------------------------------------------------------------------------
+ printlog " -------------------"
+ printlog " s t y l e s . x m l"
+ printlog " -------------------"
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>styles.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:foo=&quot;http://openoffice.org/2000/foo&quot;
+ '///+ Searching for: xmlns:bla=&quot;http://openoffice.org/2000/bla&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:foo"
+ AttributeValue(1) = "http://openoffice.org/2000/foo"
+
+ AttributeSearch(2) = "xmlns:bla"
+ AttributeValue(2) = "http://openoffice.org/2000/bla"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ printlog " * * *"
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a table cell template style</b></li>
+ '///+<li><b>in a master page template style</b></li></ol>
+ '///+ Searching for: bla=&quot;holla&quot;
+ '///+ Searching for: bla1=&quot;holla1&quot;
+ '///+ Searching for: bla2=&quot;holla2&quot;
+ '///+ Searching for: foo:foobla=&quot;holla&quot;
+ '///+ Searching for: foo:foobla1=&quot;holla1&quot;
+ '///+ Searching for: foo:foobla2=&quot;holla2&quot;
+ '///+ Searching for: bla:blabla=&quot;holla&quot;
+ '///+ Searching for: bla:blabla1=&quot;holla1&quot;
+ '///+ Searching for: bla:blabla2=&quot;holla2&quot;
+ AttributeSearch(1) = "bla"
+ AttributeValue(1) = "holla"
+ AttributeSearch(2) = "bla1"
+ AttributeValue(2) = "holla1"
+ AttributeSearch(3) = "bla2"
+ AttributeValue(3) = "holla2"
+ AttributeSearch(4) = "foo:foobla"
+ AttributeValue(4) = "holla"
+ AttributeSearch(5) = "foo:foobla1"
+ AttributeValue(5) = "holla1"
+ AttributeSearch(6) = "foo:foobla2"
+ AttributeValue(6) = "holla2"
+ AttributeSearch(7) = "bla:blabla"
+ AttributeValue(7) = "holla"
+ AttributeSearch(8) = "bla:blabla1"
+ AttributeValue(8) = "holla1"
+ AttributeSearch(9) = "bla:blabla2"
+ AttributeValue(9) = "holla2"
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ for c = 1 to 2
+ SAXSeekElement("/")
+ if c = 1 then
+ printlog "-----------------------------------------------"
+ printlog "Hidden attributes in a template of a cell style"
+ printlog "-----------------------------------------------"
+ SAXSeekElement("office:document-styles")
+ SAXSeekElement("office:styles")
+ SAXSeekElement("style:style" , 2)
+ AttrNameInDOM = SAXGetAttributeValue("style:name")
+ printlog " + Style name: " & AttrNameInDOM
+ printlog " |"
+ end if
+ if c = 2 then
+ printlog "------------------------------------------------------"
+ printlog "Hidden attributes in a template of a master page style"
+ printlog "------------------------------------------------------"
+ SAXSeekElement("office:document-styles")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:page-master")
+ AttrNameInDOM = SAXGetAttributeValue("style:name")
+ printlog " + Style name: " & AttrNameInDOM
+ printlog " |"
+ end if
+ SAXSeekElement("style:properties")
+ for i = 1 to 9
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ if c = 1 then
+ warnlog "Hidden attributes (in a template of a cell style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if c = 2 then
+ warnlog "Hidden attributes (in a template of a master page style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ end if
+ next i
+ next c
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ printlog " * * *"
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tfeat906
+ Dim i as integer
+ Dim a as integer
+ Dim c as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttrNameInDOM as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+
+ printlog "+- feat906.sxc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\ooo10\feat906.sxc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\calc\level1\feat906\content.xml"))
+ printlog "-------------------------------"
+ printlog "draw:notify-on-update-of-ranges"
+ printlog "-------------------------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>draw:notify-on-update-of-ranges</u>
+ '/// <i>Feature (Change) 906</i>
+ '///+ <blockquote>The draw:object got a new attribute. This attribute is only
+ '///+ on chart objects given. It gives the ranges or tablenames
+ '///+ of the chart (the ranges or tablenames the chart is
+ '///+ connected to). If the attribute is not given the object
+ '///+ will be loaded otherwise the object is only loaded if in
+ '///+ the ranges or tables is something changed or the object is
+ '///+ showed. If the value of the attribute is empty it is a OLE
+ '///+ chart with its own data.
+ '///+ This increase the performance of loading charts, because
+ '///+ they are only loaded if they are needed.<br>
+ '///+ This attribute <u>replaces</u> the <i>draw:notify-on-update-table</i>
+ '///+ attribute which only was usable by the wordprocessing
+ '///+ application. The new one is used by the wordprocessing and
+ '///+ the spreadsheet application.
+ '///+ The data in this attribute are twice, because the chart has
+ '///+ this data too, but to get this data from the chart it has
+ '///+ to be loaded.</blockquote>
+ '/// Searching for: draw:notify-on-update-of-ranges=&quot;Sheet1.A1:Sheet1.A5&quot;
+
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "draw:notify-on-update-of-ranges"
+ AttributeValue(1) = "Sheet1.A1:Sheet1.A5"
+
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("table:table")
+ SAXSeekElement("table:table-row" , 2)
+ SAXSeekElement("table:table-cell" , 2)
+ SAXSeekElement("draw:object")
+ for i = 1 to 1
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ printlog " * * *"
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tCellformats1
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+
+ printlog "+- cellformats1.sdc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\cellformats1.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+
+ '/// <u><b>content.xml</u></b>
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats1\content.xml"))
+ printlog "-----------"
+ printlog "T A B L E S"
+ printlog "-----------"
+ '/// <u>table style t1</u>
+ '///+ Searching for: style:master-page-name=&quot;Default&quot; ///
+ '///+ Searching for: style:family=&quot;table&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:family"
+ AttributeValue(1) = "table"
+
+ AttributeSearch(2) = "style:master-page-name"
+ AttributeValue(2) = "Default"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ xXMLStyleName = GetItemStyleName ( "office:body", "table:table", "table:table" , 1 , "table:style-name" )
+ printlog " +---------------------------------------------------------"
+ printlog " |" & xXMLStyleName
+ printlog " +---------------------------------------------------------"
+ xPath = GetXMLElementPath( "office:automatic-styles" , "style:style" , "style:name" , xXMLStyleName)
+ for i = 1 to 2
+ SAXSeekElement(xPath)
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Table Style: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ '///+ &nbsp;<i>style properties:</i>
+ '///+ &nbsp;Searching for: table:display=&quot;true&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "table:display"
+ AttributeValue(1) = "true"
+ '-------------------------------------------------------------------------
+ SAXSeekElement(xPath)
+ SAXSeekElement("style:properties")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "style:properties: " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ SAXSeekElement("/")
+ printlog " * * *"
+
+ printlog "---------"
+ printlog "C E L L S"
+ printlog "---------"
+
+ '/// <u>cell style ce2</u>
+ '///+ Searching for: style:family=&quot;table-cell&quot;
+ '///+ Searching for: style:parent-style-name=&quot;Default&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:family"
+ AttributeValue(1) = "table-cell"
+ AttributeSearch(2) = "style:parent-style-name"
+ AttributeValue(2) = "Default"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("table:table")
+ SAXSeekElement("table:table-row" , 2)
+ SAXSeekElement("table:table-cell" , 2)
+ xXMLStyleName = SAXGetAttributeValue("table:style-name")
+ printlog " +---------------------------------------------------------"
+ printlog " |" & xXMLStyleName
+ printlog " +---------------------------------------------------------"
+ xPath = GetXMLElementPath( "office:automatic-styles" , "style:style" , "style:name" , xXMLStyleName)
+ for i = 1 to 2
+ SAXSeekElement(xPath)
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Table Style: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ '///+ &nbsp;<i>style properties:</i>
+ '///+ Searching for: fo:color=&quot;#000000&quot;
+ '///+ Searching for: style:font-name=&quot;Arial&quot;
+ '///+ Searching for: fo:font-size=&quot;10pt&quot;
+ '///+ Searching for: fo:font-style=&quot;italic&quot;
+ '///+ Searching for: style:text-underline=&quot;single&quot;
+ '///+ Searching for: fo:font-weight=&quot;bold&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "fo:color"
+ AttributeValue(1) = "#000000"
+ AttributeSearch(2) = "style:font-name"
+ AttributeValue(2) = "Arial"
+ AttributeSearch(3) = "fo:font-size"
+ AttributeValue(3) = "10pt"
+ AttributeSearch(4) = "fo:font-style"
+ AttributeValue(4) = "italic"
+ AttributeSearch(5) = "style:text-underline"
+ AttributeValue(5) = "single"
+ AttributeSearch(6) = "fo:font-weight"
+ AttributeValue(6) = "bold"
+ '-------------------------------------------------------------------------
+ SAXSeekElement(xPath)
+ SAXSeekElement("style:properties")
+
+ for i = 1 to 6
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "style:properties: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+
+ '/// <u>cell 3</u>
+ '///+ Searching for: style:family=&quot;table-cell&quot;
+ '///+ Searching for: style:parent-style-name=&quot;Default&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:family"
+ AttributeValue(1) = "table-cell"
+ AttributeSearch(2) = "style:parent-style-name"
+ AttributeValue(2) = "Default"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement(1)
+ SAXSeekElement("office:body")
+ SAXSeekElement("table:table")
+ SAXSeekElement("table:table-row" , 4)
+ SAXSeekElement("table:table-cell" , 2)
+ xXMLStyleName = SAXGetAttributeValue("table:style-name")
+ printlog " +---------------------------------------------------------"
+ printlog " |" & xXMLStyleName
+ printlog " +---------------------------------------------------------"
+ xPath = GetXMLElementPath( "office:automatic-styles" , "style:style" , "style:name" , xXMLStyleName)
+ for i = 1 to 2
+ SAXSeekElement(xPath)
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Table Style: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ '///+ &nbsp;<i>style properties:</i>
+ '///+ Searching for: fo:color=&quot;#800000&quot;
+ '///+ Searching for: style:text-outline=&quot;true&quot;
+ '///+ Searching for: style:text-crossing-out=&quot;single-line&quot;
+ '///+ Searching for: fo:font-size=&quot;12pt&quot;
+ '///+ Searching for: fo:language=&quot;en&quot;
+ '///+ Searching for: fo:country=&quot;US&quot;
+ '///+ Searching for: fo:text-shadow=&quot;none&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "fo:color"
+ AttributeValue(1) = "#800000"
+ AttributeSearch(2) = "style:text-outline"
+ AttributeValue(2) = "true"
+ AttributeSearch(3) = "fo:font-size"
+ AttributeValue(3) = "12pt"
+ AttributeSearch(4) = "style:text-crossing-out"
+ AttributeValue(4) = "single-line"
+ AttributeSearch(5) = "fo:text-shadow"
+ AttributeValue(5) = "none"
+ AttributeSearch(6) = "fo:country"
+ AttributeValue(6) = "US"
+ AttributeSearch(7) = "fo:language"
+ AttributeValue(7) = "en"
+ '-------------------------------------------------------------------------
+ SAXSeekElement(xPath)
+ SAXSeekElement("style:properties")
+
+ for i = 1 to 7
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "style:properties: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+
+ '/// <u>cell 4</u>
+ '///+ &nbsp;<i>style properties:</i>
+ '///+ Searching for: style:font-name=&quot;Times New Roman&quot;
+ '///+ Searching for: fo:font-size=&quot;28pt&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:font-name"
+ AttributeValue(1) = "Comic Sans MS"
+ AttributeSearch(2) = "fo:font-size"
+ AttributeValue(2) = "16pt"
+ '-------------------------------------------------------------------------
+ SAXSeekElement(1)
+ SAXSeekElement("office:body")
+ SAXSeekElement("table:table")
+ SAXSeekElement("table:table-row", 6)
+ SAXSeekElement("table:table-cell" , 2)
+ xXMLStyleName = SAXGetAttributeValue("table:style-name")
+ printlog " +---------------------------------------------------------"
+ printlog " |" & xXMLStyleName
+ printlog " +---------------------------------------------------------"
+ xPath = GetXMLElementPath( "office:automatic-styles" , "style:style" , "style:name" , xXMLStyleName)
+ SAXSeekElement(xPath)
+ SAXSeekElement(1)
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "style:properties: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tCellformats2
+ printlog "+- cellformats2.sdc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\cellformats2.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tCellformats3
+ printlog "+- cellformats3.sdc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\cellformats3.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats3.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxc7_02.inc b/testautomation/xml/optional/includes/sxc7_02.inc
new file mode 100644
index 000000000000..8696cb359954
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxc7_02.inc
@@ -0,0 +1,254 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : XML Calc Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxc7_02
+
+ printlog "------------------- sxc_02.inc ---------------------"
+ printlog "---------------------- Cells -----------------------"
+
+ call tcellformats2b
+ call tcellformats5
+ call tcellformats6
+
+ printlog "---------------------- C J K -----------------------"
+
+ call tjapan
+ call tkorean
+ call tsimple_c
+ call trad_c
+
+end sub
+
+'-------------------------------------------------------------------------
+testcase tcellformats2b
+ printlog "+- cellformats2b"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\cellformats2b.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats2b.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+testcase tcellformats5
+ printlog "+- cellformats5.sdc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\cellformats5.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats5.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tcellformats6
+ printlog "+- cellformats6.sdc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\cellformats6.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\cellformats6.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tjapan
+ printlog "+- japan.sxc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\ooo10\japan.sxc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\japan.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\japan.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\japan") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\japan\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\japan\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\japan\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\japan.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tkorean
+ printlog "+- korean.sxc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\ooo10\korean.sxc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\korean.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\korean.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\korean") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\korean\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\korean\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\korean\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\korean.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tsimple_c
+ printlog "+- simple_c.sxc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\ooo10\simple_c.sxc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\simple_c.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase trad_c
+ printlog "+- trad_c.sxc"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\ooo10\trad_c.sxc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c.sxc") , "StarOffice XML (Calc)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\trad_c.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxc7_03.inc b/testautomation/xml/optional/includes/sxc7_03.inc
new file mode 100644
index 000000000000..5c8661303cb3
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxc7_03.inc
@@ -0,0 +1,332 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : oliver.craemer@oracle.com
+'*
+'* short description : XML Calc Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+ Dim iSecurityBefore as integer
+
+sub sxc7_03
+ printlog "------------------- sxc_03.inc ---------------------"
+
+ call tchart_export
+ call tconditional_formatting
+ iSecurityBefore = ""
+ iSecurityBefore = hSetMacroSecurity(1)
+ call tcontrols01
+ call hSetMacroSecurity(iSecurityBefore)
+ call tdatabase_ranges
+ call tfilter_and_subtotals1
+ call tfilter_and_subtotals4
+ call tmatrixformula_and_notes
+ call tpassword3
+end sub
+
+'-------------------------------------------------------------------------
+
+testcase tchart_export
+ printlog "+- chart_export.sdc"
+ if bDebugVersion = TRUE then
+ warnlog "#i41970# Assertion in DEBUG version breaks automated testing. This testcase will be ignored."
+ goto endsub
+ end if
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\chart_export.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\chart_export.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tconditional_formatting
+ printlog "+- conditional_formatting.sdc"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\conditional_formatting.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\conditional_formatting.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tcontrols01
+ Dim cWhereCalled as string
+
+ printlog "+- controls01.sdc"
+
+ cWhereCalled = "xml::level1::inc::sxc7_03.inc::tcontrols01: "
+
+ '/// Open Tools/Options -> OpenOffice.org/Security
+ '/// Click on the macro security button
+ '/// Set the <b>medium</b> security level
+ try
+ if iSecurityBefore = "" then
+ QAErrorLog cWhereCalled & "Macro security level needs to be set before to 1 (medium)!"
+ goto endsub
+ end if
+ catch
+ 'if variable iSecurityBefore is not initialized and causes into an error
+ QAErrorLog cWhereCalled & "Macro security level needs to be set before to 1 (medium)!"
+ goto endsub
+ endcatch
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\controls01.sdc"))
+
+ Kontext "SecurityWarning"
+ if SecurityWarning.Exists(1) then
+ SecurityWarning.OK
+ else
+ warnlog "#i80769# Macros not being loaded. Exiting test case."
+ 'warnlog "No Macro Security Warning occoured while loading 'controls01.sdc'."
+ call hCloseDocument
+ goto endsub
+ end if
+ sleep(2)
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\controls01.sxc"))
+ '/// Accept the security warning and enable executing the macros.
+ Kontext "SecurityWarning"
+ if SecurityWarning.Exists(1) then
+ SecurityWarning.OK
+ else
+ warnlog "Macro will not be loaded due to bug #i80769#"
+ 'warnlog "No Macro Security Warning occoured while loading 'controls01.sxc'."
+ end if
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tdatabase_ranges
+ printlog "+- database_ranges.sdc"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\database_ranges.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\database_ranges.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tfilter_and_subtotals1
+ printlog "+- filter_and_subtotals1"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\filter_and_subtotals1.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals1.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tfilter_and_subtotals4
+ printlog "+- filter_and_subtotals4.sdc"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\filter_and_subtotals4.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\filter_and_subtotals4.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tmatrixformula_and_notes
+ printlog "+- matrixformula_and_notes.sdc"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\matrixformula_and_notes.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\matrixformula_and_notes.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase tpassword3
+ printlog "+- password3.sdc"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\calc\so_binary\password3.sdc"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\calc\level1\password3.sxc") , "StarOffice XML (Calc)") = TRUE then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\calc\level1\password3.sxc") , gOfficePath & ConvertPath("user\work\xml\calc\level1\password3") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\password3\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\password3\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\calc\level1\password3\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\calc\level1\password3.sxc"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxd7_01.inc b/testautomation/xml/optional/includes/sxd7_01.inc
new file mode 100644
index 000000000000..0c1069ff930f
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxd7_01.inc
@@ -0,0 +1,634 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Draw Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxd7_01
+ printlog "------------------- sxd_01.inc ---------------------"
+ printlog "----------------------------------------------------"
+ call talien_attributes
+ printlog "---------------------- C J K -----------------------"
+ call tchinese
+ call tjapan
+ call tkorean
+ call tradchinese
+ printlog "----------------------------------------------------"
+ call t18092
+ call t18093
+ call t18094
+ call t18098
+ call t18099
+ call t18100
+ call t18101
+ call t18102
+ call t18106
+ call t18107
+
+end sub
+
+'-------------------------------------------------------------------------
+
+testcase talien_attributes
+ Dim i as integer
+ Dim AttrNameInDOM as string
+ Dim AttributeSearch(5) as string
+ Dim AttributeValue(5) as string
+ printlog "+- Impress: alien.sxd"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\alien.sxd"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\alien.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\alien.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\alien\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\alien\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\alien\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\alien\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\alien.sxd")
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\draw\level1\alien\content.xml"))
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:alien=&quot;http://openoffice.org/2000/alien&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:alien"
+ AttributeValue(1) = "http://openoffice.org/2000/alien"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ SAXSeekElement("/")
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a drawing-page style</b></li>
+ '///+<li><b>in a graphics style</b></li>
+ '///+<li><b>in a paragraph style (twice)</b></li>
+ '///+<li><b>in a text style</b></li></ol>
+ '///+ Searching for: alien:key=&quot;page&quot;
+ '///+ Searching for: alien:key=&quot;shape&quot;
+ '///+ Searching for: alien:key=&quot;para&quot;
+ '///+ Searching for: alien:key=&quot;shape-text&quot;
+ '///+ Searching for: alien:key=&quot;text&quot;
+ AttributeSearch(1) = "alien:key"
+ AttributeValue(1) = "page"
+
+ AttributeSearch(2) = "alien:key"
+ AttributeValue(2) = "shape"
+
+ AttributeSearch(3) = "alien:key"
+ AttributeValue(3) = "para"
+
+ AttributeSearch(4) = "alien:key"
+ AttributeValue(4) = "shape-text"
+
+ AttributeSearch(5) = "alien:key"
+ AttributeValue(5) = "text"
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ for i = 1 to 5
+ if i = 1 then
+ printlog "-----------------------------------------"
+ printlog "Hidden attributes in a drawing-page style"
+ printlog "-----------------------------------------"
+ end if
+ if i = 2 then
+ printlog "-------------------------------------"
+ printlog "Hidden attributes in a graphics style"
+ printlog "-------------------------------------"
+ end if
+ if i = 3 or i = 4 then
+ printlog "-------------------------------------------"
+ printlog "Hidden attributes in a paragraph style (" & i-2 & ")"
+ printlog "-------------------------------------------"
+ end if
+ if i = 5 then
+ printlog "---------------------------------"
+ printlog "Hidden attributes in a text style"
+ printlog "---------------------------------"
+ end if
+ 'The hidden attributes are in a known sequence included,
+ 'so the same routine will be used for different styles!
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style" , i )
+ AttrNameInDOM = SAXGetAttributeValue("style:name")
+ printlog " + Style name (" & i & "): " & AttrNameInDOM
+ printlog " |"
+ SAXSeekElement("style:properties")
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ 'i = <nr> means <nr>'th style:style in DOM tree
+ if i = 1 then
+ warnlog "Hidden attributes (in a drawing-page style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if i = 2 then
+ warnlog "Hidden attributes (in a graphics style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if i = 3 or i = 4 then
+ warnlog "Hidden attributes (in a paragraph style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if i = 5 then
+ warnlog "Hidden attributes (in a text style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\draw\level1\alien\styles.xml"))
+ '-------------------------------------------------------------------------
+ printlog " -------------------"
+ printlog " s t y l e s . x m l"
+ printlog " -------------------"
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>styles.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:alien=&quot;http://openoffice.org/2000/alien&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:alien"
+ AttributeValue(1) = "http://openoffice.org/2000/alien"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ SAXSeekElement("/")
+ printlog "----------------------------------------"
+ printlog "Hidden attributes in a master-page style"
+ printlog "----------------------------------------"
+ '-------------------------------------------------------------------------
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a master-page style</b></li></ol>
+ '///+ Searching for: alien:key=&quot;master-page&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "alien:key"
+ AttributeValue(1) = "master-page"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style")
+ SAXSeekElement("style:properties")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Hidden attributes (in master-page style): " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tchinese
+ printlog "+- Impress: chin.sxd"
+ '/// Opening chin.sxd which includes chinese characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\chin.sxd"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\chin.sxd") , "StarOffice XML (Draw)") then
+ '/// Saving it. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\chin.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\chin\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\chin\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\chin\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\chin\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\chin.sxd")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tjapan
+ printlog "+- Impress: japan.sxd"
+ '/// Opening japan.sxd which includes japanese characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\japan.sxd"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\japan.sxd") , "StarOffice XML (Draw)") then
+ '/// Saving it. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\japan.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\japan\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\japan\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\japan\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\japan\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\japan.sxd")
+ sleep(2)
+ call hCloseDocument
+ '/// Closing document. ///
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tkorean
+ printlog "+- Impress: korean.sxd"
+ '/// Opening korean.sxd which includes korean characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\korean.sxd"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\korean.sxd") , "StarOffice XML (Draw)") then
+ '/// Saving it. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\korean.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\korean\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\korean\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\korean\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\korean\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\korean.sxd")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tradchinese
+ printlog "+- Impress: trad_chin.sxd"
+ '/// Opening trad_chin.sxd which includes traditional chinese characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\trad_chin.sxd"))
+ '/// Saving it. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\trad_chin.sxd")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18092
+ printlog "+- Draw: 18092.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18092.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18092.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18092.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18092\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18092\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18092\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18092\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18092.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18093
+ printlog "+- Draw: 18093.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18093.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18093.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18093.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18093\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18093\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18093\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18093\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18093.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18094
+ printlog "+- Draw: 18094.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18094.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18094.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18094.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18094\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18094\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18094\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18094\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18094.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18098
+ printlog "+- Draw: 18098.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18098.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18098.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18098.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18098\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18098\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18098\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18098\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18098.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18099
+ printlog "+- Draw: 18099.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18099.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18099.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18099.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18099\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18099\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18099\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18099\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18099.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18100
+ printlog "+- Draw: 18100.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18100.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18100.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18100.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18100\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18100\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18100\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18100\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18100.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18101
+ printlog "+- Draw: 18101.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18101.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18101.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18101.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18101\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18101\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18101\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18101\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18101.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18102
+ printlog "+- Draw: 18102.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18102.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18102.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18102.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18102\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18102\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18102\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18102\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18102.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18106
+ printlog "+- Draw: 18106.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18106.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18106.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18106.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18106\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18106\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18106\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18106\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18106.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18107
+ printlog "+- Draw: 18107.sda"
+
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18107.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18107.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18107.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18107\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18107\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18107\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18107\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18107.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxd7_02.inc b/testautomation/xml/optional/includes/sxd7_02.inc
new file mode 100644
index 000000000000..74212989c26b
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxd7_02.inc
@@ -0,0 +1,313 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Draw Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxd7_02
+
+ printlog "------------------- sxd_02.inc ---------------------"
+
+ Call ExitRestartTheOffice
+ call t18108_18115
+ call t18116
+ call t18117
+ call t18118
+ call t18119
+ call t18120
+ call t18121_18122
+ call t18123
+ call t18124
+ call t18125
+
+end sub
+'
+'-------------------------------------------------------------------------
+'
+testcase t18108_18115
+ printlog "+- Draw: 18108-18115.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18108-18115.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18108-18115.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18116
+ printlog "+- Draw: 18116.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18116.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18116.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18116.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18116\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18116\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18116\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18116\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18116.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18117
+ printlog "+- Draw: 18117.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18117.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18117.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18117.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18117\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18117\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18117\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18117\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18117.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18118
+ printlog "+- Draw: 18118.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18118.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18118.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18118.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18118\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18118\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18118\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18118\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18118.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18119
+ printlog "+- Draw: 18119.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18119.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18119.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18119.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18119\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18119\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18119\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18119\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18119.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18120
+ printlog "+- Draw: 18120.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18120.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18120.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18120.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18120\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18120\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18120\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18120\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18120.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18121_18122
+ printlog "+- Draw: 18121-18122.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18121-18122.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18121-18122.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18123
+ printlog "+- Draw: 18123.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18123.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18123.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18123.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18123\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18123\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18123\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18123\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18123.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18124
+ printlog "+- Draw: 18124.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18124.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18124.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18124.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18124\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18124\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18124\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18124\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18124.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18125
+ printlog "+- Draw: 18125.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18125.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18125.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18125.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18125\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18125\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18125\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18125\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18125.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxd7_03.inc b/testautomation/xml/optional/includes/sxd7_03.inc
new file mode 100644
index 000000000000..22d812bc93f2
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxd7_03.inc
@@ -0,0 +1,313 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Draw Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxd7_03
+
+ printlog "------------------- sxd_03.inc ---------------------"
+
+ Call ExitRestartTheOffice
+ call t18126
+ call t18127_18128
+ call t18129
+ call t18130_18131
+ call t18132
+ call t18133_18134
+ call t18135
+ call t18136
+ call t18137
+ call t18138
+
+end sub
+'
+'-------------------------------------------------------------------------
+'
+testcase t18126
+ printlog "+- Draw: 18126.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18126.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18126.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18126.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18126\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18126\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18126\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18126\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18126.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18127_18128
+ printlog "+- Draw: 18127-18128.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18127-18128.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18127-18128.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18129
+ printlog "+- Draw: 18129.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18129.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18129.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18129.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18129\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18129\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18129\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18129\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18129.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18130_18131
+ printlog "+- Draw: 18130-18131.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18130-18131.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18130-18131.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18132
+ printlog "+- Draw: 18132.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18132.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18132.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18132.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18132\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18132\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18132\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18132\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18132.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18133_18134
+ printlog "+- Draw: 18133-18134.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18133-18134.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18133-18134.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18135
+ printlog "+- Draw: 18135.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18135.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18135.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18135.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18135\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18135\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18135\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18135\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18135.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18136
+ printlog "+- Draw: 18136.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18136.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18136.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18136.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18136\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18136\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18136\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18136\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18136.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18137
+ printlog "+- Draw: 18137.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18137.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18137.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18137.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18137\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18137\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18137\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18137\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18137.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18138
+ printlog "+- Draw: 18138.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18138.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18138.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18138.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18138\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18138\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18138\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18138\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18138.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxd7_04.inc b/testautomation/xml/optional/includes/sxd7_04.inc
new file mode 100644
index 000000000000..5c32c2a48d05
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxd7_04.inc
@@ -0,0 +1,315 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Draw Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxd7_04
+
+ printlog "------------------- sxd_04.inc ---------------------"
+
+ Call ExitRestartTheOffice
+ call t18139_18145
+ call t18244
+ call t18245
+ call t18246_18250
+ call t18464_18467
+ call t18520_18524
+ call t18526_18531
+ call t18537_18544
+ call t18629_18632
+ call t18633
+
+end sub
+
+'-------------------------------------------------------------------------
+
+testcase t18139_18145
+ printlog "+- Draw: 18139-18145.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18139-18145.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18139-18145.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18244
+ printlog "+- Draw: 18244.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18244.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18244.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18244.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18244\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18244\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18244\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18244\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18244.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18245
+ printlog "+- Draw: 18245.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18245.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18245.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18245.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18245\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18245\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18245\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18245\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18245.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18246_18250
+ printlog "+- Draw: 18246-18250.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18246-18250.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18246-18250.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18464_18467
+ printlog "+- Draw: 18464-18467.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18464-18467.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18464-18467.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18520_18524
+ printlog "+- Draw: 18520-18524.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18520-18524.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18520-18524.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18526_18531
+ printlog "+- Draw: 18526-18531.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18526-18531.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18526-18531.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18537_18544
+ printlog "+- Draw: 18537-18544.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18537-18544.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18537-18544.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18629_18632
+ printlog "+- Draw: 18629-18632.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18629-18632.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18629-18632.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t18633
+ printlog "+- Draw: 18633.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18633.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18633.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18633.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18633\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18633\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18633\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18633\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18633.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
diff --git a/testautomation/xml/optional/includes/sxd7_05.inc b/testautomation/xml/optional/includes/sxd7_05.inc
new file mode 100644
index 000000000000..a958ebe1841f
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxd7_05.inc
@@ -0,0 +1,259 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Draw Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxd7_05
+
+ printlog "------------------- sxd_05.inc ---------------------"
+
+ Call ExitRestartTheOffice
+ call t18634
+ call t18635
+ call t18636
+ call t19542_19544
+ call t19545_19547
+ call t19548_19553
+ call t19554_19557
+ call t19558_19560
+
+end sub
+'
+'-------------------------------------------------------------------------
+'
+testcase t18634
+ printlog "+- Draw: 18634.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18634.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18634.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18634.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18634\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18634\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18634\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18634\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18634.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18635
+ printlog "+- Draw: 18635.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18635.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18635.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18635.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18635\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18635\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18635\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18635\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18635.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t18636
+ printlog "+- Draw: 18636.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\18636.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\18636.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\18636.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\18636\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18636\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18636\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\18636\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\18636.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t19542_19544
+ printlog "+- Draw: 19542-19544.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\19542-19544.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\19542-19544.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t19545_19547
+ printlog "+- Draw: 19545-19547.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\19545-19547.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\19545-19547.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t19548_19553
+ printlog "+- Draw: 19548-19553.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\19548-19553.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\19548-19553.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t19554_19557
+ printlog "+- Draw: 19554-19557.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\19554-19557.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\19554-19557.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase t19558_19560
+ printlog "+- Draw: 19558-19560.sda"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\19558-19560.sda"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560.sxd") , "StarOffice XML (Draw)") then
+ call hCloseDocument
+ sleep(2)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560.sxd") , gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\draw\level1\19558-19560.sxd")
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxi7_01.inc b/testautomation/xml/optional/includes/sxi7_01.inc
new file mode 100644
index 000000000000..43ebe8a8c99c
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxi7_01.inc
@@ -0,0 +1,563 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Impress Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxi7_01
+
+ printlog "------------------- sxi_01.inc ---------------------"
+ printlog "----------------------------------------------------"
+ call talien_attributes
+ printlog "---------------------- C J K -----------------------"
+ call tchinese
+ call tjapan
+ call tkorean
+ call tradchinese
+ printlog "----------------------------------------------------"
+ call tAutolayout
+ call tText
+ call tObjects
+ call tEffects_text_objects
+ call tEffects_slides
+
+end sub
+'
+'-------------------------------------------------------------------------
+'
+testcase talien_attributes
+ Dim i as integer
+ Dim AttrNameInDOM as string
+ Dim AttributeSearch(9) as string
+ Dim AttributeValue(9) as string
+ printlog "+- Impress: alien.sxi"
+ '/// Opening alien.sxi. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\alien.sxi"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\alien.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\alien.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\alien\") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\alien\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\alien\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\alien\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening exported document (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\alien.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\impress\level1\alien\content.xml"))
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:alien=&quot;http://openoffice.org/2000/alien&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:alien"
+ AttributeValue(1) = "http://openoffice.org/2000/alien"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ SAXSeekElement("/")
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a drawing-page style</b></li>
+ '///+<li><b>in a graphics style</b></li>
+ '///+<li><b>in a paragraph style (twice)</b></li>
+ '///+<li><b>in a text style</b></li></ol>
+ '///+ Searching for: alien:key=&quot;page&quot;
+ '///+ Searching for: alien:key=&quot;shape&quot;
+ '///+ Searching for: alien:key=&quot;para&quot;
+ '///+ Searching for: alien:key=&quot;shape-text&quot;
+ '///+ Searching for: alien:key=&quot;text&quot;
+ AttributeSearch(1) = "alien:key"
+ AttributeValue(1) = "page"
+
+ AttributeSearch(3) = "alien:key"
+ AttributeValue(3) = "shape"
+
+ AttributeSearch(6) = "alien:key"
+ AttributeValue(6) = "para"
+
+ AttributeSearch(7) = "alien:key"
+ AttributeValue(7) = "shape-text"
+
+ AttributeSearch(9) = "alien:key"
+ AttributeValue(9) = "text"
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ for i = 1 to 9
+ if i = 1 then
+ printlog "-----------------------------------------"
+ printlog "Hidden attributes in a drawing-page style"
+ printlog "-----------------------------------------"
+ end if
+ if i = 3 then
+ printlog "-------------------------------------"
+ printlog "Hidden attributes in a graphics style"
+ printlog "-------------------------------------"
+ end if
+ if i = 6 or i = 7 then
+ printlog "-------------------------------------------"
+ printlog "Hidden attributes in a paragraph style (" & i-5 & ")"
+ printlog "-------------------------------------------"
+ end if
+ if i = 9 then
+ printlog "---------------------------------"
+ printlog "Hidden attributes in a text style"
+ printlog "---------------------------------"
+ end if
+ if i = 1 or i = 3 or i = 6 or i = 7 or i = 8 then
+ 'The hidden attributes are in a known sequence included,
+ 'so the same routine will be used for different styles!
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style" , i )
+ AttrNameInDOM = SAXGetAttributeValue("style:name")
+ printlog " + Style name (" & i & "): " & AttrNameInDOM
+ printlog " |"
+ SAXSeekElement("style:properties")
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ 'i = <nr> means <nr>'th style:style in DOM tree
+ if i = 1 then
+ warnlog "Hidden attributes (in a drawing-page style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if i = 3 then
+ warnlog "Hidden attributes (in a graphics style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if i = 5 or i = 6 then
+ warnlog "Hidden attributes (in a paragraph style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if i = 8 then
+ warnlog "Hidden attributes (in a text style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ end if
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\impress\level1\alien\styles.xml"))
+ '-------------------------------------------------------------------------
+ printlog " -------------------"
+ printlog " s t y l e s . x m l"
+ printlog " -------------------"
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>styles.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:alien=&quot;http://openoffice.org/2000/alien&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:alien"
+ AttributeValue(1) = "http://openoffice.org/2000/alien"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ SAXSeekElement("/")
+ printlog "----------------------------------------"
+ printlog "Hidden attributes in a master-page style"
+ printlog "----------------------------------------"
+ '-------------------------------------------------------------------------
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a master-page style</b></li></ol>
+ '///+ Searching for: alien:key=&quot;master-page&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "alien:key"
+ AttributeValue(1) = "master-page"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style")
+ SAXSeekElement("style:properties")
+ printlog " +- " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Hidden attributes (in master-page style): " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tchinese
+ printlog "+- Impress: chin.sxi"
+ '/// Opening chin.sxi which includes chinese characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\chin.sxi"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\chin.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\chin.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\chin\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\chin\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\chin\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\chin\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\chin.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tjapan
+ printlog "+- Impress: japan.sxi"
+ '/// Opening japan.sxi which includes japanese characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\japan.sxi"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\japan.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\japan.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\japan\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\japan\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\japan\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\japan\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\japan.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tkorean
+ printlog "+- Impress: korean.sxi"
+ '/// Opening korean.sxi which includes korean characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\korean.sxi"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\korean.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\korean.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\korean\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\korean\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\korean\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\korean\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\korean.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tradchinese
+ printlog "+- Impress: trad_chin.sxi"
+ '/// Opening trad_chin.sxi which includes traditional chinese characters. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\ooo10\trad_chin.sxi"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\trad_chin.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tAutolayout
+ Dim AttributeSearch(8) as string
+ Dim AttributeValue(8) as string
+ printlog "+- Impress: Autolayout.sdd"
+ '/// Opening Autolayout.sdd. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\Autolayout.sdd"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\impress\level1\Autolayout\content.xml"))
+ printlog "-----------------"
+ printlog "Slide names"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Slide names</u>
+ '///+ Searching for: draw:name="Title subtitle"
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "draw:name"
+ AttributeValue(1) = "Title subtitle"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement(2)
+ printlog " +- " & AttributeSearch(1) & " = " & AttributeValue(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "draw:name: " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tText
+ printlog "+- Impress: Text.sdd"
+ QAErrorLog "#i38739# tText PERFORMANCE issue."
+ goto endsub
+ '/// Opening Text.sdd. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\Text.sdd"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\Text.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\Text.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\Text\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Text\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Text\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Text\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\Text.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tObjects
+ printlog "+- Impress: Objects.sdd"
+ '/// Opening Objects.sdd. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\Objects.sdd"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\Objects.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tEffects_text_objects
+ printlog "+- Impress: Effects_text_objects.sdd"
+ '/// Opening Effects_text_objects.sdd. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\Effects_text_objects.sdd"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_text_objects.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tEffects_slides
+ printlog "+- Impress: Effects_slides.sdd"
+ '/// Opening Effects_slides.sdd. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\graphics\so_bin\Effects_slides.sdd"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides.sxi") , "StarOffice XML (Impress)") then
+ '/// Closing document. ///
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides.sxi") , gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides\") )
+ '/// Checking well formness of meta.xml, styles.xml and content.xml. ///
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document again (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\impress\level1\Effects_slides.sxi")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxm7_01.inc b/testautomation/xml/optional/includes/sxm7_01.inc
new file mode 100644
index 000000000000..e8f7fd94260e
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxm7_01.inc
@@ -0,0 +1,818 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : thorsten.bosbach@oracle.com
+'*
+'* short description : XML Math Include File
+'*
+'************************************************************************
+'*
+' #1 tunary_binary 'Sample document from old office
+' #1 trelations 'Sample document from old office
+' #1 tset_operations 'Sample document from old office
+' #1 tfunctions 'Sample document from old office
+' #1 toperators 'Sample document from old office
+' #1 tattributes 'Sample document from old office
+' #1 tothers 'Sample document from old office
+' #1 tbrackets 'Sample document from old office
+' #1 tformats 'Sample document from old office
+' #1 tall_commands 'Sample document from old office
+' #1 tall_commands_star_math_3 'Sample document from old office
+' #1 tall_selections 'Sample document from old office
+' #1 tannuities 'Sample document from old office
+' #1 tcauchy 'Sample document from old office
+' #1 tchemicalelement 'Sample document from old office
+' #1 tdefinitionstraightline 'Sample document from old office
+' #1 teffectiveannualinterestrate 'Sample document from old office
+' #1 thamiltonoperator 'Sample document from old office
+' #1 tinvestmentreturns 'Sample document from old office
+' #1 tlawoferrorpropagation 'Sample document from old office
+' #1 tlimes 'Sample document from old office
+' #1 tlinearregression 'Sample document from old office
+' #1 tmaxwell 'Sample document from old office
+' #1 tscalarproduct 'Sample document from old office
+' #1 tsinus 'Sample document from old office
+' #1 tsquareroot 'Sample document from old office
+' #1 tstandarddeviation 'Sample document from old office
+' #1 tvectorproduct 'Sample document from old office
+'*
+'\***********************************************************************
+
+testcase tunary_binary
+ printlog "+- unary-binary.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\1_unary-binary.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase trelations
+ printlog "+- 2_relations.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\2_relations.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\2_relations.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tset_operations
+ printlog "+- 3_set_operations.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\3_set_operations.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\3_set_operations.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\3_set_operations.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\3_set_operations") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\3_set_operations\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\3_set_operations\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\1_unary-binary\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\3_set_operations.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tfunctions
+ printlog "+- 4_functions.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\4_functions.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\4_functions.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase toperators
+ printlog "+- 5_operators.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\5_operators.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\5_operators.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tattributes
+ printlog "+- 6_attributes.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\6_attributes.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\6_attributes.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tothers
+ printlog "+- 7_others.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\7_others.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\7_others.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\7_others.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\7_others") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\7_others\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\7_others\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\7_others\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\7_others.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tbrackets
+ printlog "+- 8_brackets.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\8_brackets.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\8_brackets.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tformats
+ printlog "+- 9_formats.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\9_formats.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\9_formats.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tall_commands
+ printlog "+- all_commands.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\all_commands.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tall_commands_star_math_3
+ printlog "+- all_commands_star_math_3.0.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\all_commands_star_math_3.0.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\all_commands_star_math_3.0.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tall_selections
+ printlog "+- all_selections.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\all_selections.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\all_selections.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tannuities
+ printlog "+- annuities.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\annuities.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\annuities.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\annuities.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\annuities") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\annuities\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\annuities\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\annuities\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\annuities.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tcauchy
+ printlog "+- cauchy.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\cauchy.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\cauchy.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tchemicalelement
+ printlog "+- chemicalelement.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\chemicalelement.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\chemicalelement.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tdefinitionstraightline
+ printlog "+- definitionstraightline.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\definitionstraightline.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\definitionstraightline.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase teffectiveannualinterestrate
+ printlog "+- effectiveannualinterestrate.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\effectiveannualinterestrate.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\effectiveannualinterestrate.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase thamiltonoperator
+ printlog "+- hamiltonoperator.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\hamiltonoperator.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\hamiltonoperator.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tinvestmentreturns
+ printlog "+- investmentreturns.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\investmentreturns.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\investmentreturns.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tlawoferrorpropagation
+ printlog "+- lawoferrorpropagation.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\lawoferrorpropagation.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\lawoferrorpropagation.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tlimes
+ printlog "+- limes.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\limes.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\limes.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\limes.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\limes") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\limes\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\limes\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\limes\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\limes.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tlinearregression
+ printlog "+- linearregression.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\linearregression.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\linearregression.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tmaxwell
+ printlog "+- maxwell.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\maxwell.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\maxwell.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tscalarproduct
+ printlog "+- scalarproduct.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\scalarproduct.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\scalarproduct.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tsinus
+ printlog "+- sinus.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\sinus.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\sinus.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\sinus.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\sinus") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\sinus\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\sinus\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\sinus\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\sinus.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tsquareroot
+ printlog "+- squareroot.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\squareroot.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\squareroot.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tstandarddeviation
+ printlog "+- standarddeviation.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\standarddeviation.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\standarddeviation.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tvectorproduct
+ printlog "+- vectorproduct.smf"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\math\so_binary\vectorproduct.smf"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct.sxm") , "StarOffice XML (Math)") then
+ call hCloseDocument
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct.sxm") , gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct\settings.xml")) = FALSE then
+ warnlog "XML-file 'settings.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\math\level1\vectorproduct.sxm"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxw7_01.inc b/testautomation/xml/optional/includes/sxw7_01.inc
new file mode 100644
index 000000000000..7f1452ad687b
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxw7_01.inc
@@ -0,0 +1,867 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : XML Writer Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxw7_01
+
+ printlog "-------------------------- SXW7_01.INC ------------------------------"
+
+ printlog "------------------------ Alien Attributes ---------------------------"
+ call tfiscus
+ call tfiscus2
+
+ printlog "---------------------- File Format Changes --------------------------"
+ call tfeat476
+ call tfeat1318
+
+ printlog "---------------------------------------------------------------------"
+ call tcharacters
+
+end sub
+'
+'-------------------------------------------------------------------------
+'
+testcase tfiscus
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ Dim iStylesToCount as integer
+ Dim sStyleStyleValueA as string
+
+ printlog "+- fiscus.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\fiscus.sxw"))
+ '/// Saving (and if already exiting overwriting) the document.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus\content.xml"))
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Hidden Namespaces</u>
+ '///+ Searching for: xmlns:foo=&quot;http://www.foo.com&quot;
+ '///+ Searching for: xmlns:bar=&quot;http://www.bar.com&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:foo"
+ AttributeValue(1) = "http://www.foo.com"
+
+ AttributeSearch(2) = "xmlns:bar"
+ AttributeValue(2) = "http://www.bar.com"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ '/// <u>hidden attributes <b>in a table style</b></u>
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '/// <u>hidden attributes <b>in a table cell style</b></u>
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '/// <u>hidden attributes <b>in a paragraph style</b></u>
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '/// <u>hidden attributes <b>in a text style</b></u>
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '/// <u>hidden attributes <b>in a frame style</b></u>
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "attr1"
+ AttributeValue(1) = "42"
+
+ AttributeSearch(2) = "foo:attr2"
+ AttributeValue(2) = "43"
+
+ AttributeSearch(3) = "bar:attr3"
+ AttributeValue(3) = "44"
+ '-------------------------------------------------------------------------
+ for a = 1 to 8
+ if a = 1 then
+ printlog "----------------------------------"
+ printlog "Hidden attributes in a table style"
+ printlog "----------------------------------"
+ end if
+ if a = 4 then
+ printlog "---------------------------------------"
+ printlog "Hidden attributes in a table cell style"
+ printlog "---------------------------------------"
+ end if
+ if a = 6 then
+ printlog "--------------------------------------"
+ printlog "Hidden attributes in a paragraph style"
+ printlog "--------------------------------------"
+ end if
+ if a = 7 then
+ printlog "---------------------------------"
+ printlog "Hidden attributes in a text style"
+ printlog "---------------------------------"
+ end if
+ if a = 8 then
+ printlog "----------------------------------"
+ printlog "Hidden attributes in a frame style"
+ printlog "----------------------------------"
+ end if
+ if a = 1 or a = 4 or a = 6 or a = 7 or a = 8 then
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style" , a)
+ SAXSeekElement("style:properties")
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ for i = 1 to 3
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ if a = 1 then
+ warnlog "Hidden attributes (in a table style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if a = 4 then
+ warnlog "Hidden attributes (in a table cell style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if a = 6 then
+ warnlog "Hidden attributes (in a paragraph style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if a = 7 then
+ warnlog "#i74125# - Alien attributes get lost in text style properties."
+ ' warnlog "Hidden attributes (in a text style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ if a = 8 then
+ warnlog "Hidden attributes (in a frame style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ end if
+ next i
+ printlog " * * *"
+ end if
+ SAXSeekElement("/")
+ next a
+ SAXRelease()
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus\styles.xml"))
+ '-------------------------------------------------------------------------
+ printlog " -------------------"
+ printlog " s t y l e s . x m l"
+ printlog " -------------------"
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>STYLES.XML</u></b>
+ '/// <u>Hidden Namespace</u>
+ '///+ Searching for: xmlns:foo=&quot;http://www.foo.com&quot;
+ '///+ Searching for: xmlns:bar=&quot;http://www.bar.com&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:foo"
+ AttributeValue(1) = "http://www.foo.com"
+
+ AttributeSearch(2) = "xmlns:bar"
+ AttributeValue(2) = "http://www.bar.com"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ printlog " * * *"
+ printlog "-----------------------------------------------"
+ printlog "Hidden attributes in TEMPLATE STYLE 'Text body'"
+ printlog "-----------------------------------------------"
+ '/// <u>hidden attributes <b>in the template style &acute;Text body&acute;</b></u>
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "attr1"
+ AttributeValue(1) = "42"
+
+ AttributeSearch(2) = "foo:attr2"
+ AttributeValue(2) = "43"
+
+ AttributeSearch(3) = "bar:attr3"
+ AttributeValue(3) = "44"
+
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ SAXSeekElement("office:styles")
+ ' There are 7 style:style elements; it is important to get
+ ' the 'Text body' titled one because it is the onliest which
+ ' has one additional 'style:properties' element.
+ ' Executing SAXSeekElement without having an additional
+ ' element interrupts the test run!
+ for iStylesToCount = 1 to 7
+ SAXSeekElement("style:style", iStylesToCount)
+ sStyleStyleValueA = SAXGetAttributeValue("style:name")
+ if sStyleStyleValueA = "Text body" then
+ exit for
+ else
+ SAXSeekElement(0)
+ end if
+ next iStylesToCount
+ ' Go into the style:propries element in 'Text body' named style:style element.
+ ' There the three hidden attributes should be stored.
+ SAXSeekElement("style:properties")
+ for i = 1 to 3
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in a template style): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ '-------------------------------------------------------------------------
+ printlog " * * *"
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tfiscus2
+ Dim i as integer
+ Dim xXMLStyleName as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- fiscus2.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\fiscus2.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\fiscus2\content.xml"))
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Hidden Namespaces</u>
+ '///+ Searching for: xmlns:foo=&quot;http://www.foo.com&quot;
+ '///+ Searching for: xmlns:bar=&quot;http://www.bar.com&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "xmlns:foo"
+ AttributeValue(1) = "http://www.foo.com"
+
+ AttributeSearch(2) = "xmlns:bar"
+ AttributeValue(2) = "http://www.bar.com"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in namespace): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ printlog "--------------------------------------------------------------------------"
+ printlog "Hidden attributes in text style but a 'span'-item over the whole paragraph"
+ printlog "--------------------------------------------------------------------------"
+ '/// <u>hidden attributes <b>in a text style</b></u>
+ '///+ where a 'span'-item exists in a whole paragraph.
+ '///+ Searching for: attr1=&quot;42&quot;
+ '///+ Searching for: foo:attr2=&quot;43&quot;
+ '///+ Searching for: bar:attr3=&quot;44&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "attr1"
+ AttributeValue(1) = "42"
+
+ AttributeSearch(2) = "foo:attr2"
+ AttributeValue(2) = "43"
+
+ AttributeSearch(3) = "bar:attr3"
+ AttributeValue(3) = "44"
+
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style" , 9)
+ SAXSeekElement("style:properties")
+ for i = 1 to 3
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Hidden attributes (in a text style with a 'span'-item over the whole paragraph): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ printlog " * * *"
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tfeat476
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- feat476.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\feat476.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\feat476\content.xml"))
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+
+ printlog "-----------------"
+ printlog "Vertical Relation"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Vertical Relation</u>
+ '///+ <blockquote>The <i>style:vertical-rel</i> attribute has a new value "text".
+ '///+ It is used by frames (i.e. images, text-boxes, etc.) that
+ '///+ are bound as characters to specify a vertical alignment
+ '///+ relative to the text height of the line that contains the
+ '///+ frame.
+ '///+ Before this change, the value "char" was used for this
+ '///+ purpose. This lead to an ambiguity, because the same value
+ '///+ is used with a different meaning for frames bound at a character.</blockquote>
+ '/// Searching for: style:vertical-rel=&quot;text&quot;
+
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:vertical-rel"
+ AttributeValue(1) = "text"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style")
+ SAXSeekElement("style:properties")
+ for i = 1 to 1
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Vertical Relation (XML file format change 476): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tfeat1318
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- feat1318.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\feat1318.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\feat1318\content.xml"))
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+
+ printlog "-----------------"
+ printlog "Vertical Position"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Vertical Position</u>
+ '///+ <blockquote>The <i>style:vertical-pos</i> attribute that can be attached to the
+ '///+ <i><style:properties></i> element of graphic styles has got the new
+ '///+ value &quot;below&quot;. It can be used for frames that are bound to a
+ '///+ character only and means that the frame is displayed right
+ '///+ below the anchor character.
+ '///+ The meaning of any other value of the <i>style:vertical-pos</i>
+ '///+ attribute is unchanged. There also was no other way to set
+ '///+ the vertical position of a frame to &quot;below the anchor
+ '///+ character&quot;.</blockquote>
+ '/// Searching for: style:vertical-pos=&quot;below&quot;
+
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:vertical-pos"
+ AttributeValue(1) = "below"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style")
+ SAXSeekElement("style:properties")
+ for i = 1 to 1
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Vertical Relation (XML file format change 1318): " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ SAXRelease()
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tcharacters
+ Dim a as integer
+ Dim b as integer
+ Dim c as integer
+ Dim g as integer
+ Dim i as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- characters.sdw"
+ '/// Opening the characters.sdw file from the input directory.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\characters.sdw"))
+ '/// Saving the document in OOo XML 1.0 file format.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\characters.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ '/// Unpack the complete file (ZIP archieve) into a seperate directory.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\characters.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\characters") )
+ '/// Verifying the wellformness of content.xml, styles.xml and meta.xml.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\characters\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\characters\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\characters\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported document (GPF-check).
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\characters.sxw"))
+ sleep(2)
+ '/// Closing the document.
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\characters\content.xml"))
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+
+ printlog "----------"
+ printlog "Paragraphs"
+ printlog "----------"
+ '-------------------------------------------------------------------------
+ '/// <u><b>CONTENT.XML</u></b>
+ '/// <u>Paragraph Style P2</u>
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("text:p" , 15)
+ xXMLStyleName = SAXGetAttributeValue("text:style-name")
+ printlog "text:style-name: " & xXMLStyleName
+ '///+ Searching for: style:text-position=&quot;super 90%&quot;
+ '///+ Searching for: style:text-blinking=&quot;true&quot; ///
+ AttributeSearch(1) = "style:text-position"
+ AttributeValue(1) = "super 90%"
+
+ AttributeSearch(2) = "style:text-blinking"
+ AttributeValue(2) = "true"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ a = SAXGetChildCount
+ for c = 1 to a
+ SAXSeekElement(c)
+ if SAXGetAttributeValue("style:name") = xXMLStyleName then
+ SAXSeekElement("style:properties")
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i)
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ warnlog "Paragraph style: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ end if
+ next i
+ c=a
+ end if
+ SAXSeekElement(0)
+ next c
+ SAXSeekElement("/")
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ printlog "----------"
+ printlog "Textstyles"
+ printlog "----------"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("text:p", 12)
+ SAXSeekElement("text:span")
+ xXMLStyleName = SAXGetAttributeValue("text:style-name")
+ printlog "text:style-name: " & xXMLStyleName
+ '/// <u>Text Style T8</u>
+ '///+ Searching for: style:text-outline=&quot;true&quot;
+ '///+ Searching for: style:text-crossing-out=&quot;single-line&quot;
+ '///+ Searching for: fo:font-size=&quot;22pt&quot;
+ '///+ Searching for: fo:text-shadow=&quot;1pt 1pt&quot;
+ '///+ Searching for: style:text-underline=&quot;single&quot;
+ '///+ Searching for: style:text-underline-color=&quot;font-color&quot; ///
+ AttributeSearch(1) = "style:text-outline"
+ AttributeValue(1) = "true"
+
+ AttributeSearch(2) = "style:text-crossing-out"
+ AttributeValue(2) = "single-line"
+
+ AttributeSearch(3) = "fo:font-size"
+ AttributeValue(3) = "22pt"
+
+ AttributeSearch(4) = "fo:text-shadow"
+ AttributeValue(4) = "1pt 1pt"
+
+ AttributeSearch(5) = "style:text-underline"
+ AttributeValue(5) = "single"
+
+ AttributeSearch(6) = "style:text-underline-color"
+ AttributeValue(6) = "font-color"
+
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ a = SAXGetChildCount
+ for c = 1 to a
+ SAXSeekElement(c)
+ if SAXGetAttributeValue("style:name") = xXMLStyleName then
+ SAXSeekElement("style:properties")
+ for g = 1 to 6
+ printlog " +- " & AttributeSearch(g)
+ if SAXGetAttributeValue(AttributeSearch(g)) <> AttributeValue(g) then
+ warnlog "Textstyle: " & AttributeSearch(g) & " is not " & AttributeValue(g) & "!"
+ end if
+ next g
+ c=a
+ end if
+ SAXSeekElement(0)
+ next c
+ printlog " * * *"
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ for g = 1 to 3
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("text:p" , 8)
+ SAXSeekElement(g)
+ xXMLStyleName = SAXGetAttributeValue("text:style-name")
+ printlog "text:style-name: " & xXMLStyleName
+ '/// <u>Text Style T5</u>
+ '///+ Searching for: fo:font-style=&quot;italic&quot; ///
+ '/// <u>Text Style T6</u>
+ '///+ Searching for: fo:font-weight=&quot;bold&quot; ///
+ '/// <u>Text Style T7</u>
+ '///+ Searching for: style:text-underline=&quot;single&quot;
+ '///+ Searching for: style:text-underline-color=&quot;font-color&quot; ///
+
+ AttributeSearch(1) = "fo:font-style"
+ AttributeValue(1) = "italic"
+
+ AttributeSearch(2) = "fo:font-weight"
+ AttributeValue(2) = "bold"
+
+ AttributeSearch(3) = "style:text-underline"
+ AttributeValue(3) = "single"
+
+ AttributeSearch(4) = "style:text-underline-color"
+ AttributeValue(4) = "font-color"
+
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ a = SAXGetChildCount
+ for c = 1 to a
+ SAXSeekElement(c)
+ if SAXGetAttributeValue("style:name") = xXMLStyleName then
+ SAXSeekElement("style:properties")
+ if g = 3 then
+ for i = 1 to 2
+ printlog " +- " & AttributeSearch(i+2)
+ if SAXGetAttributeValue(AttributeSearch(i+2)) <> AttributeValue(i+2) then
+ warnlog "Textstyle: " & AttributeSearch(i+2) & " is not " & AttributeValue(i+2) & "!"
+ end if
+ next i
+ else
+ printlog " +- " & AttributeSearch(g)
+ if SAXGetAttributeValue(AttributeSearch(g)) <> AttributeValue(g) then
+ warnlog "Textstyle: " & AttributeSearch(g) & " is not " & AttributeValue(g) & "!"
+ end if
+ end if
+ c=a
+ end if
+ SAXSeekElement(0)
+ next c
+ SAXSeekElement("/")
+ next g
+ printlog " * * *"
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("text:p", 19)
+ xXMLStyleName = SAXGetAttributeValue("text:style-name")
+ printlog "paragraph:style-name: " & xXMLStyleName
+ '/// <u>Paragraph Style P3</u>
+ '///+ Searching in language 01 for : fo:letter-spacing=&quot;0.06cm&quot;
+ '///+ Searching in other language for: fo:letter-spacing=&quot;
+ '///+ Searching for: style:letter-kerning=&quot;true&quot;
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:letter-kerning"
+ AttributeValue(1) = "true"
+
+ AttributeSearch(2) = "fo:letter-spacing"
+ AttributeValue(2) = "0.106cm"
+
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+
+ a = SAXGetChildCount
+ for c = 1 to a
+ SAXSeekElement(c)
+ if SAXGetAttributeValue("style:name") = xXMLStyleName then
+ SAXSeekElement("style:properties")
+ if gLanguage = 1 then
+ b = 2
+ else
+ b = 1
+ end if
+ for g = 1 to b
+ printlog " +- " & AttributeSearch(g)
+ if SAXGetAttributeValue(AttributeSearch(g)) <> AttributeValue(g) then
+ warnlog "Textstyle: " & AttributeSearch(g) & " is not " & AttributeValue(g) & "!"
+ end if
+ next g
+ c=a
+ end if
+ SAXSeekElement(0)
+ next c
+ '-------------------------------------------------------------------------
+ printlog " * * *"
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ for g = 1 to 2
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("text:p", 26)
+ SAXSeekElement(g)
+ xXMLStyleName = SAXGetAttributeValue("text:style-name")
+ printlog "text:style-name: " & xXMLStyleName
+ '/// <u>Text Style T10</u>
+ '///+ Searching for: style:text-background-color=&quot;#00dcff&quot; ///
+ '/// <u>Text Style T11</u>
+ '///+ Searching for: style:text-background-color=&quot;#ffcc99&quot; ///
+ '-------------------------------------------------------------------------
+ AttributeSearch(1) = "style:text-background-color"
+ AttributeValue(1) = "#00dcff"
+
+ AttributeSearch(2) = "style:text-background-color"
+ AttributeValue(2) = "#ffcc99"
+
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+
+ a = SAXGetChildCount
+ for c = 1 to a
+ SAXSeekElement(c)
+ if SAXGetAttributeValue("style:name") = xXMLStyleName then
+ SAXSeekElement("style:properties")
+ printlog " +- " & AttributeSearch(g)
+ if SAXGetAttributeValue(AttributeSearch(g)) <> AttributeValue(g) then
+ warnlog "Textstyle: " & AttributeSearch(g) & " is not " & AttributeValue(g) & "!"
+ end if
+ c=a
+ end if
+ SAXSeekElement(0)
+ next c
+ SAXSeekElement("/")
+ next g
+ '-------------------------------------------------------------------------
+ printlog "---------"
+ printlog "O t h e r"
+ printlog "---------"
+ '/// <u>Other (Link)</u>
+ '///+ Searching for: &lt;text:a xlink:type=&quot;simple&quot; xlink:href=&quot;http://www.hyperlink.de/&quot; office:target-frame-name=&quot;_blank&quot; xlink:show=&quot;new&quot;&gt;Hyperlink&lt;/text:a&gt; ///
+ printlog " * * *"
+ SAXSeekElement("/")
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:body")
+ SAXSeekElement("text:p", 29)
+ SAXSeekElement("text:a")
+ xXMLStyleName = SAXGetAttributeValue("text:style-name")
+ printlog "text:style-name: " & xXMLStyleName
+
+ AttributeSearch(1) = "xlink:type"
+ AttributeValue(1) = "simple"
+
+ AttributeSearch(2) = "xlink:href"
+ AttributeValue(2) = "http://www.hyperlink.de/"
+
+ AttributeSearch(3) = "office:target-frame-name"
+ AttributeValue(3) = "_blank"
+
+ AttributeSearch(4) = "xlink:show"
+ AttributeValue(4) = "new"
+
+ for i = 1 to 4
+ if SAXGetAttributeValue(AttributeSearch(i)) <> AttributeValue(i) then
+ if i = 3 then
+ warnlog "#i80480# Hyperlink attribute office:target-frame-name gets lost sometimes."
+ elseif i = 4 then
+ warnlog "#i80480# Hyperlink attribute xlink:show gets lost sometimes."
+ else
+ warnlog "Other: " & AttributeSearch(i) & " is not " & AttributeValue(i) & "!"
+ endif
+ end if
+ next i
+ end if
+ SAXRelease()
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxw7_01a.inc b/testautomation/xml/optional/includes/sxw7_01a.inc
new file mode 100644
index 000000000000..f0121277b1e0
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxw7_01a.inc
@@ -0,0 +1,451 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : XML Writer Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxw7_01a
+
+ printlog "-------------------------- SXW7_01a.INC ------------------------------"
+
+ printlog "---------------------------------------------------------------------"
+ call tfields
+ call tfootnotes
+
+end sub
+
+'-------------------------------------------------------------------------
+
+testcase tfields
+ Dim a as integer
+ Dim i as integer
+ Dim AttributeSearch(60) as string
+ Dim AttributeValue(60) as string
+ Dim sXMLNodename(50) as string
+ Dim sPathToAttributes as string
+
+ printlog "+- fields.sdw"
+ '/// Opening file fields.sdw from input-directory.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\fields.sdw"))
+ '/// Saving the document in OOo XML 1.0 format.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\fields.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ '/// Unpack the complete content of the file (ZIP-archieve) into a seperate directory.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\fields.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\fields") )
+ '/// Checking the well formness of content.xml, styles.xml and meta.xml.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fields\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fields\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\fields\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported file (GPF check).
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\fields.sxw"))
+ sleep(2)
+ '/// Closing the document.
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\writer\level1\fields\content.xml"))
+ printlog " ---------------------"
+ printlog " c o n t e n t . x m l"
+ printlog " ---------------------"
+ printlog "----------"
+ printlog " fields "
+ printlog "----------"
+ '-------------------------------------------------------------------------
+ '/// <u><b>CONTENT.XML</u></b>
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ '/// Searching for: &lt;text:sender-firstname text:fixed=&quot;false&quot;&gt;
+ '/// Searching for: &lt;text:sender-lastname text:fixed=&quot;false&quot;&gt;
+ sXMLNodename(1) = "text:sender-firstname"
+ sXMLNodename(2) = "text:sender-lastname"
+ AttributeSearch(1) = "text:fixed"
+ AttributeValue(1) = "false"
+ '/// Searching for: &lt;text:date text:date-value=&quot;2000-11-30T16:14:56&quot;
+ '/// Searching for: &lt;text:time text:time-value=&quot;[not null]&quot;
+ sXMLNodename(3) = "text:date"
+ AttributeSearch(3) = "text:date-value"
+ AttributeValue(3) = "2000-11-30T16:14:56"
+ sXMLNodename(4) = "text:time"
+ AttributeSearch(4) = "text:time-value"
+ AttributeValue(4) = ""
+ '/// Searching for: &lt;text:word-count style:num-format=&quot;1&quot;&gt;75&lt;/text:word-count&gt;
+ '/// Searching for: &lt;text:character-count style:num-format=&quot;1&quot;&gt;788&lt;/text:character-count&gt;
+ sXMLNodename(5) = "text:word-count"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode = 75
+ sXMLNodename(6) = "text:character-count"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode = 788
+ AttributeSearch(5) = "style:num-format"
+ AttributeValue(5) = "1"
+ '/// Searching for: &lt;text:reference-mark-start text:name=&quot;ref&quot;/&gt;I am a reference&lt;text:reference-mark-end text:name=&quot;ref&quot;/&gt;
+ sXMLNodename(7) = "text:reference-mark-start"
+ sXMLNodename(8) = "text:reference-mark-end"
+ AttributeSearch(7) = "text:name"
+ AttributeValue(7) = "ref"
+ '/// Searching for: &lt;text:reference-ref text:reference-format=&quot;page&quot; text:ref-name=&quot;ref&quot;&gt;1&lt;/text:reference-ref&gt; Chapter: &lt;text:reference-ref text:reference-format=&quot;chapter&quot; text:ref-name=&quot;ref&quot;&gt;1&lt;/text:reference-ref&gt; Location: &lt;text:reference-ref text:reference-format=&quot;direction&quot; text:ref-name=&quot;ref&quot;&gt;above&lt;/text:reference-ref&gt;
+ sXMLNodename(9) = "text:reference-ref"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: 1 [9]
+ 'CharNode: 1 [10]
+ 'CharNode: above [11]
+ AttributeSearch(9) = "text:reference-format"
+ AttributeValue(9) = "page"
+ AttributeValue(10) = "chapter"
+ AttributeValue(11) = "direction"
+ 'All three have this attribute and -value:
+ AttributeSearch(12) = "text:ref-name"
+ AttributeValue(12) = "ref"
+ '/// Searching for: &lt;text:variable-set text:name=&quot;x&quot; text:value-type=&quot;float&quot; text:value=&quot;1&quot; style:data-style-name=&quot;N0&quot;&gt;1&lt;/text:variable-set&gt;
+ sXMLNodename(13) = "text:variable-set"
+ AttributeSearch(13) = "text:name"
+ AttributeValue(13) = "x"
+ AttributeSearch(14) = "text:value-type"
+ AttributeValue(14) = "float"
+ AttributeSearch(15) = "text:value"
+ AttributeValue(15) = "1"
+ AttributeSearch(16) = "style:data-style-name"
+ AttributeValue(16) = "N0"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: 1
+ '/// Searching for: &lt;text:user-field-get text:name=&quot;I_am_a_user_field&quot;&gt;Content of the user field&lt;/text:user-field-get&gt;
+ sXMLNodename(17) = "text:user-field-get"
+ AttributeSearch(17) = "text:name"
+ AttributeValue(17) = "I_am_a_user_field"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: Content of the user field
+ '/// Searching for: &lt;text:conditional-text text:condition=&quot;x==1&quot; text:string-value-if-true=&quot;x = 1&quot; text:string-value-if-false=&quot;x &amp;lt;&amp;gt; 1&quot;&gt;x = 1&lt;/text:conditional-text&gt;
+ sXMLNodename(18) = "text:conditional-text"
+ AttributeSearch(18) = "text:condition"
+ AttributeValue(18) = "x==1"
+ AttributeSearch(19) = "text:string-value-if-true"
+ AttributeValue(19) = "x = 1"
+ AttributeSearch(20) = "text:string-value-if-false"
+ AttributeValue(20) = "x <> 1"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: x = 1
+ '/// Searching for: &lt;text:hidden-text text:condition=&quot;x==1&quot; text:string-value=&quot;x is not equal to 1&quot;/&gt;
+ sXMLNodename(21) = "text:hidden-text"
+ AttributeSearch(21) = "text:condition"
+ AttributeValue(21) = "x==1"
+ AttributeSearch(22) = "text:string-value"
+ AttributeValue(22) = "x is not equal to 1"
+ '/// Searching for: &lt;text:hidden-paragraph text:condition=&quot;x==1&quot; text:is-hidden=&quot;true&quot;/&gt;I am hidden if x=1&lt;/text:p&gt;
+ sXMLNodename(23) = "text:hidden-paragraph"
+ AttributeSearch(23) = "text:condition"
+ AttributeValue(23) = "x==1"
+ AttributeSearch(24) = "text:is-hidden"
+ AttributeValue(24) = "true"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: I am hidden if x=1
+ '/// Searching for: &lt;text:creation-date style:data-style-name=&quot;N36&quot;&gt;15/11/2000&lt;/text:creation-date&gt;
+ sXMLNodename(25) = "text:creation-date"
+ AttributeSearch(25) = "style:data-style-name"
+ AttributeValue(25) = "N108"
+ '/// Searching for: &apos;&lt;text:editing-cycles&gt;0&lt;/text:editing-cycles&gt;
+ 'sXMLNodename(?) = text:editing-cycles
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: 0
+ '/// Searching for: &lt;text:modification-date style:data-style-name=&quot;N81&quot;&gt;6. mars 2003&lt;/text:modification-date&gt;
+ sXMLNodename(26) = "text:modification-date"
+ AttributeSearch(26) = "style:data-style-name"
+ AttributeValue(26) = "N76"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: 6. mars 2003
+ '/// Searching for: &lt;text:database-display text:database-name=&quot;Bibliography&quot; text:table-name=&quot;biblio&quot; text:table-type=&quot;table&quot; text:column-name=&quot;Author&quot;&gt;&amp;lt;Author&amp;gt;&lt;/text:database-display&gt;
+ sXMLNodename(27) = "text:database-display"
+ AttributeSearch(27) = "text:database-name"
+ AttributeValue(27) = "Bibliography"
+ AttributeSearch(28) = "text:table-name"
+ AttributeValue(28) = "biblio"
+ AttributeSearch(29) = "text:table-type"
+ AttributeValue(29) = "table"
+ AttributeSearch(30) = "text:column-name"
+ AttributeValue(30) = "Author"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: <Author>
+ '/// Searching for: &lt;text:database-next text:database-name=&quot;Bibliography&quot; text:table-name=&quot;biblio&quot; text:table-type=&quot;table&quot; text:condition=&quot;TRUE&quot;/&gt;
+ sXMLNodename(31) = "text:database-next"
+ AttributeSearch(31) = "text:database-name"
+ AttributeValue(31) = "Bibliography"
+ AttributeSearch(32) = "text:table-name"
+ AttributeValue(32) = "biblio"
+ AttributeSearch(33) = "text:table-type"
+ AttributeValue(33) = "table"
+ AttributeSearch(34) = "text:condition"
+ AttributeValue(34) = "TRUE"
+ '/// Searching for: &lt;text:database-display text:database-name=&quot;Bibliography&quot; text:table-name=&quot;biblio&quot; text:table-type=&quot;table&quot; text:column-name=&quot;Author&quot;&gt;&amp;lt;Author&amp;gt;&lt;/text:database-display&gt;
+ sXMLNodename(35) = "text:database-display"
+ AttributeSearch(35) = "text:database-name"
+ AttributeValue(35) = "Bibliography"
+ AttributeSearch(36) = "text:table-name"
+ AttributeValue(36) = "biblio"
+ AttributeSearch(37) = "text:table-type"
+ AttributeValue(37) = "table"
+ AttributeSearch(38) = "text:column-name"
+ AttributeValue(38) = "Author"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: <Author>
+ '/// Searching for: &lt;text:database-row-number text:database-name=&quot;Bibliography&quot; text:table-name=&quot;biblio&quot; text:table-type=&quot;table&quot; style:num-format=&quot;1&quot; text:value=&quot;3&quot;&gt;3&lt;/text:database-row-number&gt;
+ sXMLNodename(39) = "text:database-row-number"
+ AttributeSearch(39) = "text:database-name"
+ AttributeValue(39) = "Bibliography"
+ AttributeSearch(40) = "text:table-name"
+ AttributeValue(40) = "biblio"
+ AttributeSearch(41) = "text:table-type"
+ AttributeValue(41) = "table"
+ AttributeSearch(42) = "style:num-format"
+ AttributeValue(42) = "1"
+ AttributeSearch(43) = "text:value"
+ AttributeValue(43) = "3"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: 3
+ '/// Searching for: &lt;text:database-name text:database-name=&quot;Bibliography&quot; text:table-name=&quot;biblio&quot; text:table-type=&quot;table&quot;&gt;Bibliography.biblio&lt;/text:database-name&gt;
+ sXMLNodename(44) = "text:database-name"
+ AttributeSearch(44) = "text:database-name"
+ AttributeValue(44) = "Bibliography"
+ AttributeSearch(45) = "text:table-name"
+ AttributeValue(45) = "biblio"
+ AttributeSearch(46) = "text:table-type"
+ AttributeValue(46) = "table"
+ 'TODO: JSI: Rotine needed for char XML node
+ 'CharNode: Bibliography.biblio
+ for a = 1 to 46
+ select case a
+ case 1 , 2 :
+ ' Two nodes have the same attributes and -values as the first one
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(a))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(a) & "] Attribute: " & AttributeSearch(1)
+ if SAXGetAttributeValue(AttributeSearch(1)) <> AttributeValue(1) then
+ warnlog "Field: " & AttributeSearch(1) & " is not " & AttributeValue(1) & "!"
+ end if
+ SAXSeekElement("/")
+ case 5 , 6 :
+ ' Two nodes have the same attributes and -values as the first one
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(a))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(a) & "] Attribute: " & AttributeSearch(5)
+ if SAXGetAttributeValue(AttributeSearch(5)) <> AttributeValue(5) then
+ warnlog "Field: " & AttributeSearch(5) & " is not " & AttributeValue(5) & "!"
+ end if
+ SAXSeekElement("/")
+ case 7 , 8 : ' Two nodes have the same attributes and -values as the first one
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(a))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(a) & "] Attribute: " & AttributeSearch(7)
+ if SAXGetAttributeValue(AttributeSearch(7)) <> AttributeValue(7) then
+ warnlog "Field: " & AttributeSearch(7) & " is not " & AttributeValue(7) & "!"
+ end if
+ SAXSeekElement("/")
+ case 3, 4 :
+ ' The attribute is language dependent and should NOT be NULL
+ ' The if-then-else inquiry is another than in the other inquiries!
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(a))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(a) & "] Attribute: " & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) = AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is null empty!"
+ end if
+ SAXSeekElement("/")
+ case 9 , 10, 11:
+ ' Three times the same element name but not the same XML node
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(9) , a-8)
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(9) & "] Attribute: " & AttributeSearch(9) & "=" & AttributeValue(a)
+ if SAXGetAttributeValue(AttributeSearch(9)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(9) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 12:
+ for i = 1 to 3
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(9) , i)
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(9) & " (" & i & ")] Attribute: " & AttributeSearch(12) & "=" & AttributeValue(12)
+ if SAXGetAttributeValue(AttributeSearch(12)) <> AttributeValue(12) then
+ warnlog "Field: " & AttributeSearch(12) & " is not " & AttributeValue(12) & "!"
+ end if
+ SAXSeekElement("/")
+ next i
+ case 21, 22 :
+ ' One node has two attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(21))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(21) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 23, 24 :
+ ' One node has two attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(23))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(23) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 18, 19, 20 :
+ ' One node has three attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(18))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(18) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 44, 45, 46 :
+ ' One node has three attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(44))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(44) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 13, 14, 15, 16 :
+ ' One node has four attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(13))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(13) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 27, 28, 29, 30 :
+ ' One node has four attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(27))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(27) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 31, 32, 33, 34 :
+ ' One node has four attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(31))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(31) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 35, 36, 37, 38 :
+ ' One node has four attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(35))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(35) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 39, 40, 41, 42, 43 :
+ ' One node has five attributes
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(39))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(39) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ case 25, 26 :
+ 'skipping (evaluating different style names under different operating systems
+ SAXSeekElement("/")
+ case else :
+ sPathToAttributes = fWhereIsXMLElementInBody("office:document-content" , "office:body" , sXMLNodename(a))
+ SAXSeekElement(sPathToAttributes)
+ printlog " +- [Element: " & sXMLNodename(a) & "]" & AttributeSearch(a)
+ if SAXGetAttributeValue(AttributeSearch(a)) <> AttributeValue(a) then
+ warnlog "Field: " & AttributeSearch(a) & " is not " & AttributeValue(a) & "!"
+ end if
+ SAXSeekElement("/")
+ end select
+ printlog " |"
+ next a
+ SAXRelease()
+ printlog " * * *"
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tfootnotes
+ Dim a as integer
+ Dim i as integer
+ Dim AttributeSearch(60) as string
+ Dim AttributeValue(60) as string
+ Dim sXMLNodename(50) as string
+ Dim sPathToAttributes as string
+
+ printlog "+- footnotes.sdw"
+ '/// Opening file footnotes.sdw from input-directory.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\footnotes.sdw"))
+ '/// Saving the document in OOo XML 1.0 format.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ '/// Unpack the complete content of the file (ZIP-archieve) into a seperate directory.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes") )
+ '/// Checking the well formness of content.xml, styles.xml and meta.xml.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ '/// Opening the exported file (GPF check).
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\footnotes.sxw"))
+ sleep(2)
+ '/// Closing the document.
+ call hCloseDocument
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
+
diff --git a/testautomation/xml/optional/includes/sxw7_02.inc b/testautomation/xml/optional/includes/sxw7_02.inc
new file mode 100644
index 000000000000..659e574ed720
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxw7_02.inc
@@ -0,0 +1,688 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : XML Writer Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+
+sub sxw7_02
+
+ printlog "-------------------------- SXW7_02.INC ------------------------------"
+ call tframes
+ call hEnablePrettyPrinting(1)
+ printlog "--------------------------- C J K ------------------------------"
+ call tschina
+ call ttchina
+ call tkorean
+ call tjapan
+
+end sub
+'
+'-------------------------------------------------------------------------
+'
+testcase tframes
+ 'NOTE: This test has been created as there were no SAX parser available for using
+ ' in testtools. It is very (!) time consuming to debug this routines.
+ ' Feel free to contact me if there is any issue with this script! jsi@openoffice.org
+ Dim Searchstring(20) as string
+ Dim StyleBodyA as string
+ Dim StyleDefinitionA as string
+ Dim i as integer
+ Dim a as integer
+ Dim AdditionalParameter as string
+ '/// Disabling the 'pretty printing' functionality.
+ call hEnablePrettyPrinting()
+ printlog "+- frames.sdw"
+ '/// Opening frames.sdw from input directory.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\frames.sdw"))
+ '/// Saving document as OOo XML 1.0 file.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ '/// Unpacking the file (ZIP archieve) into a seperate directory.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\frames.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\frames") )
+ '/// Verifying well-formness of content.xml, styles.xml and meta.xml.
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box draw:style-name=" & CHR$(34)
+ Searchstring(2) = "draw:name=" & CHR$(34)
+ Searchstring(3) = "text:anchor-type=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(4) = "text:anchor-page-number=" & CHR$(34) & "1" & CHR$(34)
+ Searchstring(5) = "svg:x=" & CHR$(34)
+ Searchstring(6) = "svg:y=" & CHR$(34)
+ Searchstring(7) = "svg:width=" & CHR$(34)
+ Searchstring(8) = "fo:min-height=" & CHR$(34)
+ Searchstring(9) = "draw:z-index=" & CHR$(34)
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ printlog " ..searching in 'draw:text-box' number 1"
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 1)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = ">Anchor to page<"
+ printlog " +- " & Searchstring(1)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "text:p" , 1)
+ printlog " +- " & Searchstring(1)
+ if InStr (AdditionalParameter , Searchstring(1)) = 0 then
+ warnlog "Draw Text Box (Frame) Content: " & Searchstring(1) & " not found!"
+ end if
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box"
+ Searchstring(2) = "draw:style-name=" & CHR$(34)
+ Searchstring(3) = "draw:name=" & CHR$(34)
+ Searchstring(4) = "text:anchor-type=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(5) = "text:anchor-page-number=" & CHR$(34) & "1" & CHR$(34)
+ Searchstring(6) = "svg:x=" & CHR$(34)
+ Searchstring(7) = "svg:y=" & CHR$(34)
+ Searchstring(8) = "svg:width=" & CHR$(34)
+ Searchstring(9) = "fo:min-height=" & CHR$(34)
+ Searchstring(10) = "draw:z-index=" & CHR$(34)
+ For a = 1 to 5
+ printlog " ..searching in 'draw:text-box' number " & a
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , a)
+ For i = 1 to 10
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Next a
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = ">No wrap<"
+ printlog " +- " & Searchstring(1)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "text:p" , 2)
+ printlog " +- " & Searchstring(1)
+ if InStr (AdditionalParameter , Searchstring(1)) = 0 then
+ warnlog "Draw Text Box (Frame) Content: " & Searchstring(1) & " not found!"
+ end if
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = ">Page wrap<"
+ printlog " +- " & Searchstring(1)
+ '-------------------------------------------------------------------------
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "text:p" , 3)
+ printlog " +- " & Searchstring(1)
+ if InStr (AdditionalParameter , Searchstring(1)) = 0 then
+ warnlog "Draw Text Box (Frame) Content: " & Searchstring(1) & " not found!"
+ end if
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = ">Optimal<"
+ printlog " +- " & Searchstring(1)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "text:p" , 4)
+ printlog " +- " & Searchstring(1)
+ if InStr (AdditionalParameter , Searchstring(1)) = 0 then
+ warnlog "Draw Text Box (Frame) Content: " & Searchstring(1) & " not found!"
+ end if
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = ">Wrap<"
+ printlog " +- " & Searchstring(1)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "text:p" , 5)
+ printlog " +- " & Searchstring(1)
+ if InStr (AdditionalParameter , Searchstring(1)) = 0 then
+ warnlog "Draw Text Box (Frame) Content: " & Searchstring(1) & " not found!"
+ end if
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = ">Background<"
+ printlog " +- " & Searchstring(1)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "text:p" , 6)
+ printlog " +- " & Searchstring(1)
+ if InStr (AdditionalParameter , Searchstring(1)) = 0 then
+ warnlog "Draw Text Box (Frame) Content: " & Searchstring(1) & " not found!"
+ end if
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box"
+ Searchstring(2) = "draw:style-name=" & CHR$(34)
+ Searchstring(3) = "draw:name=" & CHR$(34)
+ Searchstring(4) = "text:anchor-type=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(5) = "svg:x=" & CHR$(34)
+ Searchstring(6) = "svg:y=" & CHR$(34)
+ Searchstring(7) = "svg:width=" & CHR$(34)
+ Searchstring(8) = "fo:min-height=" & CHR$(34)
+ Searchstring(9) = "draw:z-index=" & CHR$(34)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 7)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "draw:style-name=" & CHR$(34)
+ Searchstring(2) = "draw:name=" & CHR$(34)
+ Searchstring(3) = "text:anchor-type=" & CHR$(34) & "char" & CHR$(34)
+ Searchstring(4) = "svg:y=" & CHR$(34)
+ Searchstring(5) = "svg:width=" & CHR$(34)
+ Searchstring(6) = "fo:min-height=" & CHR$(34)
+ For a = 1 to 2
+ printlog " ..searching in 'draw:text-box' number " & a+7
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , a+7)
+ if a = 2 then
+ Searchstring(3) = "text:anchor-type=" & CHR$(34) & "as-char" & CHR$(34)
+ end if
+ For i = 1 to 6
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Next a
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box"
+ Searchstring(2) = "draw:style-name=" & CHR$(34)
+ Searchstring(3) = "draw:name=" & CHR$(34)
+ Searchstring(4) = "text:anchor-type=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(5) = "svg:x=" & CHR$(34)
+ Searchstring(6) = "svg:y=" & CHR$(34)
+ Searchstring(7) = "svg:width=" & CHR$(34)
+ Searchstring(8) = "fo:min-height=" & CHR$(34)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 10)
+ For i = 1 to 8
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box"
+ Searchstring(2) = "draw:style-name=" & CHR$(34)
+ Searchstring(3) = "draw:name=" & CHR$(34)
+ Searchstring(4) = "text:anchor-type=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(5) = "svg:x=" & CHR$(34)
+ Searchstring(6) = "svg:y=" & CHR$(34)
+ Searchstring(7) = "svg:width=" & CHR$(34)
+ Searchstring(8) = "fo:min-height=" & CHR$(34)
+ Searchstring(9) = "draw:z-index=" & CHR$(34)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 11)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box"
+ Searchstring(2) = "draw:style-name=" & CHR$(34)
+ Searchstring(3) = "draw:name=" & CHR$(34)
+ Searchstring(4) = "text:anchor-type=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(5) = "svg:x=" & CHR$(34)
+ Searchstring(6) = "svg:y=" & CHR$(34)
+ Searchstring(7) = "svg:width=" & CHR$(34)
+ Searchstring(8) = "fo:min-height=" & CHR$(34)
+ Searchstring(9) = "draw:z-index=" & CHR$(34)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 12)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ printlog "-------------------------------------------------------------------------"
+ Searchstring(1) = "<draw:text-box"
+ Searchstring(2) = "draw:style-name=" & CHR$(34)
+ Searchstring(3) = "draw:name=" & CHR$(34)
+ Searchstring(4) = "text:anchor-type=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(5) = "svg:x=" & CHR$(34)
+ Searchstring(6) = "svg:y=" & CHR$(34)
+ Searchstring(7) = "svg:width=" & CHR$(34)
+ Searchstring(8) = "fo:min-height=" & CHR$(34)
+ Searchstring(9) = "draw:z-index=" & CHR$(34)
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 13)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Draw Text Box (Frame): " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ printlog "-------------------------------------------------------------------------"
+ ' -----------------------
+ ' Frame S T Y L E S
+ ' -----------------------
+ '-------------------------------------------------------------------------
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 1)
+ printlog " fr1 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 8
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:run-through=" & CHR$(34) & "foreground" & CHR$(34)
+ Searchstring(4) = "style:wrap=" & CHR$(34) & "none" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 2)
+ printlog " fr2 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 8
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:run-through=" & CHR$(34) & "foreground" & CHR$(34)
+ Searchstring(5) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(6) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(7) = "style:vertical-rel=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(8) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(9) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 3)
+ printlog " fr3 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "dynamic" & CHR$(34)
+ Searchstring(4) = "style:run-through=" & CHR$(34) & "foreground" & CHR$(34)
+ Searchstring(5) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(6) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(7) = "style:vertical-rel=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(8) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(9) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 4)
+ printlog " fr4 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "run-through" & CHR$(34)
+ Searchstring(4) = "style:run-through=" & CHR$(34) & "foreground" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "page" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 5)
+ printlog " fr5 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 8
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "run-through" & CHR$(34)
+ Searchstring(4) = "style:run-through=" & CHR$(34) & "background" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "page" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box" , 6)
+ printlog " fr6 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 8
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 7)
+ printlog " fr7 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 8
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(7) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 8)
+ printlog " fr8 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 7
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(7) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 9)
+ printlog " fr9 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 7
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:protect=" & CHR$(34) & "content size position" & CHR$(34)
+ Searchstring(4) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(5) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(6) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(7) = "style:vertical-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(8) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(9) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 10)
+ printlog " fr10 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(7) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(8) = "style:border-line-width-left=" & CHR$(34)
+ Searchstring(9) = "style:border-line-width-bottom=" & CHR$(34)
+ Searchstring(10) = "fo:padding-left=" & CHR$(34)
+ Searchstring(11) = "fo:padding-right=" & CHR$(34)
+ Searchstring(12) = "fo:padding-top=" & CHR$(34)
+ Searchstring(13) = "fo:padding-bottom=" & CHR$(34)
+ Searchstring(14) = "fo:border-left=" & CHR$(34)
+ Searchstring(15) = "double"
+ Searchstring(16) = "#0000ff"
+ Searchstring(17) = "fo:border-bottom=" & CHR$(34)
+ Searchstring(18) = "style:shadow=" & CHR$(34) & "#ff0000"
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 11)
+ printlog " fr11 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 18
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(9) = "fo:background-color=" & CHR$(34) & "#ffff00" & CHR$(34)
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 12)
+ printlog " fr12 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ Searchstring(1) = "style:family=" & CHR$(34) & "graphics" & CHR$(34)
+ Searchstring(2) = "style:parent-style-name=" & CHR$(34)
+ Searchstring(3) = "style:wrap=" & CHR$(34) & "parallel" & CHR$(34)
+ Searchstring(4) = "style:number-wrapped-paragraphs=" & CHR$(34) & "no-limit" & CHR$(34)
+ Searchstring(5) = "style:vertical-pos=" & CHR$(34) & "from-top" & CHR$(34)
+ Searchstring(6) = "style:vertical-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(7) = "style:horizontal-pos=" & CHR$(34) & "from-left" & CHR$(34)
+ Searchstring(8) = "style:horizontal-rel=" & CHR$(34) & "paragraph" & CHR$(34)
+ Searchstring(9) = "fo:background-color=" & CHR$(34) & "transparent" & CHR$(34)
+ Searchstring(10) = "<style:background-image/>"
+ Searchstring(11) = "<style:columns fo:column-count=" & CHR$(34) & "2" & CHR$(34)
+
+ Searchstring(13) = "fo:margin-left=" & CHR$(34)
+ Searchstring(14) = "</style:columns>"
+ Searchstring(15) = "<style:properties"
+ Searchstring(16) = "</style:properties>"
+ StyleBodyA = GetBodiesItemStyleName (gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml") , "draw:text-box", 13)
+ printlog " fr13 = " & StyleBodyA
+ printlog " =========="
+ StyleDefinitionA = GetXMLValueLineExtra ((gOfficePath & ConvertPath("user\work\xml\writer\level1\frames\content.xml")), "office:document-content", "office:automatic-styles;style:style" , "style:name" , StyleBodyA)
+ For i = 1 to 16
+ if i <> 12 then
+ printlog " +- " & Searchstring(i)
+ if InStr (StyleDefinitionA , Searchstring(i)) = 0 then
+ warnlog "Frame Style: " & Searchstring(i) & " not found!"
+ end if
+ end if
+ Next i
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tschina
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- zh_cn_text.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\zh_cn_text.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_cn_text.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase ttchina
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- zh_tw_text.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\zh_tw_text.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\zh_tw_text.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tkorean
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- ko_text.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\ko_text.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\ko_text.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tjapan
+ Dim i as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ printlog "+- jp_text.sxw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\jp_text.sxw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text") )
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\jp_text.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/sxw7_03.inc b/testautomation/xml/optional/includes/sxw7_03.inc
new file mode 100644
index 000000000000..adc163b9db05
--- /dev/null
+++ b/testautomation/xml/optional/includes/sxw7_03.inc
@@ -0,0 +1,458 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : XML Writer Include File
+'*
+'\***********************************************************************************
+ Dim Isliste(250) as string
+ Dim OutputPath as string
+ Dim iSecurityBefore as integer
+
+sub sxw7_03
+
+ printlog "-------------------------- SXW7_03.INC ------------------------------"
+ call hEnablePrettyPrinting
+ call thyperlinks
+ call hEnablePrettyPrinting(1)
+ call tindexes_alpha
+ call tindex_biblio
+ call tindex_most
+ call tpages
+ call tparagraph01
+ call tparagraph02
+ call tsection_main
+ printlog "------------------------ Macros and Events --------------------------"
+ iSecurityBefore = ""
+ iSecurityBefore = hSetMacroSecurity(1)
+ call tEventsToObjects
+ call hSetMacroSecurity(iSecurityBefore)
+end sub
+
+'-------------------------------------------------------------------------
+
+testcase thyperlinks
+ Dim Searchstring(9) as string
+ Dim i as integer
+ Dim AdditionalParameter as string
+ printlog "+- hyperlinks.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\hyperlinks.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ ' -----------------------
+ ' T E X T - S T Y L E S
+ ' -----------------------
+ ' <text:p text:style-name="Standard"><text:a xlink:type="simple" xlink:href="http://Www.sun.com/" office:target-frame-name="_blank" xlink:show="new" text:style-name="Variable" text:visited-style-name="Quotation"><text:span text:style-name="T1">Www.sun.com</text:span></text:a></text:p>
+ '-------------------------------------------------------------------------
+ Searchstring(1) = "<text:a"
+ Searchstring(2) = "xlink:type=" & CHR$(34) & "simple" & CHR$(34)
+ Searchstring(3) = "xlink:href=" & CHR$(34) & "http://Www.sun.com/" & CHR$(34)
+ Searchstring(4) = "office:target-frame-name=" & CHR$(34) & "_blank" & CHR$(34)
+ Searchstring(5) = "xlink:show=" & CHR$(34) & "new" & CHR$(34)
+ Searchstring(6) = "text:visited-style-name=" & CHR$(34)
+ Searchstring(7) = ">Www.sun.com<"
+ Searchstring(8) = "</text:span>"
+ Searchstring(9) = "</text:a>"
+ '-------------------------------------------------------------------------
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml") , "text:p" , 1)
+ printlog "Debug: " & AdditionalParameter
+ For i = 1 to 9
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Hyperlinks in text: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ ' <text:p text:style-name="P1"><text:a xlink:type="simple" xlink:href="#targ" text:style-name="Variable" text:visited-style-name="Quotation">jump</text:a></text:p>
+ '-------------------------------------------------------------------------
+ Searchstring(1) = "<text:a"
+ Searchstring(2) = "xlink:type=" & CHR$(34) & "simple" & CHR$(34)
+ Searchstring(3) = "xlink:href=" & CHR$(34) & "#targ" & CHR$(34)
+ Searchstring(4) = "text:visited-style-name=" & CHR$(34)
+ Searchstring(5) = ">jump<"
+ Searchstring(6) = "</text:a>"
+ '-------------------------------------------------------------------------
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml") , "text:p" , 3)
+ For i = 1 to 6
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Hyperlinks in text: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ ' <text:p text:style-name="P1"><text:bookmark-start text:name="targ"/>target here<text:bookmark-end text:name="targ"/></text:p>
+ '-------------------------------------------------------------------------
+ Searchstring(1) = "<text:bookmark-start"
+ Searchstring(2) = "text:name=" & CHR$(34) & "targ" & CHR$(34)
+ Searchstring(3) = ">target here<"
+ Searchstring(4) = "<text:bookmark-end"
+ '-------------------------------------------------------------------------
+ AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml") , "text:p" , 6)
+ For i = 1 to 4
+ printlog " +- " & Searchstring(i)
+ if InStr (AdditionalParameter , Searchstring(i)) = 0 then
+ warnlog "Hyperlinks in text: " & Searchstring(i) & " not found!"
+ end if
+ Next i
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tindexes_alpha
+ printlog "+- indexes_alpha.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\indexes_alpha.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tindex_biblio
+ printlog "+- index_biblio.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\index_biblio.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tindex_most
+ printlog "+- index_most.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\index_most.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tpages
+ printlog "+- pages.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\pages.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\pages.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\pages") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tparagraph01
+ printlog "+- paragraph01.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\paragraph01.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tparagraph02
+ printlog "+- paragraph02.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\paragraph02.sdw"))
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02.sxw"))
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tsection_main
+ QAErrorLog "#i88812#-Update all links message doubled in old .sd* documents."
+ goto endsub
+ printlog "+- section_main.sdw"
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\section_main.sdw") , TRUE)
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main.sxw") , "StarOffice XML (Writer)") then
+ '/// Closing the document also if there is a verification dialog.
+ call hCloseDocument()
+ sleep(3)
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main") )
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ else
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main.sxw") , TRUE)
+ sleep(2)
+ call hCloseDocument
+ sleep(2)
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+'
+'-------------------------------------------------------------------------
+'
+testcase tEventsToObjects
+ '/// Goal: All macros embedded to the objects should be exported corrextly to XML fileformat.
+ Dim i as integer
+ Dim l as integer
+ Dim a as integer
+ Dim xXMLStyleName as string
+ Dim xPath as string
+ Dim AttributeSearch(50) as string
+ Dim AttributeValue(50) as string
+ Dim cWhereCalled as string
+
+ dim sdw_file as string
+ sdw_file = gTesttoolPath & "xml\optional\input\writer\events_to_objects.sdw"
+ sdw_file = convertpath( sdw_file )
+ dim sxw_file as string
+ sxw_file = gOfficePath & "user\work\xml\writer\level1\events_to_objects.sxw"
+ sxw_file = convertpath( sxw_file )
+
+ printlog "+- events_to_objects.sdw"
+
+ cWhereCalled = "xml::level1::inc::sxw7_03.inc::tEventsToObjects: "
+
+ '/// Open Tools/Options -> OpenOffice.org/Security
+ '/// Click on the macro security button
+ '/// Set the <b>medium</b> security level
+
+ try
+ if iSecurityBefore = "" then
+ QAErrorLog cWhereCalled & "Macro security level needs to be set before to 1 (medium)!"
+ goto endsub
+ end if
+ catch
+ 'if variable iSecurityBefore is not initialized and causes into an error
+ QAErrorLog cWhereCalled & "Macro security level needs to be set before to 1 (medium)!"
+ goto endsub
+ endcatch
+
+ '/// Load (binary) document under <i>...qa/qatesttool/xml/update/input/writer/events_to_objects.sdw</i>.
+ hFileOpen( sdw_file )
+ if ( NOT hAllowMacroExecution() ) then
+ warnlog "#i80769# Macros not being loaded. Exiting test case."
+ call hCloseDocument
+ goto endsub
+ end if
+ '/// Save as StarOffice XML fileformat (.sxw).
+ if ( hFileSaveAsWithFilterKill ( sxw_file , "StarOffice XML (Writer)" ) ) then
+ '/// Closing the document also if there is a verification dialog.
+ 'call hCloseDocument()
+ hCloseDocument()
+ 'sleep(3)
+ '/// Close window with the document.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects.sxw") , _
+ gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects") )
+ '/// Uncompressing .sxw files in directory <pre>../user/work/events_to_objects/</pre>.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects\meta.xml")) = FALSE then
+ warnlog "XML-file 'meta.xml' not well formed!"
+ end if
+ '///+Verify that XML files (<i>styles.xml</i>, <i>meta.xml</i> and <i>content.xml</i>) are <i>well formed</i>.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects\styles.xml")) = FALSE then
+ warnlog "XML-file 'styles.xml' not well formed!"
+ end if
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects\content.xml")) = FALSE then
+ warnlog "XML-file 'content.xml' not well formed!"
+ '/// If <i>well formness</i> is okay, load exported document.
+ else
+ hFileOpen( sdw_file )
+ hAllowMacroExecution()
+
+ Kontext "DocumentWriter"
+ DocumentWriter.TypeKeys "<SHIFT F4>" , TRUE
+ '/// Select first graphic with &lt;SHIFT&gt;&lt;F4&gt;
+ '///+ and a messagebox should be displayed.
+ '///+ Press &lt;RETURN&gt; key.
+ '///<i>four times</i>
+ '///+<ol><li>Press &lt;TAB&gt; key to select the next object.</li><li>and a messagebox should be displayed.</li><li>Press &lt;RETURN&gt; key.</li></ol>
+ for l = 1 to 4
+ Kontext "Messagebox"
+ if Messagebox.Exists(2) then
+ if Messagebox.GetRT = 304 then
+ Messagebox.OK
+ end if
+ else
+ if l = 1 then
+ warnlog "Event on Graphic failed! No Message Box occurred!"
+ end if
+ if l = 2 then
+ warnlog "Event on OLE object failed! No Message Box occurred!"
+ end if
+ if l = 3 then
+ warnlog "Event on text frame object failed! No Message Box occurred!"
+ end if
+ if l = 4 then
+ warnlog "Event on text frame object (frame style applied) failed! No Message Box occurred!"
+ end if
+ end if
+ if l <> 4 then
+ Kontext "DocumentWriter"
+ DocumentWriter.TypeKeys "<TAB>"
+ end if
+ next l
+ '/// Close document.
+ call hCloseDocument
+ sleep(2)
+ 'TODO: Search for the events in source.
+ end if
+ else
+ call hCloseDocument
+ end if
+endcase
+
diff --git a/testautomation/xml/optional/includes/w_xml_vertical_alignment.inc b/testautomation/xml/optional/includes/w_xml_vertical_alignment.inc
new file mode 100644
index 000000000000..f38ed4158049
--- /dev/null
+++ b/testautomation/xml/optional/includes/w_xml_vertical_alignment.inc
@@ -0,0 +1,141 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : testing vertical alignment in writer
+'*
+'*************************************************************************************************
+'*
+' #1 tVerticalAlignmentWriter 'Testing for vertical alignment in writer
+'*
+'\*************************************************************************************************
+
+testcase tVerticalAlignmentWriter
+ ' Dimensioning variables
+ dim iSaxSeekIndex as INTEGER 'counter-variable for searching through the styles:styles
+ dim sSaveAsFile as STRING 'TestDoc is going to be saved with this name
+ dim sWriterContentXML as STRING 'Location of the content.xml
+ dim sLoadFileName as STRING 'Variable for name of the Testdoc
+ dim sUnpackStorageDir as STRING 'Name of the direcotry where the xml file is being unpacked
+ dim sAttrValue as STRING 'Name of the variable to store the searched value in
+ Dim xXMLStyleName as STRING 'Draw:Style-name to be searched for
+ Dim iChildCount as INTEGER 'Counter for SAX Child nodes
+
+ ' Setting paths and variables
+ sSaveAsFile = gOfficePath & ConvertPath("user\work\VerticalAlignment.odt")
+ printlog "Save-path is " & sSaveAsFile
+ sUnpackStorageDir = gOfficePath & ConvertPath("user\work\VerticalAlignment")
+ printlog "UnpackStorageDir is " & sUnpackStorageDir
+ printlog "Used Save-As Filter is " & gWriterFilter
+ sWriterContentXML = gOfficePath & ConvertPath("user\work\VerticalAlignment\content.xml")
+ printlog "ContentXML File is to be found in " & sWriterContentXML
+ sLoadFileName = ConvertPath (gTesttoolPath + "xml\optional\input\writer\verttoline1.doc")
+ printlog "The used TestDoc is " & sLoadFileName
+
+ printlog "Checking if storage Directory is empty"
+ if Dir(sUnpackStorageDir) <> "" then
+ printlog "UnpackStorageDir was not empty, deleting."
+ RmDir (sUnpackStorageDir)
+ else
+ printlog "UnpackStorageDir is emtpy."
+ endif
+
+ printlog "Loading test document gTesttoolPath\xml\optional\input\writer\verttoline1.doc"
+ if hFileOpen (sLoadFileName) = FALSE then
+ warnlog "Loading File failed!"
+ else
+ printlog "Save document in ODF file format."
+ if hFileSaveAsWithFilterKill (sSaveAsFile , "writer8") = FALSE then
+ warnlog "Saving " & sSaveAsFile & " failed! -> Exiting test!"
+ call hCloseDocument
+ else
+ call hCloseDocument
+ endif
+ endif
+ printlog "Unzip or unjar the gOfficePath/user/work/VerticalAlignment.odt into the directory gOfficePath/user/work/VerticalAlignment"
+ UnpackStorage(sSaveAsFile, sUnpackStorageDir)
+ printlog "Use a XML editor like jEdit and open the structure of the XML file gOfficePath/user/work/VerticalAlignment/Object 1/content.xml"
+ printlog "opening XML file and creating DOM."
+ SAXReadFile(sWriterContentXML)
+ sleep(2)
+ printlog "Go to the root node."
+ SAXSeekElement("/")
+ printlog "Get the Draw style name to search the attribute in..."
+ printlog "office:document-content"
+ printlog "Search for draw:style-name to be used in..."
+ SAXSeekElement("office:document-content")
+ printlog "office:body"
+ SAXSeekElement("office:body")
+ printlog "office:text"
+ SAXSeekElement("office:text")
+ printlog "text:p"
+ SAXSeekElement("text:p" , 1)
+ printlog "draw:frame"
+ SAXSeekElement("draw:frame" , 1)
+ printlog "draw:style-name"
+ xXMLStyleName = SAXGetAttributeValue("draw:style-name")
+ printlog "draw:style-name to search for is " & xXMLStyleName & "."
+ printlog "Search for: style:vertical-pos=&quot;from-top&quot;"
+ 'Setting parser back to root node
+ SAXSeekElement("/")
+ printlog "Seek office:document-content."
+ SAXSeekElement("office:document-content")
+ printlog "Seek office:automatic-styles."
+ SAXSeekElement("office:automatic-styles")
+ printlog "Search through style:style elements."
+ printlog "...in one of the 4 style:style elements there should be a..."
+ iChildCount = SAXGetChildCount
+ 'printlog "There are " & iChildCount & " Childnodes."
+ for iSaxSeekIndex = 1 to iChildCount
+ SAXSeekElement(iSaxSeekIndex)
+ if SAXGetAttributeValue("style:name") = xXMLStyleName then
+ SAXSeekElement("style:graphic-properties")
+ printlog "style:graphic-properties with the value from-top"
+ printlog "Seeking for style:vertical-pos."
+ if SaxGetAttributeName(5) = "style:vertical-pos" then
+ 'printlog "Found attribute 'style:vertical-pos' in childnode " & iSaxSeekIndex & "."
+ printlog "Get value from style:vertical-pos."
+ sAttrValue = SAXGetAttributeValue("style:vertical-pos")
+ 'printlog "Value is " & sAttrValue & "."
+ 'lcase(sAttrValue)
+ if sAttrValue = "from-top" then
+ printlog "Expected value of 'style:vertical-pos' = from-top was found."
+ exit for
+ else
+ warnlog "Expected value of 'style:vertical-pos' = from-top was not found!"
+ endif
+
+ else
+ warnlog "Attribut style:vertical-pos not found in element " & iSaxSeekIndex & "."
+ endif
+ SAXSeekElement(0)
+ endif
+ SAXSeekElement(0)
+ next iSaxSeekIndex
+ SAXRelease
+endcase
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/cell_pattern.xml b/testautomation/xml/optional/input/calc/ExcelXML/cell_pattern.xml
new file mode 100755
index 000000000000..d48d467ad4e7
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/cell_pattern.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-15T06:28:40Z</Created>
+ <LastSaved>2003-07-15T06:38:34Z</LastSaved>
+ <Company>Sun China ERI</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9225</WindowHeight>
+ <WindowWidth>14940</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>105</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <Interior ss:Color="#000000" ss:Pattern="Gray75" ss:PatternColor="#CC99FF"/>
+ </Style>
+ <Style ss:ID="s22">
+ <Interior ss:Color="#993300" ss:Pattern="Gray50" ss:PatternColor="#99CCFF"/>
+ </Style>
+ <Style ss:ID="s23">
+ <Interior ss:Color="#FF6600" ss:Pattern="Gray25" ss:PatternColor="#00FF00"/>
+ </Style>
+ <Style ss:ID="s24">
+ <Interior ss:Color="#FFFF00" ss:Pattern="Gray125" ss:PatternColor="#99CC00"/>
+ </Style>
+ <Style ss:ID="s25">
+ <Interior ss:Color="#0000FF" ss:Pattern="Gray0625" ss:PatternColor="#FF00FF"/>
+ </Style>
+ <Style ss:ID="s26">
+ <Interior ss:Color="#0000FF" ss:Pattern="Gray50" ss:PatternColor="#808000"/>
+ </Style>
+ <Style ss:ID="s27">
+ <Interior ss:Color="#FF99CC" ss:Pattern="Gray50" ss:PatternColor="#0000FF"/>
+ </Style>
+ <Style ss:ID="s28">
+ <Interior ss:Color="#339966" ss:Pattern="Gray25" ss:PatternColor="#FF0000"/>
+ </Style>
+ <Style ss:ID="s29">
+ <Interior ss:Color="#CCFFCC" ss:Pattern="Gray125" ss:PatternColor="#0000FF"/>
+ </Style>
+ <Style ss:ID="s30">
+ <Interior ss:Color="#993366" ss:Pattern="Gray0625" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s32">
+ <Interior/>
+ </Style>
+ <Style ss:ID="s33">
+ <Interior ss:Color="#993300" ss:Pattern="Gray75" ss:PatternColor="#FFFFFF"/>
+ </Style>
+ <Style ss:ID="s34">
+ <Interior ss:Color="#FF6600" ss:Pattern="Gray50" ss:PatternColor="#99CCFF"/>
+ </Style>
+ <Style ss:ID="s37">
+ <Interior ss:Color="#FF9900" ss:Pattern="Gray25" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s38">
+ <Interior ss:Color="#FFCC00" ss:Pattern="Gray125" ss:PatternColor="#00FF00"/>
+ </Style>
+ <Style ss:ID="s39">
+ <Interior ss:Color="#FFCC99" ss:Pattern="Gray0625" ss:PatternColor="#3366FF"/>
+ </Style>
+ <Style ss:ID="s40">
+ <Interior ss:Color="#FF99CC" ss:Pattern="Gray75" ss:PatternColor="#FFCC99"/>
+ </Style>
+ <Style ss:ID="s41">
+ <Interior ss:Color="#FFCC99" ss:Pattern="Gray50" ss:PatternColor="#FF9900"/>
+ </Style>
+ <Style ss:ID="s42">
+ <Interior ss:Color="#FFFF99" ss:Pattern="Gray25" ss:PatternColor="#008000"/>
+ </Style>
+ <Style ss:ID="s43">
+ <Interior ss:Color="#00FFFF" ss:Pattern="Gray125" ss:PatternColor="#0000FF"/>
+ </Style>
+ <Style ss:ID="s44">
+ <Interior ss:Color="#3366FF" ss:Pattern="Gray0625" ss:PatternColor="#CCFFCC"/>
+ </Style>
+ <Style ss:ID="s45">
+ <Interior/>
+ <NumberFormat ss:Format="0%"/>
+ </Style>
+ <Style ss:ID="s46">
+ <Interior/>
+ <NumberFormat ss:Format="Percent"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="9" ss:ExpandedRowCount="11" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="25.5"/>
+ <Column ss:Index="4" ss:AutoFitWidth="0" ss:Width="28.5"/>
+ <Column ss:Index="6" ss:AutoFitWidth="0" ss:Width="28.5"/>
+ <Column ss:Index="8" ss:AutoFitWidth="0" ss:Width="30"/>
+ <Row>
+ <Cell><Data ss:Type="String">test</Data></Cell>
+ <Cell ss:Index="3"><Data ss:Type="String">cell background pattern</Data></Cell>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:Index="3" ss:StyleID="s22"/>
+ <Cell ss:Index="5" ss:StyleID="s23"/>
+ <Cell ss:Index="7" ss:StyleID="s24"/>
+ <Cell ss:Index="9" ss:StyleID="s25"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s26"/>
+ <Cell ss:Index="3" ss:StyleID="s27"/>
+ <Cell ss:Index="5" ss:StyleID="s28"/>
+ <Cell ss:Index="7" ss:StyleID="s29"/>
+ <Cell ss:Index="9" ss:StyleID="s30"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s33"/>
+ <Cell ss:Index="3" ss:StyleID="s34"/>
+ <Cell ss:Index="5" ss:StyleID="s37"/>
+ <Cell ss:Index="7" ss:StyleID="s38"/>
+ <Cell ss:Index="9" ss:StyleID="s39"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:Index="3" ss:StyleID="s41"/>
+ <Cell ss:Index="5" ss:StyleID="s42"/>
+ <Cell ss:Index="7" ss:StyleID="s43"/>
+ <Cell ss:Index="9" ss:StyleID="s44"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s45"><Data ss:Type="Number">0.75</Data></Cell>
+ <Cell ss:Index="3" ss:StyleID="s45"><Data ss:Type="Number">0.5</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s46"><Data ss:Type="Number">0.25</Data></Cell>
+ <Cell ss:Index="7" ss:StyleID="s46"><Data ss:Type="Number">0.125</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s46"><Data ss:Type="Number">6.25E-2</Data></Cell>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s32"/>
+ <Cell ss:Index="3" ss:StyleID="s32"/>
+ <Cell ss:Index="5" ss:StyleID="s32"/>
+ <Cell ss:Index="7" ss:StyleID="s32"/>
+ <Cell ss:Index="9" ss:StyleID="s32"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s32"/>
+ <Cell ss:Index="3" ss:StyleID="s32"/>
+ <Cell ss:Index="5" ss:StyleID="s32"/>
+ <Cell ss:Index="7" ss:StyleID="s32"/>
+ <Cell ss:Index="9" ss:StyleID="s32"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s32"/>
+ <Cell ss:Index="3" ss:StyleID="s32"/>
+ <Cell ss:Index="5" ss:StyleID="s32"/>
+ <Cell ss:Index="7" ss:StyleID="s32"/>
+ <Cell ss:Index="9" ss:StyleID="s32"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s32"/>
+ <Cell ss:Index="3" ss:StyleID="s32"/>
+ <Cell ss:Index="5" ss:StyleID="s32"/>
+ <Cell ss:Index="7" ss:StyleID="s32"/>
+ <Cell ss:Index="9" ss:StyleID="s32"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s32"/>
+ <Cell ss:Index="3" ss:StyleID="s32"/>
+ <Cell ss:Index="5" ss:StyleID="s32"/>
+ <Cell ss:Index="7" ss:StyleID="s32"/>
+ <Cell ss:Index="9" ss:StyleID="s32"/>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>4</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/cellstyle.xml b/testautomation/xml/optional/input/calc/ExcelXML/cellstyle.xml
new file mode 100755
index 000000000000..1c739493cd5b
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/cellstyle.xml
@@ -0,0 +1,254 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-07T08:07:10Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21" ss:Name="Hyperlink">
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Color="#0000FF"
+ ss:Underline="Single"/>
+ </Style>
+ <Style ss:ID="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
+ </Style>
+ <Style ss:ID="s23">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Center"/>
+ </Style>
+ <Style ss:ID="s24">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ </Style>
+ <Style ss:ID="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Center" ss:Indent="1"/>
+ </Style>
+ <Style ss:ID="s26">
+ <Alignment ss:Vertical="Top"/>
+ </Style>
+ <Style ss:ID="s27">
+ <Alignment ss:Vertical="Center"/>
+ </Style>
+ <Style ss:ID="s28">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s29">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:Rotate="-42"/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="28"/>
+ </Style>
+ <Style ss:ID="s30">
+ <Alignment ss:Vertical="Center" ss:VerticalText="1"/>
+ </Style>
+ <Style ss:ID="s31">
+ <Font ss:FontName="Broadway" x:Family="Swiss" ss:Size="22" ss:Shadow="1"/>
+ </Style>
+ <Style ss:ID="s32">
+ <Alignment ss:Vertical="Center" ss:WrapText="1"/>
+ </Style>
+ <Style ss:ID="s33">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#0000FF"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#FF0000"/>
+ <Border ss:Position="Right" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000000"/>
+ <Border ss:Position="Top" ss:LineStyle="DashDot" ss:Weight="2"
+ ss:Color="#99CC00"/>
+ </Borders>
+ </Style>
+ <Style ss:ID="s34">
+ <Font ss:FontName="Arial Black" x:Family="Swiss" ss:Size="22" ss:Bold="1"
+ ss:Outline="1"/>
+ </Style>
+ <Style ss:ID="s35">
+ <Font ss:FontName="Arial Black" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s37">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="Courier New" x:Family="Modern" ss:Size="18"/>
+ </Style>
+ <Style ss:ID="s38">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s39">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="Blackadder ITC" x:Family="Decorative" ss:Size="20"
+ ss:Italic="1"/>
+ </Style>
+ <Style ss:ID="s40">
+ <Font ss:FontName="Forte" x:Family="Script" ss:Size="16" ss:Underline="Single"/>
+ </Style>
+ <Style ss:ID="s41">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="Bodoni MT Black" x:Family="Roman" ss:Size="12"
+ ss:Color="#FFCC00" ss:Underline="Double"/>
+ </Style>
+ <Style ss:ID="s42">
+ <Font ss:FontName="MS Reference Sans Serif" x:Family="Swiss" ss:Size="12"
+ ss:StrikeThrough="1"/>
+ </Style>
+ <Style ss:ID="s43">
+ <Font ss:FontName="Perpetua Titling MT" x:Family="Roman" ss:Size="12"
+ ss:VerticalAlign="Superscript"/>
+ </Style>
+ <Style ss:ID="s44">
+ <Font ss:FontName="Rockwell Extra Bold" x:Family="Roman" ss:Size="12"
+ ss:VerticalAlign="Subscript"/>
+ </Style>
+ <Style ss:ID="s47" ss:Parent="s21">
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Color="#0000FF"
+ ss:VerticalAlign="Subscript" ss:Underline="Single"/>
+ </Style>
+ <Style ss:ID="s49">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Color="#FF0000"/>
+ <Interior ss:Color="#99CC00" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s51">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="Courier New" x:Family="Modern" ss:Size="12"
+ ss:VerticalAlign="Subscript"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="7" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="104.25"/>
+ <Column ss:AutoFitWidth="0" ss:Width="63"/>
+ <Column ss:AutoFitWidth="0" ss:Width="75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="135.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="63.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="99.75"/>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s22"><Data ss:Type="String">left</Data></Cell>
+ <Cell ss:StyleID="s23"><Data ss:Type="String">right</Data></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">center</Data></Cell>
+ <Cell ss:StyleID="s25"><Data ss:Type="String">Indent</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="122.25">
+ <Cell ss:Index="2" ss:StyleID="s26"><Data ss:Type="String">top</Data></Cell>
+ <Cell ss:StyleID="s27"><Data ss:Type="String">middle</Data></Cell>
+ <Cell ss:StyleID="s28"><Data ss:Type="String">bottom</Data></Cell>
+ <Cell ss:StyleID="s29"><Data ss:Type="String">Rotate</Data></Cell>
+ <Cell ss:StyleID="s30"><Data ss:Type="String">vertical</Data></Cell>
+ <Cell ss:StyleID="s31"><Data ss:Type="String">shadow</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="74.25">
+ <Cell><Data ss:Type="String">Notes</Data><Comment ss:Author="Guang Gavin Lu"><ss:Data
+ xmlns="http://www.w3.org/TR/REC-html40"><B><Font html:Face="Tahoma"
+ x:CharSet="134" x:Family="Swiss" html:Size="8" html:Color="#000000">Guang Gavin Lu:</Font></B><Font
+ html:Face="Tahoma" x:CharSet="134" x:Family="Swiss" html:Size="8"
+ html:Color="#000000">&#10;&#10;</Font><B><Font html:Face="Tahoma"
+ x:CharSet="134" x:Family="Swiss" html:Size="8" html:Color="#000000">Yes</Font><Font
+ html:Face="Tahoma" x:CharSet="134" x:Family="Swiss" html:Size="8"
+ html:Color="#FF6600">, T</Font></B><Font html:Face="Rockwell"
+ x:Family="Roman" html:Size="16" html:Color="#FF6600">h</Font><B><Font
+ html:Face="Rockwell" x:Family="Roman" html:Size="16" html:Color="#FF0000">is's</Font><Font
+ html:Face="Rockwell" x:Family="Roman" html:Size="16" html:Color="#0000FF"> a formated comments</Font></B><Font
+ html:Face="Rockwell" x:Family="Roman" html:Size="16" html:Color="#0000FF">. </Font><B><U><Font
+ html:Face="Tahoma" x:CharSet="134" x:Family="Swiss" html:Size="8"
+ html:Color="#0000FF">:( </Font><Font html:Face="Tahoma" x:CharSet="134"
+ x:Family="Swiss" html:Size="8" html:Color="#FF6600">Too complexive. Righ</Font></U></B><Font
+ html:Face="Tahoma" x:CharSet="134" x:Family="Swiss" html:Size="8"
+ html:Color="#FF6600">t?</Font></ss:Data></Comment></Cell>
+ <Cell ss:StyleID="s32"><Data ss:Type="String">WrapWrapWrapWrapWrapWrapWrapWrapWrapWrapWrapWrapWrap</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s33"><Data ss:Type="String">borders</Data></Cell>
+ <Cell ss:Index="7" ss:StyleID="s34"><Data ss:Type="String">Outline</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="50.25">
+ <Cell ss:Index="2" ss:StyleID="s35"><Data ss:Type="String">Arial Black12</Data></Cell>
+ <Cell ss:MergeAcross="1" ss:StyleID="s37"><Data ss:Type="String">Courier New18</Data></Cell>
+ <Cell ss:StyleID="s38"><Data ss:Type="String">Black</Data></Cell>
+ <Cell ss:StyleID="s39"><Data ss:Type="String">Italy20</Data></Cell>
+ <Cell ss:StyleID="s40"><Data ss:Type="String">Underline16</Data></Cell>
+ <Cell ss:StyleID="s41"><Data ss:Type="String">Under2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="37.5">
+ <Cell ss:Index="2" ss:StyleID="s42"><Data ss:Type="String">strikethrough</Data></Cell>
+ <Cell ss:StyleID="s43"><Data ss:Type="String">superscript</Data></Cell>
+ <Cell ss:StyleID="s44"><Data ss:Type="String">subscript</Data></Cell>
+ <Cell ss:StyleID="s21" ss:HRef="http://www.sun.com/"><Data ss:Type="String">Link to www.sun.com</Data></Cell>
+ <Cell ss:StyleID="s47" ss:HRef="http://www.sun.com/"><Data ss:Type="String">sub_Link</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="38.25">
+ <Cell ss:Index="2" ss:MergeAcross="1" ss:StyleID="s49"><Data ss:Type="String">Green Back Red Fore</Data></Cell>
+ <Cell ss:Index="5" ss:MergeAcross="2" ss:StyleID="s51"><ss:Data
+ ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40"><Sub>Low<Font
+ html:Color="#0000FF">er</Font></Sub><B><Font html:Face="Arial"
+ x:Family="Swiss" html:Color="#0000FF">Ar</Font><Font html:Face="Arial"
+ x:Family="Swiss">ail</Font><U><Font html:Color="#FF0000">Courier New</Font></U></B><I><S><Font
+ html:Face="Times New Roman" x:Family="Roman">Times </Font><Font
+ html:Face="Times New Roman" x:Family="Roman" html:Color="#99CC00">New</Font><Font
+ html:Face="Times New Roman" x:Family="Roman"> Rom</Font><Font
+ html:Face="Times New Roman" x:Family="Roman" html:Color="#0000FF">an</Font></S></I><Sup><Font
+ html:Face="Times" x:Family="Roman" html:Color="#0000FF">U</Font><Font
+ html:Face="Times" x:Family="Roman" html:Color="#800000">p</Font><Font
+ html:Face="Times" x:Family="Roman">per</Font></Sup></ss:Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>6</ActiveRow>
+ <ActiveCol>4</ActiveCol>
+ <RangeSelection>R7C5:R7C7</RangeSelection>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/conditionalformat.xml b/testautomation/xml/optional/input/calc/ExcelXML/conditionalformat.xml
new file mode 100755
index 000000000000..95a71ffadc96
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/conditionalformat.xml
@@ -0,0 +1,583 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:u1="urn:schemas-microsoft-com:office:excel2">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Title>Insurance Policy Renewal System</Title>
+ <Subject>Wide World Importers</Subject>
+ <Author>Plan Administrator</Author>
+ <Description>Prepared by: Admin *** email: pa@contoso.com *** phone: (555) 555-1212</Description>
+ <LastAuthor>Guang Gavin Lu</LastAuthor>
+ <Created>2003-01-21T21:12:32Z</Created>
+ <LastSaved>2003-01-15T18:24:40Z</LastSaved>
+ <Category>Policy</Category>
+ <Manager>J. R. Contoso</Manager>
+ <Company>Contoso, LLC</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <RequestorName dt:dt="string">Plan Administrator</RequestorName>
+ <RequestorID dt:dt="string">Admin</RequestorID>
+ <RequestorEmail dt:dt="string">pa@contoso.com</RequestorEmail>
+ <RequestorPhone dt:dt="string">(555) 555-1212</RequestorPhone>
+ <SupervisorName dt:dt="string">J. R. Contoso</SupervisorName>
+ <SupervisorID dt:dt="string">rc@contoso.com</SupervisorID>
+ <ApplicationName dt:dt="string">Insurance Policy Renewal System</ApplicationName>
+ <AccountNumber dt:dt="string">WWIMP</AccountNumber>
+ <Customer dt:dt="string">Wide World Importers</Customer>
+ <Address1 dt:dt="string">305 - 14th Ave. S.</Address1>
+ <Address2 dt:dt="string">Suite 3B</Address2>
+ <City dt:dt="string">Seattle</City>
+ <StateOrProvince dt:dt="string">WA</StateOrProvince>
+ <PostalCode dt:dt="string">98128</PostalCode>
+ <CountryOrRegion dt:dt="string">USA</CountryOrRegion>
+ <ContactName dt:dt="string">Karl Jablonski</ContactName>
+ <ContactTitle dt:dt="string">Owner</ContactTitle>
+ </CustomDocumentProperties>
+ <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
+ <DownloadComponents/>
+ <LocationOfComponents HRef="file:///C:\MSOCache\All%20Users\20000409-6000-11D3-8CFE-0150048383C9\"/>
+ <Colors>
+ <Color>
+ <Index>17</Index>
+ <RGB>#DCDCDC</RGB>
+ </Color>
+ <Color>
+ <Index>18</Index>
+ <RGB>#D7D7D7</RGB>
+ </Color>
+ <Color>
+ <Index>19</Index>
+ <RGB>#2A66C9</RGB>
+ </Color>
+ <Color>
+ <Index>20</Index>
+ <RGB>#C9DBFA</RGB>
+ </Color>
+ <Color>
+ <Index>21</Index>
+ <RGB>#DDECFE</RGB>
+ </Color>
+ </Colors>
+ </OfficeDocumentSettings>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>15480</WindowHeight>
+ <WindowWidth>19320</WindowWidth>
+ <WindowTopX>120</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font x:Family="Swiss"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <Alignment ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <Font x:Family="Swiss" ss:Color="#FFCC99"/>
+ <Interior ss:Color="#333399" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s22">
+ <Alignment ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <Font x:Family="Swiss" ss:Size="16" ss:Color="#FFCC99" ss:Bold="1"/>
+ <Interior ss:Color="#333399" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s23">
+ <Alignment ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <Font x:Family="Swiss" ss:Color="#333399"/>
+ <Interior ss:Color="#C9DBFA" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s24">
+ <Alignment ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <Font x:Family="Swiss" ss:Size="16" ss:Color="#333399" ss:Bold="1"/>
+ <Interior ss:Color="#C9DBFA" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s25">
+ <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s26">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Font x:Family="Swiss" ss:Bold="1"/>
+ <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s27">
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s28">
+ <Font x:Family="Swiss" ss:Color="#333399" ss:Bold="1" ss:Underline="Single"/>
+ <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s29">
+ <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s30">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#FFFFFF"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s31">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ </Borders>
+ <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s32">
+ <Alignment ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <Interior ss:Color="#C9DBFA" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s33">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#FFFFFF"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s34">
+ <Protection/>
+ </Style>
+ <Style ss:ID="s35">
+ <Alignment ss:Vertical="Top"/>
+ </Style>
+ <Style ss:ID="s36">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Top"/>
+ <Font x:Family="Swiss" ss:Bold="1" ss:Underline="Single"/>
+ </Style>
+ <Style ss:ID="s37">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Top"/>
+ <Font x:Family="Swiss" ss:Bold="1" ss:Underline="Single"/>
+ </Style>
+ <Style ss:ID="s38">
+ <Alignment ss:Vertical="Top"/>
+ <Font x:Family="Swiss" ss:Underline="Single"/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s39">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s40">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#FFFFFF"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#808080"/>
+ </Borders>
+ <Interior ss:Color="#DCDCDC" ss:Pattern="Solid"/>
+ <NumberFormat
+ ss:Format="_(&quot;$&quot;* #,##0.00_);_(&quot;$&quot;* \(#,##0.00\);_(&quot;$&quot;* &quot;-&quot;??_);_(@_)"/>
+ </Style>
+ <Style ss:ID="s41">
+ <NumberFormat
+ ss:Format="_(&quot;$&quot;* #,##0.00_);_(&quot;$&quot;* \(#,##0.00\);_(&quot;$&quot;* &quot;-&quot;??_);_(@_)"/>
+ </Style>
+ <Style ss:ID="s42">
+ <NumberFormat
+ ss:Format="_(&quot;$&quot;* #,##0.00_);_(&quot;$&quot;* \(#,##0.00\);_(&quot;$&quot;* &quot;-&quot;??_);_(@_)"/>
+ <Protection/>
+ </Style>
+ </Styles>
+ <Names>
+ <NamedRange ss:Name="Summary" ss:RefersTo="=RateSheet!R20C3:R28C8"/>
+ </Names>
+ <Worksheet ss:Name="RateSheet">
+ <Table ss:ExpandedColumnCount="19" ss:ExpandedRowCount="29" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="56.25">
+ <Column ss:Index="4" ss:Width="57"/>
+ <Column ss:Index="6" ss:Width="57"/>
+ <Column ss:Index="8" ss:Width="58.5"/>
+ <Column ss:Index="19" ss:Width="57"/>
+ <Row ss:AutoFitHeight="0" ss:Height="32.25" ss:StyleID="s21">
+ <Cell ss:StyleID="s22"><Data ss:Type="String">Rates Table for Policy Renewals</Data></Cell>
+ <Cell ss:Index="19"><Data ss:Type="Number">1</Data></Cell>
+ </Row>
+ <Row>
+ <Cell ss:Index="19"><Data ss:Type="Number">2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="20.25" ss:StyleID="s23">
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Coverage Type</Data></Cell>
+ <Cell ss:Index="19"><Data ss:Type="Number">3</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s25">
+ <Cell ss:Index="17" ss:StyleID="s26"><Data ss:Type="String">Dental</Data></Cell>
+ <Cell ss:StyleID="s27"><Data ss:Type="String">False</Data></Cell>
+ <Cell><Data ss:Type="Number">4</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s25">
+ <Cell ss:Index="2" ss:StyleID="s26"><Data ss:Type="String">Medical:</Data></Cell>
+ <Cell ss:StyleID="s28"><Data ss:Type="String">INCLUDED</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s26"><Data ss:Type="String">Dental Coverage:</Data></Cell>
+ <Cell ss:StyleID="s28"
+ ss:Formula="=IF(R[-1]C[12]=&quot;True&quot;,&quot;INCLUDED&quot;,&quot;EXCLUDED&quot;)"><Data
+ ss:Type="String">EXCLUDED</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s26"><Data ss:Type="String">Prescription Plan:</Data></Cell>
+ <Cell ss:StyleID="s28" ss:Formula="=IF(RC[9]=&quot;True&quot;,&quot;INCLUDED&quot;,&quot;EXCLUDED&quot;)"><Data
+ ss:Type="String">INCLUDED</Data></Cell>
+ <Cell ss:Index="11" ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:Index="15" ss:StyleID="s29"/>
+ <Cell ss:Index="17" ss:StyleID="s26"><Data ss:Type="String">Pharmaceutical</Data></Cell>
+ <Cell ss:StyleID="s30"><Data ss:Type="String">True</Data></Cell>
+ <Cell><Data ss:Type="Number">5</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s31">
+ <Cell ss:Index="19"><Data ss:Type="Number">6</Data></Cell>
+ </Row>
+ <Row>
+ <Cell ss:Index="19"><Data ss:Type="Number">7</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="20.25" ss:StyleID="s32">
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Policy Type</Data></Cell>
+ <Cell ss:Index="19"><Data ss:Type="Number">8</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s25">
+ <Cell ss:Index="19"><Data ss:Type="Number">9</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s25">
+ <Cell ss:Index="2" ss:StyleID="s26"><Data ss:Type="String">Plan Type</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="String">PPO</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s26"><Data ss:Type="String">Period</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="String">Annual</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s26"><Data ss:Type="String">Company Size</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="String">1-9</Data></Cell>
+ <Cell ss:Index="19"><Data ss:Type="Number">10</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s31">
+ <Cell ss:Index="19"><Data ss:Type="Number">11</Data></Cell>
+ </Row>
+ <Row>
+ <Cell ss:Index="19"><Data ss:Type="Number">12</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="20.25" ss:StyleID="s32">
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Options &amp; Limits</Data></Cell>
+ <Cell ss:Index="19"><Data ss:Type="Number">13</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s25">
+ <Cell ss:Index="19"><Data ss:Type="Number">14</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s25">
+ <Cell ss:Index="2" ss:StyleID="s26"><Data ss:Type="String">Deductible</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="String">$500</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s26"><Data ss:Type="String">Out of Pocket Limit</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="String">$2,500</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s26"><Data ss:Type="String">Lifetime Limit</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="String">$1,000,000</Data></Cell>
+ <Cell ss:Index="19"><Data ss:Type="Number">15</Data></Cell>
+ </Row>
+ <Row ss:StyleID="s31">
+ <Cell ss:Index="19"><Data ss:Type="Number">16</Data></Cell>
+ </Row>
+ <Row ss:Index="19">
+ <Cell ss:Index="3" ss:StyleID="s34"/>
+ </Row>
+ <Row ss:Index="21" ss:AutoFitHeight="0" ss:Height="20.0625" ss:StyleID="s35">
+ <Cell ss:Index="3" ss:StyleID="s36"><Data ss:Type="String">Rates</Data><Comment
+ ss:Author="Underwriter"><ss:Data xmlns="http://www.w3.org/TR/REC-html40"><B> <Font
+ html:Face="Tahoma" x:Family="Swiss" html:Size="8" html:Color="#000000">Policy Note:</Font> </B> <Font
+ html:Face="Tahoma" x:Family="Swiss" html:Size="8" html:Color="#000000"> These rates are good for thirty (30) days.</Font> </ss:Data></Comment><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s37"><Data ss:Type="String">Monthly</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s38"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s37"><Data ss:Type="String">Semi-Annual</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s38"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s37"><Data ss:Type="String">Annual</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ </Row>
+ <Row>
+ <Cell ss:Index="3" ss:StyleID="s39"><Data ss:Type="String">Individual</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40"><Data ss:Type="Number">54.5</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*6"><Data ss:Type="Number">327</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*12"><Data ss:Type="Number">654</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="6">
+ <Cell ss:Index="3" ss:StyleID="s39"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="s27"/>
+ </Row>
+ <Row>
+ <Cell ss:Index="3" ss:StyleID="s39"><Data ss:Type="String">Individual &amp; Spouse</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40"><Data ss:Type="Number">105.75</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*6"><Data ss:Type="Number">634.5</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*12"><Data ss:Type="Number">1269</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="s27"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="6">
+ <Cell ss:Index="3" ss:StyleID="s39"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="s27"/>
+ </Row>
+ <Row>
+ <Cell ss:Index="3" ss:StyleID="s39"><Data ss:Type="String">Individual &amp; One Dependent</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40"><Data ss:Type="Number">112</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*6"><Data ss:Type="Number">672</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*12"><Data ss:Type="Number">1344</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="s27"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="6">
+ <Cell ss:Index="3" ss:StyleID="s39"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="s27"/>
+ </Row>
+ <Row>
+ <Cell ss:Index="3" ss:StyleID="s39"><Data ss:Type="String">Individual &amp; Family</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40"><Data ss:Type="Number">152.25</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*6"><Data ss:Type="Number">913.5</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s41"><NamedCell ss:Name="Summary"/></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=RC4*12"><Data ss:Type="Number">1827</Data><NamedCell
+ ss:Name="Summary"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="s27"/>
+ </Row>
+ <Row>
+ <Cell ss:Index="6" ss:StyleID="s42"/>
+ <Cell ss:Index="8" ss:StyleID="s42"/>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Selected/>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>6</ActiveRow>
+ <ActiveCol>4</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ <ConditionalFormatting xmlns="urn:schemas-microsoft-com:office:excel">
+ <Range>R5C9</Range>
+ <Condition>
+ <Qualifier>Equal</Qualifier>
+ <Value1>&quot;INCLUDED&quot;</Value1>
+ <Format Style='color:#333399;text-underline-style:single'/>
+ </Condition>
+ <Condition>
+ <Qualifier>Equal</Qualifier>
+ <Value1>&quot;EXCLUDED&quot;</Value1>
+ <Format Style='color:red;font-weight:700;text-underline-style:single'/>
+ </Condition>
+ </ConditionalFormatting>
+ <ConditionalFormatting xmlns="urn:schemas-microsoft-com:office:excel">
+ <Range>R5C6</Range>
+ <Condition>
+ <Qualifier>Equal</Qualifier>
+ <Value1>&quot;INCLUDED&quot;</Value1>
+ <Format Style='color:#333399;text-underline-style:single'/>
+ </Condition>
+ <Condition>
+ <Qualifier>Equal</Qualifier>
+ <Value1>&quot;EXCLUDED&quot;</Value1>
+ <Format Style='color:red;font-style:italic;font-weight:400;text-underline-style:
+ single;border:.5pt dotted windowtext;background:#FF9900'/>
+ </Condition>
+ </ConditionalFormatting>
+ <ConditionalFormatting xmlns="urn:schemas-microsoft-com:office:excel">
+ <Range>R7C5</Range>
+ <Condition>
+ <Qualifier>NotBetween</Qualifier>
+ <Value1>2</Value1>
+ <Value2>2</Value2>
+ <Format Style='color:olive;font-style:italic;font-weight:700;border:.5pt solid windowtext;
+ background:aqua'/>
+ </Condition>
+ </ConditionalFormatting>
+ </Worksheet>
+ <u1:MapInfo u1:HideInactiveListBorder="true" u1:SelectionNamespaces="xmlns:ns1='urn:schemas-microsoft-com.office11demos.unlockdata:finance'" u1:HideSingleMappedCellBorder="true">
+ <u1:Schema u1:ID="Schema1" u1:Namespace="urn:schemas-microsoft-com.office11demos.unlockdata:finance">
+ <xsd:schema targetNamespace="urn:schemas-microsoft-com.office11demos.unlockdata:finance" xmlns="urn:schemas-microsoft-com.office11demos.unlockdata:finance" elementFormDefault="qualified">
+ <xsd:element name="UnlockData.Finance">
+ <xsd:complexType mixed="true">
+ <xsd:all>
+ <xsd:element name="PlanType" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="EmployeeCount" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="CoverageLength" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="Deductible" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="OutOfPocketLimit" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="Dental" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="Pharmaceutical" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="LifetimeLimit" type="xsd:string" minOccurs="0"/>
+ </xsd:all>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ </u1:Schema>
+ <u1:Map u1:ID="UnlockData.Finance_Map" u1:SchemaID="Schema1" u1:RootElement="UnlockData.Finance">
+ <u1:Entry u1:Type="single" u1:ID="9">
+ <u1:Range>RateSheet!R10C3</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:PlanType</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="10">
+ <u1:Range>RateSheet!R10C9</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:EmployeeCount</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="11">
+ <u1:Range>RateSheet!R10C6</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:CoverageLength</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="12">
+ <u1:Range>RateSheet!R15C3</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:Deductible</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="13">
+ <u1:Range>RateSheet!R15C6</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:OutOfPocketLimit</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="14">
+ <u1:Range>RateSheet!R4C18</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:Dental</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="16">
+ <u1:Range>RateSheet!R15C9</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:LifetimeLimit</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ <u1:Entry u1:Type="single" u1:ID="17">
+ <u1:Range>RateSheet!R5C18</u1:Range>
+ <x:FilterOn>False</x:FilterOn>
+ <u1:XPath>/ns1:UnlockData.Finance/ns1:Pharmaceutical</u1:XPath>
+ <u1:Field>
+ <u1:XSDType>string</u1:XSDType>
+ <ss:Cell> </ss:Cell>
+ <u1:Aggregate>None</u1:Aggregate>
+ </u1:Field>
+ </u1:Entry>
+ </u1:Map>
+ </u1:MapInfo>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/dataformat.xml b/testautomation/xml/optional/input/calc/ExcelXML/dataformat.xml
new file mode 100755
index 000000000000..d982795301ad
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/dataformat.xml
@@ -0,0 +1,307 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-09-12T08:41:46Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>11025</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>480</WindowTopX>
+ <WindowTopY>45</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <NumberFormat ss:Format="General"/>
+ </Style>
+ <Style ss:ID="s22">
+ <NumberFormat ss:Format="General Number"/>
+ </Style>
+ <Style ss:ID="s23">
+ <NumberFormat ss:Format="General Date"/>
+ </Style>
+ <Style ss:ID="s24">
+ <NumberFormat ss:Format="Long Date"/>
+ </Style>
+ <Style ss:ID="s25">
+ <NumberFormat ss:Format="Medium Date"/>
+ </Style>
+ <Style ss:ID="s26">
+ <NumberFormat ss:Format="Short Date"/>
+ </Style>
+ <Style ss:ID="s27">
+ <NumberFormat ss:Format="Long Time"/>
+ </Style>
+ <Style ss:ID="s28">
+ <NumberFormat ss:Format="Medium Time"/>
+ </Style>
+ <Style ss:ID="s29">
+ <NumberFormat ss:Format="Short Time"/>
+ </Style>
+ <Style ss:ID="s30">
+ <NumberFormat ss:Format="Currency"/>
+ </Style>
+ <Style ss:ID="s31">
+ <NumberFormat ss:Format="Euro Currency"/>
+ </Style>
+ <Style ss:ID="s32">
+ <NumberFormat ss:Format="Fixed"/>
+ </Style>
+ <Style ss:ID="s33">
+ <NumberFormat ss:Format="Standard"/>
+ </Style>
+ <Style ss:ID="s34">
+ <NumberFormat ss:Format="Percent"/>
+ </Style>
+ <Style ss:ID="s35">
+ <NumberFormat ss:Format="Scientific"/>
+ </Style>
+ <Style ss:ID="s36">
+ <NumberFormat ss:Format="Yes/No"/>
+ </Style>
+ <Style ss:ID="s37">
+ <NumberFormat ss:Format="True/False"/>
+ </Style>
+ <Style ss:ID="s38">
+ <NumberFormat ss:Format="On/Off"/>
+ </Style>
+ <Style ss:ID="s39">
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="19" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:AutoFitWidth="0" ss:Width="118.5"/>
+ <Column ss:AutoFitWidth="0" ss:Width="208.5"/>
+ <Column ss:AutoFitWidth="0" ss:Width="175.5"/>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">General</Data>
+ </Cell>
+ <Cell ss:StyleID="s21">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s21">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">General Number</Data>
+ </Cell>
+ <Cell ss:StyleID="s22">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s22">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">General Date</Data>
+ </Cell>
+ <Cell ss:StyleID="s23">
+ <Data ss:Type="DateTime">1989-12-04T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Long Date</Data>
+ </Cell>
+ <Cell ss:StyleID="s24">
+ <Data ss:Type="DateTime">1989-12-04T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Medium Date</Data>
+ </Cell>
+ <Cell ss:StyleID="s25">
+ <Data ss:Type="DateTime">1989-12-04T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Short Date</Data>
+ </Cell>
+ <Cell ss:StyleID="s26">
+ <Data ss:Type="DateTime">1989-12-04T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Long Time</Data>
+ </Cell>
+ <Cell ss:StyleID="s27">
+ <Data ss:Type="DateTime">1899-12-31T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Medium Time</Data>
+ </Cell>
+ <Cell ss:StyleID="s28">
+ <Data ss:Type="DateTime">1899-12-31T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Short Time</Data>
+ </Cell>
+ <Cell ss:StyleID="s29">
+ <Data ss:Type="DateTime">1899-12-31T12:50:54.000</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Currency</Data>
+ </Cell>
+ <Cell ss:StyleID="s30">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s30">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Euro Currency</Data>
+ </Cell>
+ <Cell ss:StyleID="s31">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s31">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Fixed</Data>
+ </Cell>
+ <Cell ss:StyleID="s32">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s32">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Standard</Data>
+ </Cell>
+ <Cell ss:StyleID="s33">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s33">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Percent</Data>
+ </Cell>
+ <Cell ss:StyleID="s34">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s34">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Scientific</Data>
+ </Cell>
+ <Cell ss:StyleID="s35">
+ <Data ss:Type="Number">1234567890.0123401</Data>
+ </Cell>
+ <Cell ss:StyleID="s35">
+ <Data ss:Type="Number">-1234567890.0123401</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Yes/No</Data>
+ </Cell>
+ <Cell ss:StyleID="s36">
+ <Data ss:Type="Number">1</Data>
+ </Cell>
+ <Cell ss:StyleID="s36">
+ <Data ss:Type="Number">0</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">True/False</Data>
+ </Cell>
+ <Cell ss:StyleID="s37">
+ <Data ss:Type="Number">1</Data>
+ </Cell>
+ <Cell ss:StyleID="s37">
+ <Data ss:Type="Number">0</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">On/Off</Data>
+ </Cell>
+ <Cell ss:StyleID="s38">
+ <Data ss:Type="Number">1</Data>
+ </Cell>
+ <Cell ss:StyleID="s38">
+ <Data ss:Type="Number">0</Data>
+ </Cell>
+ </Row>
+ <Row>
+ <Cell>
+ <Data ss:Type="String">Text</Data>
+ </Cell>
+ <Cell ss:StyleID="s39">
+ <Data ss:Type="String">1234567890</Data>
+ </Cell>
+ <Cell ss:StyleID="s39">
+ <Data ss:Type="String">This's just a string.</Data>
+ </Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>7</ActiveRow>
+ <ActiveCol>1</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/dataformat2.xml b/testautomation/xml/optional/input/calc/ExcelXML/dataformat2.xml
new file mode 100755
index 000000000000..2c749cca45bf
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/dataformat2.xml
@@ -0,0 +1,504 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-09-12T09:21:32Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5606</Version>
+ </DocumentProperties>
+ <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
+ <DownloadComponents/>
+ <LocationOfComponents HRef="/"/>
+ </OfficeDocumentSettings>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>11025</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>480</WindowTopX>
+ <WindowTopY>45</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <NumberFormat ss:Format="#,##0.0000_ "/>
+ </Style>
+ <Style ss:ID="s22">
+ <NumberFormat ss:Format="_ * #,##0_ ;_ * \-#,##0_ ;[Red]_ * &quot;-&quot;_ ;_ @_ "/>
+ </Style>
+ <Style ss:ID="s23">
+ <NumberFormat ss:Format="#.0000,,"/>
+ </Style>
+ <Style ss:ID="s24">
+ <NumberFormat ss:Format="#&quot;abded&quot;\ ??/??"/>
+ </Style>
+ <Style ss:ID="s25">
+ <NumberFormat ss:Format="#\ ??/100;[Red]\(#\ ??/16\)"/>
+ </Style>
+ <Style ss:ID="s26">
+ <NumberFormat ss:Format="\c\c\c?????0&quot;aaaa&quot;0&quot;bbbb&quot;000000.00%"/>
+ </Style>
+ <Style ss:ID="s27">
+ <NumberFormat ss:Format="0&quot;abde&quot;.0&quot;??&quot;000E+00"/>
+ </Style>
+ <Style ss:ID="s28">
+ <NumberFormat ss:Format="[$RD$-1C0A]#,##0.00;[Red]\-[$RD$-1C0A]#,##0.00"/>
+ </Style>
+ <Style ss:ID="s29">
+ <NumberFormat ss:Format="[$SFr.-810]\ #,##0.00_);[Red]\([$SFr.-810]\ #,##0.00\)"/>
+ </Style>
+ <Style ss:ID="s30">
+ <NumberFormat
+ ss:Format="_ &quot;¥&quot;* #,##0.00_ &quot;Positive&quot;;_ &quot;¥&quot;* \-#,##0.00_ ;_ &quot;¥&quot;* &quot;-&quot;??_ &quot;Negtive&quot;;_ @_ \ &quot;Zero&quot;"/>
+ </Style>
+ <Style ss:ID="s31">
+ <NumberFormat ss:Format="[ENG][$-140C]dddd\ &quot;YeahWoo!&quot;\ ddd\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s32">
+ <NumberFormat ss:Format="[JPN][$-411]gggyy&quot;年&quot;m&quot;月&quot;d&quot;日&quot;\ dddd;@"/>
+ </Style>
+ <Style ss:ID="s33">
+ <NumberFormat ss:Format="[$-2000000]h:mm:ss;@"/>
+ </Style>
+ <Style ss:ID="s34">
+ <NumberFormat ss:Format="h\.mm&quot; Uhr &quot;;@"/>
+ </Style>
+ <Style ss:ID="s35">
+ <NumberFormat ss:Format="&quot;Haha!&quot;\ @\ &quot;Yeah!&quot;"/>
+ </Style>
+ <Style ss:ID="s36">
+ <NumberFormat ss:Format="[h]\.mm&quot; Uhr &quot;;@"/>
+ </Style>
+ <Style ss:ID="s37">
+ <NumberFormat ss:Format="[$-41C]h:mm:ss\.AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s38">
+ <NumberFormat ss:Format="[$-2010401]d/mm/yyyy\ h:mm\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s39">
+ <NumberFormat ss:Format="[ENG][$-444]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s40">
+ <NumberFormat ss:Format="mm:ss.0;@"/>
+ </Style>
+ <Style ss:ID="s41">
+ <NumberFormat ss:Format="[HIJ][$-2060401]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s42">
+ <NumberFormat ss:Format="[ENG][$-C07]dddd\,\ dd\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s43">
+ <NumberFormat ss:Format="[$-412]AM/PM\ h&quot;시&quot;\ mm&quot;분&quot;\ ss&quot;초&quot;;@"/>
+ </Style>
+ <Style ss:ID="s44">
+ <NumberFormat ss:Format="[ENG][$-82C]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s45">
+ <NumberFormat ss:Format="[ENG][$-FC19]yyyy\,\ dd\ mmmm;@"/>
+ </Style>
+ <Style ss:ID="s46">
+ <NumberFormat ss:Format="[ENG][$-425]dddd\,\ d\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s47">
+ <NumberFormat ss:Format="[ENG][$-438]d\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s48">
+ <NumberFormat ss:Format="hh\.mm&quot; h&quot;;@"/>
+ </Style>
+ <Style ss:ID="s49">
+ <NumberFormat ss:Format="[ENG][$-42D]yyyy&quot;(e)ko&quot;\ mmmm&quot;ren&quot;\ d&quot;a&quot;;@"/>
+ </Style>
+ <Style ss:ID="s50">
+ <NumberFormat ss:Format="[HIJ][$-2060401]d/mm/yyyy\ h:mm\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s51">
+ <NumberFormat ss:Format="[$-44F]hh:mm:ss\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s52">
+ <NumberFormat ss:Format="[ENG][$-FC23]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s53">
+ <NumberFormat ss:Format="[ENG][$-42C]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s54">
+ <NumberFormat ss:Format="h\.mm&quot; u.&quot;;@"/>
+ </Style>
+ <Style ss:ID="s55">
+ <NumberFormat ss:Format="[ENG][$-402]dd\ mmmm\ yyyy\ &quot;г.&quot;;@"/>
+ </Style>
+ <Style ss:ID="s56">
+ <NumberFormat ss:Format="[ENG][$-40C]d/mmm/yyyy;@"/>
+ </Style>
+ <Style ss:ID="s57">
+ <NumberFormat ss:Format="[$-44E]hh:mm:ss\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s58">
+ <NumberFormat ss:Format="[ENG][$-40F]dd\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s59">
+ <NumberFormat ss:Format="[ENG][$-44F]dd\ mmmm\ yyyy\ dddd;@"/>
+ </Style>
+ <Style ss:ID="s60">
+ <NumberFormat ss:Format="h&quot;時&quot;mm&quot;分&quot;ss&quot;秒&quot;;@"/>
+ </Style>
+ <Style ss:ID="s61">
+ <NumberFormat ss:Format="[ENG][$-415]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s62">
+ <NumberFormat ss:Format="[ENG][$-40B]d\.\ mmmm\t\a\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s63">
+ <NumberFormat ss:Format="&quot;kl &quot;hh:mm:ss;@"/>
+ </Style>
+ <Style ss:ID="s64">
+ <NumberFormat ss:Format="yyyy&quot;년&quot;\ m&quot;월&quot;\ d&quot;일&quot;;@"/>
+ </Style>
+ <Style ss:ID="s65">
+ <NumberFormat ss:Format="[ENG][$-437]yyyy\ \წ\ლ\ი\ს\ dd\ mm\,\ dddd;@"/>
+ </Style>
+ <Style ss:ID="s66">
+ <NumberFormat ss:Format="[$-449]hh:mm:ss\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s67">
+ <NumberFormat ss:Format="[ENG][$-43F]d\ mmmm\ yyyy\ &quot;ж.&quot;;@"/>
+ </Style>
+ <Style ss:ID="s68">
+ <NumberFormat ss:Format="[ENG][$-416]d\ \ mmmm\,\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s69">
+ <NumberFormat ss:Format="[$-D000409]h:mm\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s70">
+ <NumberFormat ss:Format="[ENG][$-813]dddd\ d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s71">
+ <NumberFormat ss:Format="[ENG][$-41D]&quot;den &quot;\ d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s72">
+ <NumberFormat ss:Format="[$-1010409]d/m/yyyy\ h:mm\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s73">
+ <NumberFormat ss:Format="[ENG][$-403]dddd\,\ d&quot; / &quot;mmmm&quot; / &quot;yyyy;@"/>
+ </Style>
+ <Style ss:ID="s74">
+ <NumberFormat ss:Format="[ENG][$-81A]dddd\,\ d\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s75">
+ <NumberFormat ss:Format="[$-40E]h\ &quot;óra&quot;\ m\ &quot;perckor&quot;\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s76">
+ <NumberFormat ss:Format="[ENG][$-41A]d\.\ mmmm\ yyyy\.;@"/>
+ </Style>
+ <Style ss:ID="s77">
+ <NumberFormat ss:Format="[ENG][$-41B]d\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s78">
+ <NumberFormat ss:Format="h\.mm&quot; h&quot;;@"/>
+ </Style>
+ <Style ss:ID="s79">
+ <NumberFormat ss:Format="[ENG][$-405]d\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s80">
+ <NumberFormat ss:Format="[ENG][$-424]dddd\,\ d\.\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s81">
+ <NumberFormat ss:Format="[$-1409]h:mm:ss\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s82">
+ <NumberFormat ss:Format="[ENG][$-457]dd\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s83">
+ <NumberFormat ss:Format="[ENG][$-449]dd\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s84">
+ <NumberFormat ss:Format="[$-4000439]h:mm:ss\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s85">
+ <NumberFormat ss:Format="[ENG][$-426]dddd\,\ yyyy&quot;. gada &quot;d\.\ mmmm;@"/>
+ </Style>
+ <Style ss:ID="s86">
+ <NumberFormat ss:Format="[$-D010000]d/mm/yyyy\ h:mm\ &quot;น.&quot;;@"/>
+ </Style>
+ <Style ss:ID="s87">
+ <NumberFormat ss:Format="[$-100042A]h:mm:ss\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s88">
+ <NumberFormat ss:Format="[ENG][$-427]yyyy\ &quot;m.&quot;\ mmmm\ d\ &quot;d.&quot;;@"/>
+ </Style>
+ <Style ss:ID="s89">
+ <NumberFormat ss:Format="[ENG][$-420]dddd\,\ dd\ mmmm\,\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s90">
+ <NumberFormat ss:Format="AM/PMh&quot;時&quot;mm&quot;分&quot;ss&quot;秒&quot;;@"/>
+ </Style>
+ <Style ss:ID="s91">
+ <NumberFormat ss:Format="[ENG][$-418]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s92">
+ <NumberFormat ss:Format="[ENG][$-FC22]d\ mmmm\ yyyy&quot; р.&quot;;@"/>
+ </Style>
+ <Style ss:ID="s93">
+ <NumberFormat ss:Format="[$-409]AM/PM\ hh:mm:ss;@"/>
+ </Style>
+ <Style ss:ID="s94">
+ <NumberFormat ss:Format="[ENG][$-44E]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s95">
+ <NumberFormat ss:Format="[ENG][$-843]yyyy\ &quot;й&quot;&quot;и&quot;&quot;л&quot;\ d/mmmm;@"/>
+ </Style>
+ <Style ss:ID="s96">
+ <NumberFormat ss:Format="[DBNum1][$-804]AM/PMh&quot;时&quot;mm&quot;分&quot;;@"/>
+ </Style>
+ <Style ss:ID="s97">
+ <NumberFormat ss:Format="[ENG][$-42F]dddd\,\ dd\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s98">
+ <NumberFormat ss:Format="[ENG][$-2C0A]dddd\ d&quot; de &quot;mmmm&quot; de &quot;yyyy;@"/>
+ </Style>
+ <Style ss:ID="s99">
+ <NumberFormat ss:Format="[DBNum1][$-804]h&quot;时&quot;mm&quot;分&quot;;@"/>
+ </Style>
+ <Style ss:ID="s100">
+ <NumberFormat ss:Format="[ENG][$-101040D]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s101">
+ <NumberFormat ss:Format="[$-4010439]d/m/yyyy\ h:mm\ AM/PM;@"/>
+ </Style>
+ <Style ss:ID="s102">
+ <NumberFormat ss:Format="[ENG][$-408]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s103">
+ <NumberFormat ss:Format="[ENG][$-421]dd\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s104">
+ <NumberFormat ss:Format="[ENG][$-40E]yyyy/\ mmmm\ d\.;@"/>
+ </Style>
+ <Style ss:ID="s105">
+ <NumberFormat ss:Format="[ENG][$-101042A]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s106">
+ <NumberFormat ss:Format="[ENG][$-42B]dddd\,\ d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s107">
+ <NumberFormat ss:Format="[TWN][DBNum1][$-404]y&quot;年&quot;m&quot;月&quot;d&quot;日&quot;;@"/>
+ </Style>
+ <Style ss:ID="s108">
+ <NumberFormat ss:Format="[ENG][$-410]d\ mmmm\ yyyy;@"/>
+ </Style>
+ <Style ss:ID="s109">
+ <NumberFormat ss:Format="[ENG][$-1004]dddd\,\ d\ mmmm\,\ yyyy;@"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="36" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:AutoFitWidth="0" ss:Width="186.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="258.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="288"/>
+ <Column ss:AutoFitWidth="0" ss:Width="66"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Number</Data></Cell>
+ <Cell ss:StyleID="s21"><Data ss:Type="Number">1255656.34567</Data></Cell>
+ <Cell ss:StyleID="s22"><Data ss:Type="Number">14545452.34567</Data></Cell>
+ <Cell ss:StyleID="s23"><Data ss:Type="Number">1234567890.4542999</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Fraction</Data></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="Number">75756765.566497996</Data></Cell>
+ <Cell ss:StyleID="s25"><Data ss:Type="Number">-34235.34564</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Percentage</Data></Cell>
+ <Cell ss:StyleID="s26"><Data ss:Type="Number">0.99729999999999996</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Scientific</Data></Cell>
+ <Cell ss:StyleID="s27"><Data ss:Type="Number">23423342.4635645</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Currency</Data></Cell>
+ <Cell ss:StyleID="s28"><Data ss:Type="Number">1234.56</Data></Cell>
+ <Cell ss:StyleID="s29"><Data ss:Type="Number">1234.56</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Accounting</Data></Cell>
+ <Cell ss:StyleID="s30"><Data ss:Type="Number">1234.56</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Date</Data></Cell>
+ <Cell ss:StyleID="s31"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s32"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Time</Data></Cell>
+ <Cell ss:StyleID="s33"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s34"><Data ss:Type="DateTime">1900-01-01T08:34:44.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Customed Text</Data></Cell>
+ <Cell ss:StyleID="s35"><Data ss:Type="String">This's the true text!</Data></Cell>
+ <Cell ss:StyleID="s36"><Data ss:Type="DateTime">1900-01-01T08:34:44.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s37"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s38"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s39"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s40"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s41"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s42"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s43"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s44"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s45"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s33"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s46"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s47"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s48"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s49"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s50"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s51"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s52"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s53"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s54"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s55"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s56"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s57"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s58"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s59"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s60"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s61"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s62"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s63"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s64"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s65"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s66"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s67"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s68"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s69"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s70"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s71"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s72"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s73"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s74"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s75"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s76"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s77"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s78"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s79"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s80"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s81"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s82"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s83"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s84"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s85"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s86"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s87"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s88"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s89"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s90"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s91"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s92"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s93"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s94"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s95"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s96"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s97"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s98"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s99"><Data ss:Type="DateTime">1899-12-31T12:34:44.000</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s101"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s102"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s103"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s104"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s105"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s106"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s107"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s108"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ <Cell ss:StyleID="s109"><Data ss:Type="DateTime">2003-04-23T00:00:00.000</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>96</HorizontalResolution>
+ <VerticalResolution>96</VerticalResolution>
+ <NumberofCopies>0</NumberofCopies>
+ </Print>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>10</ActiveRow>
+ <ActiveCol>2</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/datarange.xml b/testautomation/xml/optional/input/calc/ExcelXML/datarange.xml
new file mode 100755
index 000000000000..d7a428234e2a
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/datarange.xml
@@ -0,0 +1,1314 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Guang Gavin Lu</LastAuthor>
+ <Created>2003-07-09T05:25:37Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>10620</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <TabRatio>272</TabRatio>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <Interior ss:Color="#00FFFF" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s22">
+ <Interior ss:Color="#FFFF00" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s23">
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Bold="1"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s24">
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Bold="1"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Names>
+ <NamedRange ss:Name="_FilterDatabase" ss:RefersTo="=Sheet1!R13C2:R17C6"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="Criteria" ss:RefersTo="=Sheet1!R19C2:R20C6"/>
+ <NamedRange ss:Name="default.aspx?CTT_6_Origin_EC010229861033"
+ ss:RefersTo="=Sheet1!R3C8:R5C8"/>
+ <NamedRange ss:Name="Extract" ss:RefersTo="=Sheet1!R22C2:R25C6"/>
+ <NamedRange ss:Name="Query_from_biblio" ss:RefersTo="=Sheet1!R9C8:R44C10"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="10" ss:ExpandedRowCount="44" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:Index="8" ss:AutoFitWidth="0" ss:Width="79.5"/>
+ <Column ss:AutoFitWidth="0" ss:Width="37.5"/>
+ <Column ss:Width="376.5"/>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s21"><Data ss:Type="String">Month</Data></Cell>
+ <Cell ss:StyleID="s21"><Data ss:Type="String">persons</Data></Cell>
+ <Cell ss:StyleID="s21"><Data ss:Type="String">cars</Data></Cell>
+ <Cell ss:StyleID="s21"><Data ss:Type="String">bags</Data></Cell>
+ <Cell ss:StyleID="s21"><Data ss:Type="String">currency</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s22"><Data ss:Type="String">Web Query Result</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">March</Data></Cell>
+ <Cell><Data ss:Type="Number">2</Data></Cell>
+ <Cell><Data ss:Type="Number">3</Data></Cell>
+ <Cell><Data ss:Type="Number">4</Data></Cell>
+ <Cell><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">Information for professionals</Data><NamedCell
+ ss:Name="default.aspx?CTT_6_Origin_EC010229861033"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s23"><Data ss:Type="String">March Total</Data></Cell>
+ <Cell ss:Index="6" ss:Formula="=SUBTOTAL(9,R[-1]C:R[-1]C)"><Data
+ ss:Type="Number">5</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">April</Data></Cell>
+ <Cell><Data ss:Type="Number">21</Data></Cell>
+ <Cell><Data ss:Type="Number">31</Data></Cell>
+ <Cell><Data ss:Type="Number">41</Data></Cell>
+ <Cell><Data ss:Type="Number">51</Data></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">Healthcare</Data><NamedCell
+ ss:Name="default.aspx?CTT_6_Origin_EC010229861033"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s24"><Data ss:Type="String">April Total</Data></Cell>
+ <Cell ss:Index="6" ss:Formula="=SUBTOTAL(9,R[-1]C:R[-1]C)"><Data
+ ss:Type="Number">51</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">June</Data></Cell>
+ <Cell><Data ss:Type="Number">22</Data></Cell>
+ <Cell><Data ss:Type="Number">32</Data></Cell>
+ <Cell><Data ss:Type="Number">42</Data></Cell>
+ <Cell><Data ss:Type="Number">52</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s22"><Data ss:Type="String">Database Query Result</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s24"><Data ss:Type="String">June Total</Data></Cell>
+ <Cell ss:Index="6" ss:Formula="=SUBTOTAL(9,R[-1]C:R[-1]C)"><Data
+ ss:Type="Number">52</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s22"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">July</Data></Cell>
+ <Cell><Data ss:Type="Number">23</Data></Cell>
+ <Cell><Data ss:Type="Number">33</Data></Cell>
+ <Cell><Data ss:Type="Number">43</Data></Cell>
+ <Cell><Data ss:Type="Number">53</Data></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">BOR02a</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Borges, Malte; Schumacher, J攔g</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s24"><Data ss:Type="String">July Total</Data></Cell>
+ <Cell ss:Index="6" ss:Formula="=SUBTOTAL(9,R[-1]C:R[-1]C)"><Data
+ ss:Type="Number">53</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s24"><Data ss:Type="String">Grand Total</Data></Cell>
+ <Cell ss:Index="6" ss:Formula="=SUBTOTAL(9,R[-8]C:R[-2]C)"><Data
+ ss:Type="Number">161</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">STA99</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Staas, Dieter</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s24"><Data ss:Type="String">a</Data><NamedCell
+ ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="String">b</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="String">c</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="String">d</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="String">e</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">ESS99A</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Esser, Heinz-Christian; Meseke, Bodo; Rottenberger, Dirk</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="Number">-454</Data><NamedCell
+ ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">5633</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">553</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">753</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">35</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">BOR98</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Borges, Malte; M乴ler, Carsten</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="Number">12</Data><NamedCell
+ ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">33</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">45</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">66</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">44</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">SEE98B</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Seeboerger-Weichselbaum, Michael</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="Number">22</Data><NamedCell
+ ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">3</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">64</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">943</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">464</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">BOR99B</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Borges, Malte; Elser, Eike; Schumacher. J攔g</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="Number">333</Data><NamedCell
+ ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">5</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">326</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">669</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell><Data ss:Type="Number">4232</Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">STA98</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Staas, Dieter</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">DAN1999</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Dangel, David</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">a</Data><NamedCell ss:Name="Criteria"/></Cell>
+ <Cell><Data ss:Type="String">b</Data><NamedCell ss:Name="Criteria"/></Cell>
+ <Cell><Data ss:Type="String">c</Data><NamedCell ss:Name="Criteria"/></Cell>
+ <Cell><Data ss:Type="String">d</Data><NamedCell ss:Name="Criteria"/></Cell>
+ <Cell><Data ss:Type="String">e</Data><NamedCell ss:Name="Criteria"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">BOR99C</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Borges, Malte; Elser, Eike; Schumacher. J攔g</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">&gt;3</Data><NamedCell
+ ss:Name="Criteria"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="Number">66</Data><NamedCell
+ ss:Name="Criteria"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">ESS99B</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Esser, Heinz-Christian; M乴ler, Carsten; Meseke, Bodo</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">MEA99</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Meadhra, Michael</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s24"><Data ss:Type="String">a</Data><NamedCell
+ ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="String">b</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="String">c</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="String">d</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="String">e</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">SPA00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Spanik, Christian; Fette, Joachim</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="Number">12</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="Number">33</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="Number">45</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="Number">66</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell><Data ss:Type="Number">44</Data><NamedCell ss:Name="Extract"/></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">MIC00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">de Micheli, Fulvio</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">GIE00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Giersig, Jutta</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">WEL99</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Wells, Nicholas; Taylor, R. Dean</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">KOC99</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Koch, Michael; Murray, Sarah; Roth, Werner</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">PRO99A</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Proffitt, Brian</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">ART00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Artymiak, Jacek; Wrightson, Kate; Merlino, Joe</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">MEA99A</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Meadhra, Michael</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">PRO99B</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Proffitt, Brian</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">PRO99C</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Proffitt, Brian</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">BUS00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Busch, David D.</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">BOR02b</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Borges, Malte; Schumacher, J攔g</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">BUS00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Busch, David D.; Olsen, J.W.</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">DAN00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Dandenell, Malin; Ek, Jesper</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">FAC01</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Facundo Arena, Hector</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">GAE02</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">G刡ler, Rene</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">HAB00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Habraken, Joe</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">JON00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Jones, Floyd; Haugland, Solveig</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">MOL02</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Molla, Ricard</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">RAP00</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Rapion, Anne</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">RIN01</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Rinne , Karin</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">WAR01a</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Warner, Nancy D.</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">WAR01b</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="Query_from_biblio"/></Cell>
+ <Cell><Data ss:Type="String">Warner, Nancy D.</Data><NamedCell
+ ss:Name="Query_from_biblio"/></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>1</ActiveRow>
+ <ActiveCol>1</ActiveCol>
+ <RangeSelection>R2C2:R11C6</RangeSelection>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ <QueryTable xmlns="urn:schemas-microsoft-com:office:excel">
+ <Name>default.aspx?CTT=6&amp;Origin=EC010229861033</Name>
+ <AutoFormatFont/>
+ <AutoFormatPattern/>
+ <QuerySource>
+ <QueryType>Web</QueryType>
+ <EnableRedirections/>
+ <RefreshedInXl9/>
+ <URLString
+ x:HRef="http://officebeta.microsoft.com/officeupdate/default.aspx?CTT=6&amp;Origin=EC010229861033"/>
+ <HTMLTables>
+ <Number>39</Number>
+ </HTMLTables>
+ <VersionLastEdit>2</VersionLastEdit>
+ <VersionLastRefresh>2</VersionLastRefresh>
+ </QuerySource>
+ </QueryTable>
+ <QueryTable xmlns="urn:schemas-microsoft-com:office:excel">
+ <Name>Query from biblio</Name>
+ <AutoFormatFont/>
+ <AutoFormatPattern/>
+ <QuerySource>
+ <Connection>CollatingSequence=ASCII;DBQ=C:\PROGRAM FILES\STAROFFICE7\USER\DATABASE\BIBLIO;DefaultDir=C:\PROGRAM FILES\STAROFFICE7\USER\DATA</Connection>
+ <Connection>BASE\BIBLIO;Deleted=0;Driver={Microsoft dBase Driver (*.dbf)};DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;MaxScanRows=8;PageT</Connection>
+ <Connection>imeout=5;SafeTransactions=0;Statistics=0;Threads=3;UID=admin;UserCommitSync=Yes;</Connection>
+ <CommandText>SELECT biblio.Identifier, biblio.Type, biblio.Author&#13;&#10;FROM biblio biblio</CommandText>
+ <VersionLastEdit>2</VersionLastEdit>
+ <VersionLastRefresh>2</VersionLastRefresh>
+ </QuerySource>
+ <RefreshInfo>
+ <NoTitles/>
+ <NextId>4</NextId>
+ <ColumnInfo>
+ <Id>1</Id>
+ <Name>Identifier</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>2</Id>
+ <Name>Type</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>3</Id>
+ <Name>Author</Name>
+ </ColumnInfo>
+ </RefreshInfo>
+ </QueryTable>
+ <DataValidation xmlns="urn:schemas-microsoft-com:office:excel">
+ <Range>R14C2:R17C6</Range>
+ <Type>Decimal</Type>
+ <Min>4</Min>
+ <Max>55555</Max>
+ </DataValidation>
+ <Sorting xmlns="urn:schemas-microsoft-com:office:excel">
+ <Sort>a</Sort>
+ <Sort>b</Sort>
+ <Descending/>
+ <Sort>c</Sort>
+ <Order>3</Order>
+ <CaseSensitive/>
+ </Sorting>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Names>
+ <NamedRange ss:Name="biblio" ss:RefersTo="=Sheet2!R1C1:R37C31"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="31" ss:ExpandedRowCount="37" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:Width="79.5"/>
+ <Column ss:Width="37.5"/>
+ <Column ss:Width="96.75"/>
+ <Column ss:Width="51"/>
+ <Column ss:Width="376.5"/>
+ <Column ss:Width="72"/>
+ <Column ss:Width="57.75" ss:Span="1"/>
+ <Column ss:Index="9" ss:Width="51"/>
+ <Column ss:Width="79.5"/>
+ <Column ss:Width="72"/>
+ <Column ss:Width="57.75"/>
+ <Column ss:Width="44.25"/>
+ <Column ss:Width="37.5"/>
+ <Column ss:Width="51"/>
+ <Column ss:Width="72"/>
+ <Column ss:Width="44.25"/>
+ <Column ss:Width="169.5"/>
+ <Column ss:Width="51" ss:Span="1"/>
+ <Column ss:Index="21" ss:Width="466.5"/>
+ <Column ss:Width="57.75"/>
+ <Column ss:Width="51"/>
+ <Column ss:Width="37.5"/>
+ <Column ss:Width="30.75"/>
+ <Column ss:Width="57.75" ss:Span="4"/>
+ <Column ss:Index="31" ss:Width="90"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Identifier</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Type</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Address</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Annote</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Author</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Booktitle</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Chapter</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Edition</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Editor</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Howpublish</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Institutn</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Journal</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Month</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Note</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Number</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Organizat</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Pages</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Publisher</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">School</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Series</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Title</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">RepType</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Volume</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Year</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">URL</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Custom1</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Custom2</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Custom3</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Custom4</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Custom5</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:StyleID="s24"><Data ss:Type="String">ISBN</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BOR02a</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Borges, Malte; Schumacher, J攔g</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">900</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Markt &amp; Technik Verlag</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 6.0 Kompendium</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2002</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3827262763</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">SEE98A</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Kaarst-B乼tgen</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Seeboerger-Weichselbaum, Michael</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">446</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">BHV</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Das Einsteiger-Seminar. StarOffice 5.0</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1998</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8287-1012-3</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BOR99A</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">M乶chen</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Borges, Malte; Elser, Eike; Schuhmacher, J攔g</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">532</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Heyne</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Markt &amp; Technik bei Heyne, Bd.40, StarOffice 5.0</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-4531-4974-2</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">STA99</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">M乶chen</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Staas, Dieter</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">480</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Carl Hanser</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarBasic Programmierung</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-4461-9585-8</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">ESS99A</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">D乻seldorf</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Esser, Heinz-Christian; Meseke, Bodo; Rottenberger, Dirk</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">306</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Sybex</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5 TopTenThemen</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8155-8012-9</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BOR98</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Haar</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Borges, Malte; M乴ler, Carsten</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">144</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Markt und Technik</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.0 Training. Einf乭rung</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1998</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8272-5430-2</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">SEE98B</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Kaarst-B乼tgen</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Seeboerger-Weichselbaum, Michael</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">1016</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">BHV</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.0. Das bhv Taschenbuch</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1998</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8287-5012-5</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BOR99B</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Haar</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Borges, Malte; Elser, Eike; Schumacher. J攔g</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">647</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Markt und Technik</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.0. f乺 Linux</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8272-5545-7</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">STA98</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">M乶chen</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Staas, Dieter</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">709</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Carl Hanser</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.0. Praxisbuch und Referenz</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1998</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-4461-9415-0</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">DAN1999</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">M乶chen</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Dangel, David</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">358</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Beck-DTV</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.1. Die L攕ung f乺 alle Office- Aufgaben</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-4235-0221-5</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BOR99C</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Haar</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Borges, Malte; Elser, Eike; Schumacher. J攔g</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">948</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Markt und Technik</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.1 Kompendium</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8272-5633-X</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">ESS99B</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">D乻seldorf</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Esser, Heinz-Christian; M乴ler, Carsten; Meseke, Bodo</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">312</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Sybex</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.x f乺 Linux TopTenThemen</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8155-8002-1</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">MEA99</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Bonn</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Meadhra, Michael</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">400</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">MITP</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Staroffice f乺 Dummies</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8266-2841-1</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">SPA00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">K攏igswinter</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Spanik, Christian; Fette, Joachim</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">416</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">More Software</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Chip Bibliothek Staroffice 5.1 Schulung</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-8982-6125-5</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">MIC00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">de Micheli, Fulvio</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">240</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">SMARTBOOKS</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Das SmartBook zu StarOffice 5.x, m. CD-ROM</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-9084-9059-6</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">GIE00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Giersig, Jutta</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="18"><Data ss:Type="String">GIERSIG</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.1, Internet, drei Tage zum Erfolg</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3-9324-2118-3</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">WEL99</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Wells, Nicholas; Taylor, R. Dean</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">505</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">MacMillan</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Sams Teach Yourself Staroffice for Linux in 24 Hours</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-6723-1412-6</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">KOC99</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Koch, Michael; Murray, Sarah; Roth, Werner</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">1519</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Que</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Special Edition Using StarOffice</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-7897-1993-2</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">PRO99A</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Proffitt, Brian</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">512</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prima Publishing</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Staroffice 5.1 for Linux Fast &amp; Easy</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-7615-2447-9</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">ART00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Artymiak, Jacek; Wrightson, Kate; Merlino, Joe</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">700</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">IDG Books Worldwide</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice For Linux Bible</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-7645-3363-0</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">MEA99A</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Meadhra, Michael</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">404</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">IDG Books Worldwide</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Staroffice for Linux for Dummies</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">PRO99B</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Proffitt, Brian</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">528</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prima Publishing</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Sun StarOffice 5.1 for Linux</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-7615-2454-1</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">PRO99C</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Proffitt, Brian</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">500</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prima Publishing</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Suns Staroffice 5.1 for Windows</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">1999</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-7615-2693-5</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BUS00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Busch, David D.</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">640</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Sybex</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Mastering StarOffice 5.1 for Linux</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0-7821-2709-6</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BOR02b</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Borges, Malte; Schumacher, J攔g</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">384</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Heyne Wilhelm Verlag GmbH</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 6.0</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2002</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">345317335X</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">BUS00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Busch, David D.; Olsen, J.W.</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">704</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Sybex</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Mastering StarOffice 5.2 for Linux</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0782127096</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">DAN00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Dandenell, Malin; Ek, Jesper</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">423</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Pagina</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.2 f攔 Alla</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">9163606194</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">FAC01</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Facundo Arena, Hector</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">216</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Mp Ediciones Sa</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5 Libros en 1 con CD-ROM: Manuales Users, en Espanol / Spanish</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2001</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">987526086X</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">GAE02</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">G刡ler, Rene</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">350</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Computer u. Literatur</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Star Office 6.0</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2002</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">3932311949</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">HAB00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Habraken, Joe</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">366</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prentice Hall</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.2 Calc Handbook</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">013029389X</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">JON00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Jones, Floyd; Haugland, Solveig</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">1144</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prentice Hall</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.2 Companion</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0130307033</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">MOL02</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Molla, Ricard</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">312</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Editores Alfaomega</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Primeros pasos con StarOffice: Manual interactico</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2002</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">9701507177</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">RAP00</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Rapion, Anne</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="18"><Data ss:Type="String">ENI (Bien utiliser)</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice Writer 5.2 : Le traitement de texte de StarOffice</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2000</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">2746011123</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">RIN01</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Rinne , Karin</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">256</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Franzis Verlag</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.2 echt einfach. Das kinderleichte Computerbuch.</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2001</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">377236585X</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">WAR01a</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Warner, Nancy D.</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">432</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prentice Hall</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">StarOffice 5.2 Writer Handbook</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2001</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0130293865</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">WAR01b</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">1</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="5"><Data ss:Type="String">Warner, Nancy D.</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="17"><Data ss:Type="String">300</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell><Data ss:Type="String">Prentice Hall</Data><NamedCell ss:Name="biblio"/></Cell>
+ <Cell ss:Index="21"><Data ss:Type="String">Staroffice Impress Handbook</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="24"><Data ss:Type="String">2001</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ <Cell ss:Index="31"><Data ss:Type="String">0130293873</Data><NamedCell
+ ss:Name="biblio"/></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>3</ActiveRow>
+ <ActiveCol>1</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ <QueryTable xmlns="urn:schemas-microsoft-com:office:excel">
+ <Name>biblio</Name>
+ <AutoFormatFont/>
+ <AutoFormatPattern/>
+ <QuerySource>
+ <Connection>CollatingSequence=ASCII;DBQ=C:\PROGRAM FILES\STAROFFICE7\USER\DATABASE\BIBLIO;DefaultDir=C:\PROGRAM FILES\STAROFFICE7\USER\DATA</Connection>
+ <Connection>BASE\BIBLIO;Deleted=0;Driver={Microsoft dBase Driver (*.dbf)};DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;MaxScanRows=8;PageT</Connection>
+ <Connection>imeout=5;SafeTransactions=0;Statistics=0;Threads=3;UserCommitSync=Yes;</Connection>
+ <CommandText>SELECT * FROM `biblio`</CommandText>
+ <VersionLastEdit>2</VersionLastEdit>
+ <VersionLastRefresh>2</VersionLastRefresh>
+ </QuerySource>
+ <RefreshInfo>
+ <NextId>32</NextId>
+ <ColumnInfo>
+ <Id>1</Id>
+ <Name>Identifier</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>2</Id>
+ <Name>Type</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>3</Id>
+ <Name>Address</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>4</Id>
+ <Name>Annote</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>5</Id>
+ <Name>Author</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>6</Id>
+ <Name>Booktitle</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>7</Id>
+ <Name>Chapter</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>8</Id>
+ <Name>Edition</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>9</Id>
+ <Name>Editor</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>10</Id>
+ <Name>Howpublish</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>11</Id>
+ <Name>Institutn</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>12</Id>
+ <Name>Journal</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>13</Id>
+ <Name>Month</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>14</Id>
+ <Name>Note</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>15</Id>
+ <Name>Number</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>16</Id>
+ <Name>Organizat</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>17</Id>
+ <Name>Pages</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>18</Id>
+ <Name>Publisher</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>19</Id>
+ <Name>School</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>20</Id>
+ <Name>Series</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>21</Id>
+ <Name>Title</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>22</Id>
+ <Name>RepType</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>23</Id>
+ <Name>Volume</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>24</Id>
+ <Name>Year</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>25</Id>
+ <Name>URL</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>26</Id>
+ <Name>Custom1</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>27</Id>
+ <Name>Custom2</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>28</Id>
+ <Name>Custom3</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>29</Id>
+ <Name>Custom4</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>30</Id>
+ <Name>Custom5</Name>
+ </ColumnInfo>
+ <ColumnInfo>
+ <Id>31</Id>
+ <Name>ISBN</Name>
+ </ColumnInfo>
+ </RefreshInfo>
+ </QueryTable>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/font.xml b/testautomation/xml/optional/input/calc/ExcelXML/font.xml
new file mode 100755
index 000000000000..1f450f4ee035
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/font.xml
@@ -0,0 +1,559 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Guang Gavin Lu</Author>
+ <LastAuthor>Guang Gavin Lu</LastAuthor>
+ <Created>2003-07-16T01:41:10Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>10620</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s22">
+ <Font ss:FontName="Albany" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s23">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"
+ ss:Underline="Single"/>
+ </Style>
+ <Style ss:ID="s24">
+ <Font ss:FontName="Andale Sans" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s25">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s26">
+ <Font ss:FontName="Andale Sans UI" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s27">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12" ss:Italic="1"/>
+ </Style>
+ <Style ss:ID="s28">
+ <Font x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s29">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"
+ ss:StrikeThrough="1"/>
+ </Style>
+ <Style ss:ID="s30">
+ <Font ss:FontName="Arial Black" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s31">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"
+ ss:VerticalAlign="Superscript"/>
+ </Style>
+ <Style ss:ID="s32">
+ <Font ss:FontName="Arial Narrow" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s33">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"
+ ss:VerticalAlign="Subscript"/>
+ </Style>
+ <Style ss:ID="s34">
+ <Font ss:FontName="Arial Unicode MS" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s35">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12" ss:Shadow="1"/>
+ </Style>
+ <Style ss:ID="s36">
+ <Font ss:FontName="AvantGarde" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s37">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12" ss:Outline="1"/>
+ </Style>
+ <Style ss:ID="s38">
+ <Font ss:FontName="Batang" x:CharSet="255" x:Family="Modern" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s39">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"
+ ss:Color="#FF0000"/>
+ </Style>
+ <Style ss:ID="s40">
+ <Font ss:FontName="Book Antiqua" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s41">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12" ss:Bold="1"
+ ss:Italic="1"/>
+ </Style>
+ <Style ss:ID="s42">
+ <Font ss:FontName="Bookman" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s43">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="12"
+ ss:Color="#00FF00" ss:Underline="Double"/>
+ </Style>
+ <Style ss:ID="s44">
+ <Font ss:FontName="Bookman Old Style" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s45">
+ <Font ss:FontName="Broadway" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s46">
+ <Font ss:FontName="Century" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s47">
+ <Font ss:FontName="Century Gothic" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s48">
+ <Font ss:FontName="Code2001" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s49">
+ <Font ss:FontName="Comic Sans MS" x:Family="Script" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s50">
+ <Font ss:FontName="Courier" x:Family="Modern" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s51">
+ <Font ss:FontName="Courier New" x:Family="Modern" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s52">
+ <Font ss:FontName="Cumberland" x:Family="Modern" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s53">
+ <Font ss:FontName="Garamond" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s54">
+ <Font ss:FontName="Georgia" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s55">
+ <Font ss:FontName="Helvetica" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s56">
+ <Font ss:FontName="Helvetica Black" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s57">
+ <Font ss:FontName="Helvetica Light" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s58">
+ <Font ss:FontName="Helvetica-Narrow" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s59">
+ <Font ss:FontName="Impact" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s60">
+ <Font ss:FontName="Imprint MT Shadow" x:Family="Decorative" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s61">
+ <Font ss:FontName="Kidprint" x:Family="Script" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s62">
+ <Font ss:FontName="Lucida Console" x:Family="Modern" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s63">
+ <Font ss:FontName="Lucida Sans Unicode" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s64">
+ <Font ss:FontName="Marlett" x:CharSet="2" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s65">
+ <Font ss:FontName="Microsoft Sans Serif" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s66">
+ <Font ss:FontName="Monotype Corsiva" x:Family="Script" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s67">
+ <Font ss:FontName="MS Mincho" x:CharSet="255" x:Family="Modern" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s68">
+ <Font ss:FontName="MS Reference Sans Serif" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s69">
+ <Font ss:FontName="MS Reference Specialty" x:CharSet="2" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s70">
+ <Font ss:FontName="NewCenturySchlbk" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s71">
+ <Font ss:FontName="OpenSymbol" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s72">
+ <Font ss:FontName="Palace Script" x:Family="Script" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s73">
+ <Font ss:FontName="Palace Script MT" x:Family="Script" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s74">
+ <Font ss:FontName="Palatino" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s75">
+ <Font ss:FontName="Palatino Linotype" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s76">
+ <Font ss:FontName="Sheffield" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s77">
+ <Font ss:FontName="SimSun" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s78">
+ <Font ss:FontName="StarSymbol" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s79">
+ <Font ss:FontName="Symbol" x:CharSet="2" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s80">
+ <Font ss:FontName="Tahoma" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s81">
+ <Font ss:FontName="Thorndale" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s82">
+ <Font ss:FontName="Times" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s83">
+ <Font ss:FontName="Trebuchet MS" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s84">
+ <Font ss:FontName="Verdana" x:Family="Swiss" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s85">
+ <Font ss:FontName="Webdings" x:CharSet="2" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s86">
+ <Font ss:FontName="Wingdings" x:CharSet="2" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s87">
+ <Font ss:FontName="Wingdings 2" x:CharSet="2" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s88">
+ <Font ss:FontName="Wingdings 3" x:CharSet="2" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s89">
+ <Font ss:FontName="ZapfChancery" x:Family="Roman" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s90">
+ <Font ss:FontName="ZapfDingbats" x:CharSet="2" ss:Size="12"/>
+ </Style>
+ <Style ss:ID="s91">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="8"/>
+ </Style>
+ <Style ss:ID="s92">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="9"/>
+ </Style>
+ <Style ss:ID="s93">
+ <Font ss:FontName="Times New Roman" x:Family="Roman"/>
+ </Style>
+ <Style ss:ID="s94">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="10.5"/>
+ </Style>
+ <Style ss:ID="s95">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="11"/>
+ </Style>
+ <Style ss:ID="s96">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="14"/>
+ </Style>
+ <Style ss:ID="s97">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="16"/>
+ </Style>
+ <Style ss:ID="s98">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="18"/>
+ </Style>
+ <Style ss:ID="s99">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="20"/>
+ </Style>
+ <Style ss:ID="s100">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="22"/>
+ </Style>
+ <Style ss:ID="s101">
+ <Font ss:FontName="Times New Roman" x:Family="Roman" ss:Size="72"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="74" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s21"><Data ss:Type="String">Times New Roman Normal 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s21"><Data ss:Type="String">Normal</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s22"><Data ss:Type="String">Albany Normal 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s23"><Data ss:Type="String">Underline</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="18">
+ <Cell ss:StyleID="s24"><Data ss:Type="String">Andale Sans Normal 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s25"><Data ss:Type="String">Bold</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s26"><Data ss:Type="String">Andale Sans UI normal 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s27"><Data ss:Type="String">Italic</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s28"><Data ss:Type="String">Arial Normal+Arial 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s29"><Data ss:Type="String">Strikethrough</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="19.5">
+ <Cell ss:StyleID="s30"><Data ss:Type="String">Arial Black 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s35"><Data ss:Type="String">Shadow</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s32"><Data ss:Type="String">Arial Narrow 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s37"><Data ss:Type="String">Outline</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s34"><Data ss:Type="String">Arial Unicode MS 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s39"><Data ss:Type="String">Colour Red</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s36"><Data ss:Type="String">AvantGarde 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s41"><Data ss:Type="String">Bold Italic</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s38"><Data ss:Type="String">Batang 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s43"><Data ss:Type="String">Double underline green</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s40"><Data ss:Type="String">Book Antiqua 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s31"><Data ss:Type="String">SuperScript</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s42"><Data ss:Type="String">Bookman 12pt</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s33"><Data ss:Type="String">SubScript</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s44"><Data ss:Type="String">Bookman OldStyle</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s45"><Data ss:Type="String">Broadway</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s46"><Data ss:Type="String">Century</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="17.25">
+ <Cell ss:StyleID="s47"><Data ss:Type="String">Century Gothic</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s48"><Data ss:Type="String">Code2001 </Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="19.5">
+ <Cell ss:StyleID="s49"><Data ss:Type="String">Comic Sans MS</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s50"><Data ss:Type="String">Courier</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s51"><Data ss:Type="String">Courier New</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s52"><Data ss:Type="String">Cumberland</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s53"><Data ss:Type="String">Garamond</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s54"><Data ss:Type="String">Georgia</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s55"><Data ss:Type="String">Helvetica</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s56"><Data ss:Type="String">Helvetica Black</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s57"><Data ss:Type="String">Helvetica Light</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s58"><Data ss:Type="String">Helvetica-Narrow</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="16.5">
+ <Cell ss:StyleID="s59"><Data ss:Type="String">Impact</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s60"><Data ss:Type="String">Imprint MT Shadow</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s61"><Data ss:Type="String">Kidprint</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s62"><Data ss:Type="String">Lucida Console</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="16.5">
+ <Cell ss:StyleID="s63"><Data ss:Type="String">Lucida Sans Unicode</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s64"><Data ss:Type="String">Marlett</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s65"><Data ss:Type="String">Microsoft Sans Serif</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s66"><Data ss:Type="String">Monotype Corsiva</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s67"><Data ss:Type="String">MS Mincho</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s68"><Data ss:Type="String">MS Reference Sans Serif</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s69"><Data ss:Type="String">MS Reference Specialty</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s70"><Data ss:Type="String">NewCenturySchlbk</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s71"><Data ss:Type="String">OpenSymbol</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s72"><Data ss:Type="String">Palace Script</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s73"><Data ss:Type="String">Palace Script MT</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s74"><Data ss:Type="String">Palatino</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="18">
+ <Cell ss:StyleID="s75"><Data ss:Type="String">Palatino Linotype</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s76"><Data ss:Type="String">Sheffield</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s77"><Data ss:Type="String">SimSun</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="16.5">
+ <Cell ss:StyleID="s78"><Data ss:Type="String">StarSymbol</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s79"><Data ss:Type="String">Symbol</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s80"><Data ss:Type="String">Tahoma</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s81"><Data ss:Type="String">Thorndale</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s82"><Data ss:Type="String">Times</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s21"><Data ss:Type="String">Times New Roman</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="18">
+ <Cell ss:StyleID="s83"><Data ss:Type="String">Trebuchet MS</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s84"><Data ss:Type="String">Verdana</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s85"><Data ss:Type="String">Webdings</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s86"><Data ss:Type="String">Wingdings</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s87"><Data ss:Type="String">Wingdings 2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s88"><Data ss:Type="String">Wingdings 3</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s89"><Data ss:Type="String">ZapfChancery</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s90"><Data ss:Type="String">ZapfDingbats</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s90"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s90"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s91"><Data ss:Type="String">Times New Roman Normal 8pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s92"><Data ss:Type="String">Times New Roman Normal 9pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s93"><Data ss:Type="String">Times New Roman Normal 10pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s94"><Data ss:Type="String">Times New Roman Normal 10.5pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15">
+ <Cell ss:StyleID="s95"><Data ss:Type="String">Times New Roman Normal 11pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="15.75">
+ <Cell ss:StyleID="s21"><Data ss:Type="String">Times New Roman Normal 12pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="18.75">
+ <Cell ss:StyleID="s96"><Data ss:Type="String">Times New Roman Normal 14pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="20.25">
+ <Cell ss:StyleID="s97"><Data ss:Type="String">Times New Roman Normal 16pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="23.25">
+ <Cell ss:StyleID="s98"><Data ss:Type="String">Times New Roman Normal 18pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="26.25">
+ <Cell ss:StyleID="s99"><Data ss:Type="String">Times New Roman Normal 20pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="27.75">
+ <Cell ss:StyleID="s100"><Data ss:Type="String">Times New Roman Normal 22pt</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="91.5">
+ <Cell ss:StyleID="s101"><Data ss:Type="String">Times New Roman Normal 72pt</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>9</ActiveRow>
+ <ActiveCol>8</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/formula.xml b/testautomation/xml/optional/input/calc/ExcelXML/formula.xml
new file mode 100755
index 000000000000..179adabb63ae
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/formula.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-07T08:45:43Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21">
+ <Alignment ss:Vertical="Center"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s22">
+ <Interior/>
+ </Style>
+ <Style ss:ID="s23">
+ <Interior ss:Color="#00FFFF" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s24">
+ <Interior ss:Color="#FFFF00" ss:Pattern="Solid"/>
+ </Style>
+ <Style ss:ID="s25">
+ <Interior ss:Color="#FFFF00" ss:Pattern="Solid"/>
+ <Protection x:HideFormula="1"/>
+ </Style>
+ <Style ss:ID="s26">
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s38">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="36" ss:Color="#FF6600" ss:Bold="1"/>
+ <Interior ss:Color="#0000FF" ss:Pattern="Solid"/>
+ </Style>
+ </Styles>
+ <Names>
+ <NamedRange ss:Name="name1" ss:RefersTo="=Sheet2!R4C2"/>
+ <NamedRange ss:Name="name2" ss:RefersTo="=Sheet1!R4C2"/>
+ <NamedRange ss:Name="name3" ss:RefersTo="=1"/>
+ <NamedRange ss:Name="name4" ss:RefersTo="=3"/>
+ </Names>
+ <Worksheet ss:Name="Sheet1" ss:Protected="1">
+ <Table ss:ExpandedColumnCount="9" ss:ExpandedRowCount="13" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0">
+ <Cell>
+ <Data ss:Type="String">name3/4's virtual base</Data>
+ </Cell>
+ <Cell ss:Index="5">
+ <Data ss:Type="String">name4</Data>
+ </Cell>
+ <Cell ss:Index="7">
+ <Data ss:Type="String">name3</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:Formula="=name4">
+ <Data ss:Type="Number">3</Data>
+ </Cell>
+ <Cell ss:Index="7" ss:StyleID="s22" ss:Formula="=name3">
+ <Data ss:Type="Number">1</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s23">
+ <Data ss:Type="Number">23</Data>
+ </Cell>
+ <Cell ss:StyleID="s23"/>
+ <Cell ss:StyleID="s23"/>
+ <Cell ss:Index="7" ss:StyleID="s24" ss:Formula="=(RC2 * 655+Sheet2!R[-1]C[-5]-R[1]C[2])">
+ <Data ss:Type="Number">15063</Data>
+ </Cell>
+ <Cell ss:Index="9">
+ <Data ss:Type="Number">232</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell>
+ <Data ss:Type="String">name2-&gt;</Data>
+ </Cell>
+ <Cell ss:StyleID="s23">
+ <Data ss:Type="Number">65</Data>
+ <NamedCell ss:Name="name2"/>
+ </Cell>
+ <Cell ss:StyleID="s23">
+ <Data ss:Type="Number">2342</Data>
+ </Cell>
+ <Cell ss:StyleID="s23">
+ <Data ss:Type="Number">32.898000000000003</Data>
+ </Cell>
+ <Cell>
+ <Data ss:Type="String">hidden formula&#45;&#45;-&gt;</Data>
+ </Cell>
+ <Cell ss:Index="7" ss:StyleID="s25" ss:Formula="=AVERAGE(RC[-5]:RC[-3])">
+ <Data ss:Type="Number">813.29933333333338</Data>
+ </Cell>
+ <Cell ss:Index="9">
+ <Data ss:Type="Number">234</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:StyleID="s23">
+ <Data ss:Type="Number">35</Data>
+ </Cell>
+ <Cell ss:StyleID="s23"/>
+ <Cell ss:StyleID="s23"/>
+ <Cell ss:Index="6" ss:StyleID="s26">
+ <Data ss:Type="String">+name1-&gt;</Data>
+ </Cell>
+ <Cell ss:StyleID="s24" ss:Formula="=SUM(R[-2]C[-5],R[-1]C[-5],R[-1]C[-3],name1)">
+ <Data ss:Type="Number">463.89800000000002</Data>
+ </Cell>
+ <Cell ss:Index="9">
+ <Data ss:Type="Number">2342</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="6" ss:StyleID="s26">
+ <Data ss:Type="String">+name2-&gt;</Data>
+ </Cell>
+ <Cell ss:StyleID="s24" ss:Formula="=SUM(R[-3]C[-5],R[-2]C[-5],R[-2]C[-3],name2)">
+ <Data ss:Type="Number">185.898</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:MergeAcross="7" ss:MergeDown="5" ss:StyleID="s38">
+ <Data ss:Type="String">Protected Sheet</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Span="4"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>7</ActiveRow>
+ <ActiveCol>1</ActiveCol>
+ <RangeSelection>R8C2:R13C9</RangeSelection>
+ </Pane>
+ </Panes>
+ <ProtectObjects>True</ProtectObjects>
+ <ProtectScenarios>True</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="4" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2">
+ <Data ss:Type="Number">232</Data>
+ </Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell>
+ <Data ss:Type="String">name1-&gt;</Data>
+ </Cell>
+ <Cell>
+ <Data ss:Type="Number">343</Data>
+ <NamedCell ss:Name="name1"/>
+ </Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>30</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1" x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/headerfooter.xml b/testautomation/xml/optional/input/calc/ExcelXML/headerfooter.xml
new file mode 100755
index 000000000000..b0c343fa3959
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/headerfooter.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-07T03:56:37Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ActiveSheet>1</ActiveSheet>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="2" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2"><Data ss:Type="String">headers and footers</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;L&amp;P&amp;C&amp;N&amp;R&amp;D"/>
+ <Footer x:Data="&amp;L&amp;T&amp;C&amp;F&amp;R&amp;A"/>
+ </PageSetup>
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>30</ActiveRow>
+ <ActiveCol>2</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Margin="0.51181102362204722" x:Data="&amp;L&amp;F&amp;C&amp;D&amp;&quot;宋体,Italic&quot;&amp;T&amp;R&amp;A"/>
+ <Footer x:Margin="0.51181102362204722"
+ x:Data="&amp;LGa&amp;&quot;宋体,Bold Italic&quot;&amp;XSuper&amp;&quot;宋体,Regular&quot;&amp;Xv&amp;&quot;Courier New,Italic&quot;&amp;14&amp;Sin&amp;&quot;宋体,Regular&quot;&amp;12&amp;SL2u&amp;&quot;宋体,Bold&quot;&amp;Ysub&amp;&quot;宋体,Italic&quot;&amp;U&amp;Yun&amp;Ede&amp;Er&amp;11 2&amp;CPage &amp;P&amp;R&amp;D"/>
+ <PageMargins x:Bottom="0.98425196850393704" x:Left="0.74803149606299213"
+ x:Right="0.74803149606299213" x:Top="0.98425196850393704"/>
+ </PageSetup>
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <Selected/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/merge.xml b/testautomation/xml/optional/input/calc/ExcelXML/merge.xml
new file mode 100755
index 000000000000..50e1ea46a793
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/merge.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-07T03:31:27Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="10" ss:ExpandedRowCount="24" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:MergeAcross="3" ss:StyleID="s22"><Data ss:Type="String">1x4</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:MergeAcross="1" ss:StyleID="s22"><Data ss:Type="String">1x2</Data></Cell>
+ <Cell><Data ss:Type="String">column D</Data></Cell>
+ <Cell ss:MergeAcross="1" ss:MergeDown="1" ss:StyleID="s22"><Data
+ ss:Type="String">2x2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="5"><Data ss:Type="String">row4</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="2" ss:MergeDown="4" ss:StyleID="s22"><Data ss:Type="String">5x1</Data></Cell>
+ <Cell ss:Index="4" ss:MergeAcross="1" ss:StyleID="s22"><Data ss:Type="String">1x2</Data></Cell>
+ <Cell ss:MergeDown="1" ss:StyleID="s22"><Data ss:Type="String">2x1</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="4" ss:MergeDown="1" ss:StyleID="s22"><Data ss:Type="String">2x1</Data></Cell>
+ <Cell><Data ss:Type="String">center</Data></Cell>
+ <Cell ss:Index="8" ss:MergeAcross="1" ss:MergeDown="3" ss:StyleID="s22"><Data
+ ss:Type="String">4x2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="5" ss:MergeAcross="1" ss:StyleID="s22"><Data ss:Type="String">1x2</Data></Cell>
+ <Cell><Data ss:Type="String">column G</Data></Cell>
+ <Cell ss:Index="10"><Data ss:Type="String">column J</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="4"><Data ss:Type="String">row8</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="3"><Data ss:Type="String">column C</Data></Cell>
+ <Cell ss:MergeAcross="2" ss:MergeDown="1" ss:StyleID="s22"><Data
+ ss:Type="String">2x3</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:MergeAcross="2" ss:MergeDown="13" ss:StyleID="s22"><Data
+ ss:Type="String">14x3</Data></Cell>
+ <Cell ss:Index="7" ss:MergeAcross="1" ss:MergeDown="2" ss:StyleID="s22"><Data
+ ss:Type="String">3x2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="9"><Data ss:Type="String">row 11</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:Index="7"><Data ss:Type="String">row 13</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Span="9"/>
+ <Row ss:Index="24" ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">row24</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveCol>1</ActiveCol>
+ <RangeSelection>R1C2:R1C5</RangeSelection>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/pagebreak.xml b/testautomation/xml/optional/input/calc/ExcelXML/pagebreak.xml
new file mode 100755
index 000000000000..44d9c9a6afb3
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/pagebreak.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-30T02:57:01Z</Created>
+ <Company>Sun China ERI</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9225</WindowHeight>
+ <WindowWidth>14940</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>105</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="15" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="84" ss:Span="2"/>
+ <Column ss:Index="6" ss:AutoFitWidth="0" ss:Width="88.5"/>
+ <Column ss:Index="8" ss:AutoFitWidth="0" ss:Width="82.5"/>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0" ss:Height="42.75">
+ <Cell ss:Index="2"><Data ss:Type="String">Span=3</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="42.75" ss:Span="2"/>
+ <Row ss:Index="6" ss:AutoFitHeight="0" ss:Span="1"/>
+ <Row ss:Index="8" ss:AutoFitHeight="0" ss:Height="35.25">
+ <Cell ss:Index="2"><Data ss:Type="String">Span=2</Data></Cell>
+ <Cell ss:Index="8"><Data ss:Type="String">last column tag</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="35.25" ss:Span="1"/>
+ <Row ss:Index="11" ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0" ss:Height="31.5"/>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0" ss:Height="36.75"/>
+ <Row ss:AutoFitHeight="0" ss:Height="36.75">
+ <Cell ss:Index="2"><Data ss:Type="String">last row tag</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <PageBreakZoom>60</PageBreakZoom>
+ <Selected/>
+ <TopRowVisible>4</TopRowVisible>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>13</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ <PageBreaks xmlns="urn:schemas-microsoft-com:office:excel">
+ <ColBreaks>
+ <ColBreak>
+ <Column>1</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>2</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>3</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>4</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>5</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>6</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>7</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>8</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>11</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>14</Column>
+ </ColBreak>
+ </ColBreaks>
+ <RowBreaks>
+ <RowBreak>
+ <Row>1</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>2</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>6</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>9</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>15</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>17</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>20</Row>
+ </RowBreak>
+ </RowBreaks>
+ </PageBreaks>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/pagesheet.xml b/testautomation/xml/optional/input/calc/ExcelXML/pagesheet.xml
new file mode 100755
index 000000000000..d078b3eddba1
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/pagesheet.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-07T03:39:48Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>13860</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <TabRatio>284</TabRatio>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="8" ss:ExpandedRowCount="13" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0" ss:Span="1"/>
+ <Row ss:Index="3" ss:AutoFitHeight="0">
+ <Cell ss:Index="6"><Data ss:Type="String">page break after column E</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Span="1"/>
+ <Row ss:Index="6" ss:AutoFitHeight="0">
+ <Cell ss:Index="4"><Data ss:Type="String">page break after row 6</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Span="1"/>
+ <Row ss:Index="9" ss:AutoFitHeight="0">
+ <Cell ss:Index="8"><Data ss:Type="String">page break after column G</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Span="2"/>
+ <Row ss:Index="13" ss:AutoFitHeight="0">
+ <Cell ss:Index="3"><Data ss:Type="String">page break after row 13</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Print>
+ <ValidPrinterInfo/>
+ <PaperSizeIndex>9</PaperSizeIndex>
+ <HorizontalResolution>600</HorizontalResolution>
+ <VerticalResolution>600</VerticalResolution>
+ </Print>
+ <PageBreakZoom>60</PageBreakZoom>
+ <Selected/>
+ <TopRowVisible>1</TopRowVisible>
+ <LeftColumnVisible>1</LeftColumnVisible>
+ <SplitHorizontal>3270</SplitHorizontal>
+ <TopRowBottomPane>8</TopRowBottomPane>
+ <SplitVertical>11865</SplitVertical>
+ <LeftColumnRightPane>4</LeftColumnRightPane>
+ <ActivePane>2</ActivePane>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>5</ActiveRow>
+ <ActiveCol>3</ActiveCol>
+ </Pane>
+ <Pane>
+ <Number>1</Number>
+ <ActiveCol>10</ActiveCol>
+ </Pane>
+ <Pane>
+ <Number>2</Number>
+ <ActiveRow>12</ActiveRow>
+ <ActiveCol>2</ActiveCol>
+ </Pane>
+ <Pane>
+ <Number>0</Number>
+ <ActiveCol>10</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ <PageBreaks xmlns="urn:schemas-microsoft-com:office:excel">
+ <ColBreaks>
+ <ColBreak>
+ <Column>5</Column>
+ </ColBreak>
+ <ColBreak>
+ <Column>7</Column>
+ </ColBreak>
+ </ColBreaks>
+ <RowBreaks>
+ <RowBreak>
+ <Row>6</Row>
+ </RowBreak>
+ <RowBreak>
+ <Row>13</Row>
+ </RowBreak>
+ </RowBreaks>
+ </PageBreaks>
+ </Worksheet>
+ <Worksheet ss:Name="hidden sheet">
+ <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">hidden sheet</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Visible>SheetHidden</Visible>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Row ss:AutoFitHeight="0">
+ <Cell><Data ss:Type="String">Sheet2 is renamed and hidden. It's actually called &quot;hidden sheet&quot;. ;)</Data></Cell>
+ </Row>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/rowcolumn.xml b/testautomation/xml/optional/input/calc/ExcelXML/rowcolumn.xml
new file mode 100755
index 000000000000..e79c07233054
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/rowcolumn.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Author>Gavin Lu</Author>
+ <LastAuthor>Gavin Lu</LastAuthor>
+ <Created>2003-07-07T03:20:50Z</Created>
+ <Company>Sun China Engineering &amp; Research Institute</Company>
+ <Version>11.5329</Version>
+ </DocumentProperties>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>9000</WindowHeight>
+ <WindowWidth>10620</WindowWidth>
+ <WindowTopX>240</WindowTopX>
+ <WindowTopY>75</WindowTopY>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Center"/>
+ <Borders/>
+ <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ </Styles>
+ <Worksheet ss:Name="Sheet1">
+ <Table ss:ExpandedColumnCount="12" ss:ExpandedRowCount="9" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
+ <Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="91.5"/>
+ <Column ss:Index="4" ss:AutoFitWidth="0" ss:Width="30.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="63.75"/>
+ <Column ss:Index="7" ss:Hidden="1" ss:AutoFitWidth="0" ss:Width="18"/>
+ <Column ss:Index="10" ss:AutoFitWidth="0" ss:Width="18.75"/>
+ <Column ss:Index="12" ss:Hidden="1" ss:AutoFitWidth="0"/>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0" ss:Height="39"/>
+ <Row ss:AutoFitHeight="0" ss:Span="1"/>
+ <Row ss:Index="5" ss:AutoFitHeight="0" ss:Height="63.75">
+ <Cell ss:Index="5"><Data ss:Type="String">cursor pos</Data><Comment
+ ss:Author="Gavin Lu"><ss:Data xmlns="http://www.w3.org/TR/REC-html40"><B><Font
+ html:Face="Tahoma" x:CharSet="134" x:Family="Swiss" html:Size="8"
+ html:Color="#000000">Gavin Lu: cursor position! :)</Font></B></ss:Data></Comment></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Hidden="1"/>
+ <Row ss:AutoFitHeight="0" ss:Height="9" ss:Hidden="1"/>
+ <Row ss:AutoFitHeight="0"/>
+ <Row ss:AutoFitHeight="0" ss:Height="170.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <Selected/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>4</ActiveRow>
+ <ActiveCol>4</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet2">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Sheet3">
+ <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
+ x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <Unsynced/>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ExcelXML/solvsamp.xml b/testautomation/xml/optional/input/calc/ExcelXML/solvsamp.xml
new file mode 100755
index 000000000000..b56b1e4d9411
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ExcelXML/solvsamp.xml
@@ -0,0 +1,9881 @@
+<?xml version="1.0"?>
+<?mso-application progid="Excel.Sheet"?>
+<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:o="urn:schemas-microsoft-com:office:office"
+ xmlns:x="urn:schemas-microsoft-com:office:excel"
+ xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
+ xmlns:html="http://www.w3.org/TR/REC-html40">
+ <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
+ <Title>Solver Samples</Title>
+ <Subject>subject1 subject2</Subject>
+ <Author>Microsoft Corp.</Author>
+ <Keywords>Sub one</Keywords>
+ <Description>Example models illustrating applications of Microsoft Excel's Solver.</Description>
+ <LastAuthor>Guang Gavin Lu</LastAuthor>
+ <Created>1996-10-03T21:59:12Z</Created>
+ <LastSaved>2003-05-11T13:21:13Z</LastSaved>
+ <Category>Category1</Category>
+ <Manager>Manager</Manager>
+ <Company>MS &amp; Sun</Company>
+ <HyperlinkBase>http://www.sun.com</HyperlinkBase>
+ <Version>11.4920</Version>
+ </DocumentProperties>
+ <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
+ <Colors>
+ <Color>
+ <Index>16</Index>
+ <RGB>#8080FF</RGB>
+ </Color>
+ <Color>
+ <Index>17</Index>
+ <RGB>#802060</RGB>
+ </Color>
+ <Color>
+ <Index>18</Index>
+ <RGB>#FFFFC0</RGB>
+ </Color>
+ <Color>
+ <Index>19</Index>
+ <RGB>#A0E0E0</RGB>
+ </Color>
+ <Color>
+ <Index>20</Index>
+ <RGB>#600080</RGB>
+ </Color>
+ <Color>
+ <Index>22</Index>
+ <RGB>#0080C0</RGB>
+ </Color>
+ <Color>
+ <Index>23</Index>
+ <RGB>#C0C0FF</RGB>
+ </Color>
+ <Color>
+ <Index>33</Index>
+ <RGB>#69FFFF</RGB>
+ </Color>
+ <Color>
+ <Index>36</Index>
+ <RGB>#A6CAF0</RGB>
+ </Color>
+ <Color>
+ <Index>37</Index>
+ <RGB>#CC9CCC</RGB>
+ </Color>
+ <Color>
+ <Index>39</Index>
+ <RGB>#E3E3E3</RGB>
+ </Color>
+ <Color>
+ <Index>42</Index>
+ <RGB>#339933</RGB>
+ </Color>
+ <Color>
+ <Index>43</Index>
+ <RGB>#999933</RGB>
+ </Color>
+ <Color>
+ <Index>44</Index>
+ <RGB>#996633</RGB>
+ </Color>
+ <Color>
+ <Index>45</Index>
+ <RGB>#996666</RGB>
+ </Color>
+ <Color>
+ <Index>48</Index>
+ <RGB>#3333CC</RGB>
+ </Color>
+ <Color>
+ <Index>49</Index>
+ <RGB>#336666</RGB>
+ </Color>
+ <Color>
+ <Index>52</Index>
+ <RGB>#663300</RGB>
+ </Color>
+ <Color>
+ <Index>55</Index>
+ <RGB>#424242</RGB>
+ </Color>
+ </Colors>
+ </OfficeDocumentSettings>
+ <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
+ <WindowHeight>5520</WindowHeight>
+ <WindowWidth>11970</WindowWidth>
+ <WindowTopX>-15</WindowTopX>
+ <WindowTopY>-15</WindowTopY>
+ <TabRatio>854</TabRatio>
+ <AcceptLabelsInFormulas/>
+ <ProtectStructure>False</ProtectStructure>
+ <ProtectWindows>False</ProtectWindows>
+ </ExcelWorkbook>
+ <Styles>
+ <Style ss:ID="Default" ss:Name="Normal">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font x:Family="Swiss"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s20" ss:Name="Normal_Solver Example">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="MS Sans Serif" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s21" ss:Name="Normal_SOLVER1">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s22" ss:Name="Normal_SOLVER2">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s23" ss:Name="Normal_SOLVER4">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s24" ss:Name="Normal_SOLVER5">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s25" ss:Name="Normal_SOLVER6">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ <Protection/>
+ </Style>
+ <Style ss:ID="s27">
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s28">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s29">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s30">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s31">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s32">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s33">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s34">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s35">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s36">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s37">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s38">
+ <Alignment ss:Vertical="Bottom"/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s39">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s40">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s41">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s42">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s43">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s44">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ </Style>
+ <Style ss:ID="s45">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s46">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s47">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s48">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s49" ss:Parent="s25">
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1" ss:Italic="1"/>
+ </Style>
+ <Style ss:ID="s50" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s52" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s53" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s54" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s55" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s56" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s57" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s58" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s59" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s60" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s61" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s62" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s63" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s64" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s65" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s66" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s67" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s68" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s69" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s70" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s72" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s73" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s74" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s75" ss:Parent="s24">
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s76" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s78" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s79" ss:Parent="s24">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s80" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s81" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s82" ss:Parent="s24">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s83" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s84" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s85" ss:Parent="s24">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s86" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s87" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s88" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s89" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s90" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s91" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s92" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s93" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s94" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s95" ss:Parent="s24">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s96" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s97" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s98" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s99" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s100" ss:Parent="s24">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ <NumberFormat ss:Format="Fixed"/>
+ </Style>
+ <Style ss:ID="s101" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s102" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s103" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ <NumberFormat ss:Format="0.000"/>
+ </Style>
+ <Style ss:ID="s104" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.000"/>
+ </Style>
+ <Style ss:ID="s105" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s106" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s107" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s108" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s109" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s110" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s111" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s112" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s113" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s114" ss:Parent="s24">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s115" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s116" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s117" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <NumberFormat/>
+ <Protection ss:Protected="0"/>
+ </Style>
+ <Style ss:ID="s118" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Protection ss:Protected="0"/>
+ </Style>
+ <Style ss:ID="s119" ss:Parent="s23">
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s120" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s122" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s123" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s124" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s125" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s126" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s127" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s128" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s129" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s130" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s131" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s132" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s133" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s134" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s135" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s136" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s137" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s138" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s139" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s140" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s141" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s142" ss:Parent="s23">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s143" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s144" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s145" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s146" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s147" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s148" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);[Red]\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s149" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s150" ss:Parent="s22">
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s151" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s153" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s154" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s155" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s156" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s157" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s158" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s159" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s160" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s161" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s162" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s163" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s164" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s165" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s166" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s167" ss:Parent="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s168" ss:Parent="s22">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s169" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s170" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s171" ss:Parent="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s172" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s173" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s174" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s175" ss:Parent="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s176" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s177" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s178" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s179" ss:Parent="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s180" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s181" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s182" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s183" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s184" ss:Parent="s22">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s185" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s186" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s187" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s188" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s189" ss:Parent="s22">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s190" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s191" ss:Parent="s22">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s192" ss:Parent="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s193" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s194" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s195" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s196" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s197" ss:Parent="s22">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s198" ss:Parent="s22">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s199" ss:Parent="s21">
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1"/>
+ </Style>
+ <Style ss:ID="s200" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ </Style>
+ <Style ss:ID="s202" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s203" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s204" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s205" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s206" ss:Parent="s21">
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s207" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s208" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s209" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s210" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s211" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s212" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s213" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s214" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s215" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s216" ss:Parent="s21">
+ <Borders/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s217" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s218" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s219" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s220" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s221" ss:Parent="s21">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s222" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s223" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s224" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s225" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s226" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s227" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s228" ss:Parent="s21">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s229" ss:Parent="s21">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s230" ss:Parent="s21">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s231" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s232" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s233" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s234" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s235" ss:Parent="s21">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s236" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ </Style>
+ <Style ss:ID="s237" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s238" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s239" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s240" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s241" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s242" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s243" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s244" ss:Parent="s21">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s245" ss:Parent="s20">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s246" ss:Parent="s20">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s247" ss:Parent="s20">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s249" ss:Parent="s20">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s250" ss:Parent="s20">
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s251" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0.0"/>
+ </Style>
+ <Style ss:ID="s252" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s253" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s254" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s255" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;\-#,##0"/>
+ </Style>
+ <Style ss:ID="s256" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;\-#,##0"/>
+ </Style>
+ <Style ss:ID="s257" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s258" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s259" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s260" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s261" ss:Parent="s20">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s262" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0%"/>
+ </Style>
+ <Style ss:ID="s263" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="0%"/>
+ </Style>
+ <Style ss:ID="s264" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s265" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s266" ss:Parent="s20">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s267" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0.00_);\(&quot;$&quot;#,##0.00\)"/>
+ </Style>
+ <Style ss:ID="s268" ss:Parent="s20">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s269" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0.00_);\(&quot;$&quot;#,##0.00\)"/>
+ </Style>
+ <Style ss:ID="s270" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s271" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s272" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s273" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s274" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s275" ss:Parent="s21">
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s276" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s277" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s278" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s279" ss:Parent="s21">
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s280" ss:Parent="s21">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s281" ss:Parent="s21">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s282" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s283" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Center"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="ZapfDingbats" x:CharSet="2" ss:Size="4"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s284" ss:Parent="s21">
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s285" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s286" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s287" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s288" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s289" ss:Parent="s21">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s290" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s291" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s292" ss:Parent="s21">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s293" ss:Parent="s20">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="MS Sans Serif" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s294" ss:Parent="s21">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s295">
+ <Alignment ss:Vertical="Top"/>
+ <Font x:Family="Swiss"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s296" ss:Parent="s21">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s297" ss:Parent="s21">
+ <Alignment ss:Vertical="Top"/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s298" ss:Parent="s20">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s299" ss:Parent="s21">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s300" ss:Parent="s20">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="MS Sans Serif" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s301" ss:Parent="s20">
+ <Alignment ss:Vertical="Top"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s302" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s303" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0.0%"/>
+ </Style>
+ <Style ss:ID="s304">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ </Style>
+ <Style ss:ID="s305">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s306">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s307">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s308">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s309">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s310">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s311">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s312">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s313">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s314">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s315">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s316">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s317">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s318">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s319">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s320">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s321">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s322">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="2"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s323" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s324" ss:Parent="s22">
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s325" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s326" ss:Parent="s22">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s327" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s328" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s329" ss:Parent="s23">
+ <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s330" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);[Red]\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s331" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);[Red]\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s332" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s333" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s334" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s335" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s336" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s337" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s338" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s339" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s340" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s341" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;[Red]\-#,##0"/>
+ </Style>
+ <Style ss:ID="s342" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);[Red]\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s343" ss:Parent="s23">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);[Red]\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s344" ss:Parent="s23">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#C0C0C0"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s345" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat/>
+ <Protection ss:Protected="0"/>
+ </Style>
+ <Style ss:ID="s346" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <Protection ss:Protected="0"/>
+ </Style>
+ <Style ss:ID="s347" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s348" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <Protection ss:Protected="0"/>
+ </Style>
+ <Style ss:ID="s349" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s350" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="Fixed"/>
+ </Style>
+ <Style ss:ID="s351" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s352" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.000"/>
+ </Style>
+ <Style ss:ID="s353" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Double" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ <NumberFormat ss:Format="0.000"/>
+ </Style>
+ <Style ss:ID="s354" ss:Parent="s24">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior/>
+ </Style>
+ <Style ss:ID="s355" ss:Parent="s24">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s356" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s357" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s358" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s359" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s360" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s361" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s362" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s363" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s364" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s365" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s366" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s367" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s368" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s369" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s370" ss:Parent="s25">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s371" ss:Parent="s25">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s372" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s373" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000000"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s374" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s375" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="&quot;$&quot;#,##0_);\(&quot;$&quot;#,##0\)"/>
+ </Style>
+ <Style ss:ID="s376" ss:Parent="s20">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s377" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;\-#,##0"/>
+ </Style>
+ <Style ss:ID="s378" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;\-#,##0"/>
+ </Style>
+ <Style ss:ID="s379" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;\-#,##0"/>
+ </Style>
+ <Style ss:ID="s380" ss:Parent="s20">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat ss:Format="0"/>
+ </Style>
+ <Style ss:ID="s381" ss:Parent="s20">
+ <Alignment ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#800000"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior/>
+ <NumberFormat ss:Format="#,##0;\-#,##0"/>
+ </Style>
+ <Style ss:ID="s382" ss:Parent="s21">
+ <Borders/>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s383" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ </Style>
+ <Style ss:ID="s384" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000000"/>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Bold="1"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s385" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000000"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s386" ss:Parent="s21">
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"
+ ss:Color="#000000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat ss:Format="@"/>
+ </Style>
+ <Style ss:ID="s387" ss:Parent="s21">
+ <Alignment ss:Horizontal="Right" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#008000"/>
+ <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8" ss:Italic="1"/>
+ <Interior/>
+ <NumberFormat/>
+ </Style>
+ <Style ss:ID="s388" ss:Parent="s24">
+ <Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
+ <Borders>
+ <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="3"
+ ss:Color="#000080"/>
+ </Borders>
+ <Font ss:FontName="Helv" x:Family="Swiss" ss:Size="8"/>
+ <Interior ss:Color="#FFFFFF" ss:Pattern="Gray125" ss:PatternColor="#FFFF00"/>
+ <NumberFormat/>
+ </Style>
+ </Styles>
+ <Names>
+ <NamedRange ss:Name="BudgetTab" ss:RefersTo="=#REF!"/>
+ <NamedRange ss:Name="C_" ss:RefersTo="='Engineering Design'!R10C7"/>
+ <NamedRange ss:Name="L_" ss:RefersTo="='Engineering Design'!R9C7"/>
+ <NamedRange ss:Name="q_t_" ss:RefersTo="='Engineering Design'!R15C7"/>
+ <NamedRange ss:Name="q0" ss:RefersTo="='Engineering Design'!R6C7"/>
+ <NamedRange ss:Name="R_" ss:RefersTo="='Engineering Design'!R12C7"/>
+ <NamedRange ss:Name="t_" ss:RefersTo="='Engineering Design'!R8C7"/>
+ </Names>
+ <Worksheet ss:Name="Quick Tour">
+ <Names>
+ <NamedRange ss:Name="BudgetTab" ss:RefersTo="='Quick Tour'!R189C2:R190C6"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="11" ss:ExpandedRowCount="190" x:FullColumns="1"
+ x:FullRows="1" ss:StyleID="s20" ss:DefaultRowHeight="10.5">
+ <Column ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="64.5"/>
+ <Column ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="45.75" ss:Span="4"/>
+ <Column ss:Index="7" ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="22.5"/>
+ <Column ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="18.75"/>
+ <Column ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="36"/>
+ <Column ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="41.25"/>
+ <Column ss:StyleID="s20" ss:AutoFitWidth="0" ss:Width="24.75"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s199"><Data ss:Type="String">Quick Tour of Microsoft Excel Solver</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="13.5">
+ <Cell ss:StyleID="s245"><Data ss:Type="String">Month</Data></Cell>
+ <Cell ss:StyleID="s246"><Data ss:Type="String">Q1</Data></Cell>
+ <Cell ss:StyleID="s246"><Data ss:Type="String">Q2</Data></Cell>
+ <Cell ss:StyleID="s246"><Data ss:Type="String">Q3</Data></Cell>
+ <Cell ss:StyleID="s246"><Data ss:Type="String">Q4</Data></Cell>
+ <Cell ss:StyleID="s247"><Data ss:Type="String">Total</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Seasonality</Data></Cell>
+ <Cell ss:StyleID="s250"><Data ss:Type="Number">0.9</Data></Cell>
+ <Cell ss:StyleID="s251"><Data ss:Type="Number">1.1</Data></Cell>
+ <Cell ss:StyleID="s251"><Data ss:Type="Number">0.8</Data></Cell>
+ <Cell ss:StyleID="s251"><Data ss:Type="Number">1.2</Data></Cell>
+ <Cell ss:StyleID="s252"/>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="7.5">
+ <Cell ss:StyleID="s253"/>
+ <Cell ss:StyleID="s250"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s252"/>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Units Sold</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=35*R[-2]C*(R[6]C+3000)^0.5"><Data
+ ss:Type="Number">3591.5525890622844</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=35*R[-2]C*(R[6]C+3000)^0.5"><Data
+ ss:Type="Number">4389.6753866316812</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=35*R[-2]C*(R[6]C+3000)^0.5"><Data
+ ss:Type="Number">3192.4911902775862</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=35*R[-2]C*(R[6]C+3000)^0.5"><Data
+ ss:Type="Number">4788.7367854163795</Data></Cell>
+ <Cell ss:StyleID="s256" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">15962.455951387932</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Sales Revenue</Data></Cell>
+ <Cell ss:StyleID="s257" ss:Formula="=R[-1]C*R18C2"><Data ss:Type="Number">143662.10356249136</Data></Cell>
+ <Cell ss:StyleID="s257" ss:Formula="=R[-1]C*R18C2"><Data ss:Type="Number">175587.01546526724</Data></Cell>
+ <Cell ss:StyleID="s257" ss:Formula="=R[-1]C*R18C2"><Data ss:Type="Number">127699.64761110344</Data></Cell>
+ <Cell ss:StyleID="s257" ss:Formula="=R[-1]C*R18C2"><Data ss:Type="Number">191549.47141665517</Data></Cell>
+ <Cell ss:StyleID="s258" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">638498.2380555172</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Cost of Sales</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C*R19C2"><Data ss:Type="Number">89788.8147265571</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C*R19C2"><Data ss:Type="Number">109741.88466579204</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C*R19C2"><Data ss:Type="Number">79812.27975693965</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C*R19C2"><Data ss:Type="Number">119718.41963540949</Data></Cell>
+ <Cell ss:StyleID="s256" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">399061.39878469828</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Gross Margin</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C-R[-1]C"><Data ss:Type="Number">53873.288835934261</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C-R[-1]C"><Data ss:Type="Number">65845.1307994752</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C-R[-1]C"><Data ss:Type="Number">47887.367854163793</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=R[-2]C-R[-1]C"><Data ss:Type="Number">71831.051781245682</Data></Cell>
+ <Cell ss:StyleID="s256" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">239436.83927081892</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="7.5">
+ <Cell ss:StyleID="s253"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s252"/>
+ <Cell ss:Index="8" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Salesforce</Data></Cell>
+ <Cell ss:StyleID="s255"><Data ss:Type="Number">8000</Data></Cell>
+ <Cell ss:StyleID="s255"><Data ss:Type="Number">8000</Data></Cell>
+ <Cell ss:StyleID="s255"><Data ss:Type="Number">9000</Data></Cell>
+ <Cell ss:StyleID="s255"><Data ss:Type="Number">9000</Data></Cell>
+ <Cell ss:StyleID="s256" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">34000</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s380"><Data ss:Type="String">Advertising</Data></Cell>
+ <Cell ss:StyleID="s377" ss:Formula="=10000"><Data ss:Type="Number">10000</Data></Cell>
+ <Cell ss:StyleID="s378" ss:Formula="=10000"><Data ss:Type="Number">10000</Data></Cell>
+ <Cell ss:StyleID="s378" ss:Formula="=10000"><Data ss:Type="Number">10000</Data></Cell>
+ <Cell ss:StyleID="s379" ss:Formula="=10000"><Data ss:Type="Number">10000</Data></Cell>
+ <Cell ss:StyleID="s381" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">40000</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Corp Overhead</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=0.15*R[-6]C"><Data ss:Type="Number">21549.315534373705</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=0.15*R[-6]C"><Data ss:Type="Number">26338.052319790084</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=0.15*R[-6]C"><Data ss:Type="Number">19154.947141665514</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=0.15*R[-6]C"><Data ss:Type="Number">28732.420712498275</Data></Cell>
+ <Cell ss:StyleID="s256" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">95774.735708327586</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s249"><Data ss:Type="String">Total Costs</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=SUM(R[-3]C:R[-1]C)"><Data ss:Type="Number">39549.3155343737</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=SUM(R[-3]C:R[-1]C)"><Data ss:Type="Number">44338.052319790084</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=SUM(R[-3]C:R[-1]C)"><Data ss:Type="Number">38154.947141665514</Data></Cell>
+ <Cell ss:StyleID="s255" ss:Formula="=SUM(R[-3]C:R[-1]C)"><Data ss:Type="Number">47732.420712498279</Data></Cell>
+ <Cell ss:StyleID="s256" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">169774.73570832756</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="7.5">
+ <Cell ss:StyleID="s253"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s254"/>
+ <Cell ss:StyleID="s252"/>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s376"><Data ss:Type="String">Prod. Profit</Data></Cell>
+ <Cell ss:StyleID="s375" ss:Formula="=R[-7]C-R[-2]C"><Data ss:Type="Number">14323.97330156056</Data></Cell>
+ <Cell ss:StyleID="s259" ss:Formula="=R[-7]C-R[-2]C"><Data ss:Type="Number">21507.078479685115</Data></Cell>
+ <Cell ss:StyleID="s259" ss:Formula="=R[-7]C-R[-2]C"><Data ss:Type="Number">9732.4207124982786</Data></Cell>
+ <Cell ss:StyleID="s259" ss:Formula="=R[-7]C-R[-2]C"><Data ss:Type="Number">24098.631068747403</Data></Cell>
+ <Cell ss:StyleID="s260" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">69662.103562491364</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s261"><Data ss:Type="String">Profit Margin</Data></Cell>
+ <Cell ss:StyleID="s262" ss:Formula="=R[-1]C/R[-10]C"><Data ss:Type="Number">9.9705997241852973E-2</Data></Cell>
+ <Cell ss:StyleID="s262" ss:Formula="=R[-1]C/R[-10]C"><Data ss:Type="Number">0.12248672501606143</Data></Cell>
+ <Cell ss:StyleID="s262" ss:Formula="=R[-1]C/R[-10]C"><Data ss:Type="Number">7.6213371724700413E-2</Data></Cell>
+ <Cell ss:StyleID="s262" ss:Formula="=R[-1]C/R[-10]C"><Data ss:Type="Number">0.12580891448313355</Data></Cell>
+ <Cell ss:StyleID="s263" ss:Formula="=R[-1]C/R[-10]C"><Data ss:Type="Number">0.10910304744871398</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s264"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s266"><Data ss:Type="String">Product Price</Data></Cell>
+ <Cell ss:StyleID="s267"><Data ss:Type="Number">40</Data></Cell>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s268"><Data ss:Type="String">Product Cost</Data></Cell>
+ <Cell ss:StyleID="s269"><Data ss:Type="Number">25</Data></Cell>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ <Cell ss:StyleID="s265"/>
+ </Row>
+ <Row ss:Height="11.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">The following examples show you how to work with the model above to solve for one value or several</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">values to maximize or minimize another value, enter and change constraints, and save a problem model.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s280"><Data ss:Type="String">Row</Data></Cell>
+ <Cell ss:StyleID="s272"><Data ss:Type="String">Contains</Data></Cell>
+ <Cell ss:StyleID="s273"/>
+ <Cell ss:StyleID="s272"><Data ss:Type="String">Explanation</Data></Cell>
+ <Cell ss:StyleID="s273"/>
+ <Cell ss:StyleID="s273"/>
+ <Cell ss:StyleID="s273"/>
+ <Cell ss:StyleID="s273"/>
+ <Cell ss:StyleID="s274"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">3</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Fixed values</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Seasonality factor: sales are higher in quarters 2 and 4,</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"/>
+ <Cell ss:StyleID="s279"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">and lower in quarters 1 and 3.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=35*B3*(B11+3000)^0.5</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Forecast for units sold each quarter: row 3 contains</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">the seasonality factor; row 11 contains the cost of</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">advertising.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">6</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=B5*$B$18</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Sales revenue: forecast for units sold (row 5) times</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">price (cell B18).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">7</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=B5*$B$19</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Cost of sales: forecast for units sold (row 5) times</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">product cost (cell B19).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">8</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=B6-B7</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Gross margin: sales revenues (row 6) minus cost of</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">sales (row 7).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">10</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Fixed values</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Sales personnel expenses.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">11</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Fixed values</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Advertising budget (about 6.3% of sales).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">12</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=0.15*B6</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Corporate overhead expenses: sales revenues (row 6)</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">times 15%.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">13</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=SUM(B10:B12)</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Total costs: sales personnel expenses (row 10) plus</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">advertising (row 11) plus overhead (row 12).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">15</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=B8-B13</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Product profit: gross margin (row 8) minus total costs</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">(row 13).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">16</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">=B15/B6</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Profit margin: profit (row 15) divided by sales revenue</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">(row 6).</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">18</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Fixed values</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Product price.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s281"><Data ss:Type="Number">19</Data></Cell>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Fixed values</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Product cost.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s205"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">This is a typical marketing model that shows sales rising from a base figure (perhaps due to the sales</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">personnel) along with increases in advertising, but with diminishing returns. For example, the first</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">$5,000 of advertising in Q1 yields about 1,092 incremental units sold, but the next $5,000 yields only</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">about 775 units more.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">You can use Solver to find out whether the advertising budget is too low, and whether advertising </Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">should be allocated differently over time to take advantage of the changing seasonality factor.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s285"><Data ss:Type="String">Solving for a Value to Maximize Another Value</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">One way you can use Solver is to determine the maximum value of a cell by changing another cell. The</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">two cells must be related through the formulas on the worksheet. If they are not, changing the value in</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">one cell will not change the value in the other cell.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">For example, in the sample worksheet, you want to know how much you need to spend on advertising</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">to generate the maximum profit for the first quarter. You are interested in maximizing profit by changing</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">advertising expenditures.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">On the <B>Tools</B><Font> menu, click </Font><B>Solver</B><Font>. In the </Font><B>Set target cell</B><Font> box, type </Font><B>b15</B><Font> or </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">select cell B15 (first-quarter profits) on the worksheet. Select the <B>Max</B><Font> option.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">In the <B>By changing cells</B><Font> box, type </Font><B>b11</B><Font> or select cell B11 (first-quarter advertising)</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">on the worksheet. Click <B>Solve</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">You will see messages in the status bar as the problem is set up and Solver starts working. After a</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">moment, you'll see a message that Solver has found a solution. Solver finds that Q1 advertising of</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">$17,093 yields the maximum profit $15,093.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">After you examine the results, select <B>Restore original values</B><Font> and click </Font><B>OK</B><Font> to</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">discard the results and return cell B11 to its former value.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s285"><Data ss:Type="String">Resetting the Solver Options</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">If you want to return the options in the <B>Solver Parameters</B><Font> dialog box to their original settings so that</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">you can start a new problem, you can click <B>Reset All</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s285"><Data ss:Type="String">Solving for a Value by Changing Several Values</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">You can also use Solver to solve for several values at once to maximize or minimize another value. For</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">example, you can solve for the advertising budget for each quarter that will result in the best profits for</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">the entire year. Because the seasonality factor in row 3 enters into the calculation of unit sales in row 5</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">as a multiplier, it seems logical that you should spend more of your advertising budget in Q4 when the </Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">sales response is highest, and less in Q3 when the sales response is lowest. Use Solver to determine</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">the best quarterly allocation.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">On the <B>Tools</B><Font> menu, click </Font><B>Solver</B><Font>. In the </Font><B>Set target cell</B><Font> box, type </Font><B>f15</B><Font> or select</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">cell F15 (total profits for the year) on the worksheet. Make sure the <B>Max</B><Font> option is</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">selected. In the <B>By changing cells</B><Font> box, type </Font><B>b11:e11</B><Font> or select cells B11:E11</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">(the advertising budget for each of the four quarters) on the worksheet. Click <B>Solve</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">After you examine the results, click <B>Restore original values</B><Font> and click </Font><B>OK</B><Font> to</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">discard the results and return all cells to their former values.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">You've just asked Solver to solve a moderately complex nonlinear optimization problem; that is, to find</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">values for the four unknowns in cells B11 through E11 that will maximize profits. (This is a nonlinear</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">problem because of the exponentiation that occurs in the formulas in row 5). The results of this</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">unconstrained optimization show that you can increase profits for the year to $79,706 if you spend</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">$89,706 in advertising for the full year.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">However, most realistic modeling problems have limiting factors that you will want to apply to certain</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">values. These constraints may be applied to the target cell, the changing cells, or any other value that</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">is related to the formulas in these cells.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s285"><Data ss:Type="String">Adding a Constraint</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">So far, the budget recovers the advertising cost and generates additional profit, but you're reaching a</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">point of diminishing returns. Because you can never be sure that your model of sales response to</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">advertising will be valid next year (especially at greatly increased spending levels), it doesn't seem</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">prudent to allow unrestricted spending on advertising.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Suppose you want to maintain your original advertising budget of $40,000. Add the constraint to the </Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">problem that limits the sum of advertising during the four quarters to $40,000.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">On the <B>Tools</B><Font> menu, click </Font><B>Solver</B><Font>, and then click </Font><B>Add</B><Font>. The </Font><B>Add Constraint</B><Font> </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">dialog box appears. In the <B>Cell reference</B><Font> box, type </Font><B>f11</B><Font> or select cell F11</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">(advertising total) on the worksheet. Cell F11 must be less than or equal to $40,000.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">The relationship in the <B>Constraint</B><Font> box is </Font><B>&lt;=</B><Font> (less than or equal to) by default, so </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">you don't have to change it. In the box next to the relationship, type <B>40000</B><Font>. Click</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s284"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40"><B>OK</B><Font>, and then click </Font><B>Solve</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">After you examine the results, click <B>Restore original values</B><Font> and then click </Font><B>OK</B></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">to discard the results and return the cells to their former values.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">The solution found by Solver allocates amounts ranging from $5,117 in Q3 to $15,263 in Q4. Total </Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Profit has increased from $69,662 in the original budget to $71,447, without any increase in the</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">advertising budget.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s285"><Data ss:Type="String">Changing a Constraint</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">When you use Microsoft Excel Solver, you can experiment with slightly different parameters to decide</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">the best solution to a problem. For example, you can change a constraint to see whether the results</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">are better or worse than before. In the sample worksheet, try changing the constraint on advertising</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">dollars to $50,000 to see what that does to total profits.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">On the <B>Tools</B><Font> menu, click </Font><B>Solver</B><Font>. The constraint, </Font><B>$F$11&lt;=40000</B><Font>, should </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">already be selected in the <B>Subject to the constraints</B><Font> box. Click </Font><B>Change</B><Font>. In</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">the <B>Constraint</B><Font> box, change </Font><B>40000</B><Font> to </Font><B>50000</B><Font>. Click </Font><B>OK</B><Font>, and then click </Font><B>Solve</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">Click <B>Keep solver solution</B><Font> and then click </Font><B>OK</B><Font> to keep the results that are </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">displayed on the worksheet.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Solver finds an optimal solution that yields a total profit of $74,817. That's an improvement of $3,370</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">over the last figure of $71,447. In most firms, it's not too difficult to justify an incremental investment of</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">$10,000 that yields an additional $3,370 in profit, or a 33.7% return on investment. This solution also</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">results in profits of $4,889 less than the unconstrained result, but you spend $39,706 less to get there.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s285"><Data ss:Type="String">Saving a Problem Model</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">When you click <B>Save</B><Font> on the </Font><B>File</B><Font> menu, the last selections you made in the </Font><B>Solver Parameters</B><Font> </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">dialog box are attached to the worksheet and retained when you save the workbook. However, you</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">can define more than one problem for a worksheet by saving them individually using <B>Save Model</B><Font> in </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">the <B>Solver Options</B><Font> dialog box. Each problem model consists of cells and constraints that you </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">entered in the <B>Solver Parameters</B><Font> dialog box.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">When you click <B>Save Model</B><Font>, the </Font><B>Save Model</B><Font> dialog box appears with a default selection, based </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">on the active cell, as the area for saving the model. The suggested range includes a cell for each </Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">constraint plus three additional cells. Make sure that this cell range is an empty range on the </Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">worksheet.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s283"><Data ss:Type="String">n</Data></Cell>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">On the <B>Tools</B><Font> menu, click </Font><B>Solver</B><Font>, and then click </Font><B>Options</B><Font>. Click </Font><B>Save Model</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">In the <B>Select model area</B><Font> box, type </Font><B>h15:h18</B><Font> or select cells H15:H18 on the</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s279"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">worksheet. Click <B>OK</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s286"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s288"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s289"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40"><B>Note </B><Font>You can also enter a reference to a single cell in the </Font><B>Select model area</B><Font> box. Solver will use</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s279"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">this reference as the upper-left corner of the range into which it will copy the problem specifications.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="4.5">
+ <Cell ss:StyleID="s290"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s287"/>
+ <Cell ss:StyleID="s288"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="8.25">
+ <Cell ss:StyleID="s282"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s291"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">To load these problem specifications later, click <B>Load Model</B><Font> on the </Font><B>Solver Options</B><Font> dialog box,</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s291"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">type <B>h15:h18</B><Font> in the </Font><B>Model area</B><Font> box or select cells H15:H18 on the sample worksheet, and then</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s291"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">click <B>OK</B><Font>. Solver displays a message asking if you want to reset the current Solver option settings with</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s291"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">the settings for the model you are loading. Click <B>OK</B><Font> to proceed.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"><NamedCell ss:Name="BudgetTab"/></Cell>
+ <Cell ss:StyleID="s277"><NamedCell ss:Name="BudgetTab"/></Cell>
+ <Cell ss:StyleID="s277"><NamedCell ss:Name="BudgetTab"/></Cell>
+ <Cell ss:StyleID="s277"><NamedCell ss:Name="BudgetTab"/></Cell>
+ <Cell ss:StyleID="s277"><NamedCell ss:Name="BudgetTab"/></Cell>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ </Row>
+ <Row ss:Height="11.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;F"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>-4</HorizontalResolution>
+ <VerticalResolution>-4</VerticalResolution>
+ </Print>
+ <Selected/>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>1</ActiveRow>
+ <ActiveCol>7</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Product Mix">
+ <Names>
+ <NamedRange ss:Name="solver_adj" ss:RefersTo="='Product Mix'!R9C4:R9C6"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_drv" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_est" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_itr" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs1" ss:RefersTo="='Product Mix'!R9C4:R9C6"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs2" ss:RefersTo="='Product Mix'!R11C3:R15C3"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lin" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_num" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_nwt" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_opt" ss:RefersTo="='Product Mix'!R18C4"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_pre" ss:RefersTo="=0.000001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel1" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel2" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs1" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs2" ss:RefersTo="='Product Mix'!R11C2:R15C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_scl" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_sho" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tim" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tol" ss:RefersTo="=0.05" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_typ" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_val" ss:RefersTo="=0" ss:Hidden="1"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="41" x:FullColumns="1"
+ x:FullRows="1" ss:StyleID="s21" ss:DefaultRowHeight="10.5">
+ <Column ss:StyleID="s200" ss:AutoFitWidth="0" ss:Width="58.5"/>
+ <Column ss:StyleID="s200" ss:AutoFitWidth="0" ss:Width="47.25" ss:Span="4"/>
+ <Column ss:Index="7" ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="29.25"/>
+ <Column ss:Index="9" ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="21"/>
+ <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="31.5"/>
+ <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="35.25"/>
+ <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="243"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s199"><Data ss:Type="String">Example 1: Product mix problem with diminishing profit margin.</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s202"><Data ss:Type="String">Your company manufactures TVs, stereos and speakers, using a common parts inventory</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ <Cell ss:Index="9" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s205"><Data ss:Type="String">of power supplies, speaker cones, etc. Parts are in limited supply and you must determine</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s205"><Data ss:Type="String">the most profitable mix of products to build. But your profit per unit built decreases with</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s208"><Data ss:Type="String">volume because extra price incentives are needed to load the distribution channel.</Data></Cell>
+ <Cell ss:StyleID="s209"/>
+ <Cell ss:StyleID="s209"/>
+ <Cell ss:StyleID="s209"/>
+ <Cell ss:StyleID="s209"/>
+ <Cell ss:StyleID="s209"/>
+ <Cell ss:StyleID="s210"/>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s211"/>
+ <Cell ss:StyleID="s212"/>
+ <Cell ss:StyleID="s213"/>
+ <Cell ss:StyleID="s214"><Data ss:Type="String">TV set</Data></Cell>
+ <Cell ss:StyleID="s214"><Data ss:Type="String">Stereo</Data></Cell>
+ <Cell ss:StyleID="s387"><Data ss:Type="String">Speaker</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s215"/>
+ <Cell ss:StyleID="s216"/>
+ <Cell ss:StyleID="s217"><Data ss:Type="String">Number to Build-&gt;</Data></Cell>
+ <Cell ss:StyleID="s218"><Data ss:Type="Number">100</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s219"><Data ss:Type="Number">100</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s220"><Data ss:Type="Number">100</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:Index="9" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s221"><Data ss:Type="String">Part Name</Data></Cell>
+ <Cell ss:StyleID="s217"><Data ss:Type="String">Inventory</Data></Cell>
+ <Cell ss:StyleID="s217"><Data ss:Type="String">No. Used</Data></Cell>
+ <Cell ss:StyleID="s222"/>
+ <Cell ss:StyleID="s222"/>
+ <Cell ss:StyleID="s223"/>
+ <Cell ss:Index="9" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s221"><Data ss:Type="String">Chassis</Data></Cell>
+ <Cell ss:StyleID="s224"><Data ss:Type="Number">450</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s225" ss:Formula="=R9C4*RC[1]+R9C5*RC[2]+R9C6*RC[3]"><Data
+ ss:Type="Number">200</Data><NamedCell ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s223"><Data ss:Type="Number">0</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s221"><Data ss:Type="String">Picture Tube</Data></Cell>
+ <Cell ss:StyleID="s226"><Data ss:Type="Number">250</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s227" ss:Formula="=R9C4*RC[1]+R9C5*RC[2]+R9C6*RC[3]"><Data
+ ss:Type="Number">100</Data><NamedCell ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s223"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s228"><Data ss:Type="String">Diminishing</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s221"><Data ss:Type="String">Speaker Cone</Data></Cell>
+ <Cell ss:StyleID="s226"><Data ss:Type="Number">800</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s227" ss:Formula="=R9C4*RC[1]+R9C5*RC[2]+R9C6*RC[3]"><Data
+ ss:Type="Number">500</Data><NamedCell ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">2</Data></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">2</Data></Cell>
+ <Cell ss:StyleID="s223"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s229"><Data ss:Type="String">Returns</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s221"><Data ss:Type="String">Power Supply</Data></Cell>
+ <Cell ss:StyleID="s226"><Data ss:Type="Number">450</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s227" ss:Formula="=R9C4*RC[1]+R9C5*RC[2]+R9C6*RC[3]"><Data
+ ss:Type="Number">200</Data><NamedCell ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s222"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s223"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s229"><Data ss:Type="String">Exponent:</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s230"><Data ss:Type="String">Electronics</Data></Cell>
+ <Cell ss:StyleID="s231"><Data ss:Type="Number">600</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s232" ss:Formula="=R9C4*RC[1]+R9C5*RC[2]+R9C6*RC[3]"><Data
+ ss:Type="Number">400</Data><NamedCell ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s233"><Data ss:Type="Number">2</Data></Cell>
+ <Cell ss:StyleID="s233"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s234"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="8" ss:StyleID="s235"><Data ss:Type="Number">0.9</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:Index="4" ss:StyleID="s236"><Data ss:Type="String">Profits:</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s237"/>
+ <Cell ss:StyleID="s238"><Data ss:Type="String">By Product</Data></Cell>
+ <Cell ss:StyleID="s239" ss:Formula="=75*MAX(R[-8]C,0)^R15C8"><Data
+ ss:Type="Number">4732.1800836014527</Data></Cell>
+ <Cell ss:StyleID="s239" ss:Formula="=50*MAX(R[-8]C,0)^R15C8"><Data
+ ss:Type="Number">3154.7867224009683</Data></Cell>
+ <Cell ss:StyleID="s240" ss:Formula="=35*MAX(R[-8]C,0)^R15C8"><Data
+ ss:Type="Number">2208.3507056806779</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s21"/>
+ <Cell ss:StyleID="s241"/>
+ <Cell ss:StyleID="s242"><Data ss:Type="String">Total </Data></Cell>
+ <Cell ss:StyleID="s197" ss:Formula="=SUM(R[-1]C:R[-1]C[2])"><Data
+ ss:Type="Number">10095.317511683099</Data><NamedCell ss:Name="solver_opt"/></Cell>
+ <Cell ss:StyleID="s243"/>
+ <Cell ss:StyleID="s244"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="7.5"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">This model provides data for several products using common parts, each with a different profit margin</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">per unit. Parts are limited, so your problem is to determine the number of each product to build from the</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">inventory on hand in order to maximize profits.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s372"><Data ss:Type="String">Problem Specifications</Data></Cell>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s374"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Target Cell</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D18</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Goal is to maximize profit.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Changing cells</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D9:F9</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Units of each product to build.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Constraints</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">C11:C15&lt;=B11:B15</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Number of parts used must be less than or </Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">equal to the number of parts in inventory.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D9:F9&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Number to build value must be greater than or</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">equal to 0.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">The formulas for profit per product in cells D17:F17 include the factor ^H15 to show that profit per unit</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">diminishes with volume. H15 contains 0.9, which makes the problem nonlinear. If you change H15 to</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">1.0 to indicate that profit per unit remains constant with volume, and then click <B>Solve</B><Font> again, the</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">optimal solution will change. This change also makes the problem linear.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ </Row>
+ <Row ss:Height="11.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;F"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>-4</HorizontalResolution>
+ <VerticalResolution>-4</VerticalResolution>
+ <NumberofCopies>12334</NumberofCopies>
+ </Print>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>100</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Shipping Routes">
+ <Names>
+ <NamedRange ss:Name="solver_adj" ss:RefersTo="='Shipping Routes'!R8C3:R10C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_drv" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_est" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_itr" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs1" ss:RefersTo="='Shipping Routes'!R8C3:R10C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs2" ss:RefersTo="='Shipping Routes'!R8C2:R10C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs3" ss:RefersTo="='Shipping Routes'!R12C3:R12C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lin" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_num" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_nwt" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_opt" ss:RefersTo="='Shipping Routes'!R20C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_pre" ss:RefersTo="=0.000001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel1" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel2" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel3" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs1" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs2" ss:RefersTo="='Shipping Routes'!R16C2:R18C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs3" ss:RefersTo="='Shipping Routes'!R14C3:R14C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_scl" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_sho" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tim" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tol" ss:RefersTo="=0.05" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_typ" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_val" ss:RefersTo="=0" ss:Hidden="1"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="48" x:FullColumns="1"
+ x:FullRows="1" ss:StyleID="s22" ss:DefaultRowHeight="10.5">
+ <Column ss:StyleID="s151" ss:AutoFitWidth="0" ss:Width="51.75"/>
+ <Column ss:StyleID="s151" ss:AutoFitWidth="0" ss:Width="44.25" ss:Span="5"/>
+ <Column ss:Index="8" ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="48.75"/>
+ <Column ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="15"/>
+ <Column ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="17.25"/>
+ <Column ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="33.75"/>
+ <Column ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="31.5"/>
+ <Column ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="37.5"/>
+ <Column ss:StyleID="s22" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="242"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s150"><Data ss:Type="String">Example 2: Transportation Problem.</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s153"><Data ss:Type="String">Minimize the costs of shipping goods from production plants to warehouses near metropolitan demand</Data></Cell>
+ <Cell ss:StyleID="s154"/>
+ <Cell ss:StyleID="s154"/>
+ <Cell ss:StyleID="s154"/>
+ <Cell ss:StyleID="s154"/>
+ <Cell ss:StyleID="s154"/>
+ <Cell ss:StyleID="s154"/>
+ <Cell ss:StyleID="s155"/>
+ <Cell ss:Index="10" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s156"><Data ss:Type="String">centers, while not exceeding the supply available from each plant and meeting the demand from each</Data></Cell>
+ <Cell ss:StyleID="s157"/>
+ <Cell ss:StyleID="s157"/>
+ <Cell ss:StyleID="s157"/>
+ <Cell ss:StyleID="s157"/>
+ <Cell ss:StyleID="s157"/>
+ <Cell ss:StyleID="s157"/>
+ <Cell ss:StyleID="s158"/>
+ <Cell ss:Index="10" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s159"><Data ss:Type="String">metropolitan area.</Data></Cell>
+ <Cell ss:StyleID="s160"/>
+ <Cell ss:StyleID="s160"/>
+ <Cell ss:StyleID="s160"/>
+ <Cell ss:StyleID="s160"/>
+ <Cell ss:StyleID="s160"/>
+ <Cell ss:StyleID="s160"/>
+ <Cell ss:StyleID="s161"/>
+ <Cell ss:Index="10" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.8125">
+ <Cell ss:Index="4" ss:StyleID="s22"/>
+ <Cell ss:Index="10" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s162"/>
+ <Cell ss:StyleID="s163"/>
+ <Cell ss:StyleID="s164"><Data ss:Type="String">Number to ship from plant x to warehouse y (at intersection):</Data></Cell>
+ <Cell ss:StyleID="s163"/>
+ <Cell ss:StyleID="s163"/>
+ <Cell ss:StyleID="s163"/>
+ <Cell ss:StyleID="s163"/>
+ <Cell ss:StyleID="s165"/>
+ <Cell ss:Index="10" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s166"><Data ss:Type="String">Plants:</Data></Cell>
+ <Cell ss:StyleID="s167"><Data ss:Type="String">Total</Data></Cell>
+ <Cell ss:StyleID="s168"><Data ss:Type="String">San Fran</Data></Cell>
+ <Cell ss:StyleID="s168"><Data ss:Type="String">Denver</Data></Cell>
+ <Cell ss:StyleID="s168"><Data ss:Type="String">Chicago</Data></Cell>
+ <Cell ss:StyleID="s168"><Data ss:Type="String">Dallas</Data></Cell>
+ <Cell ss:StyleID="s168"><Data ss:Type="String">New York</Data></Cell>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">S. Carolina</Data></Cell>
+ <Cell ss:StyleID="s171" ss:Formula="=SUM(RC[1]:RC[5])"><Data ss:Type="Number">5</Data><NamedCell
+ ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s172"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s173"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s173"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s173"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s174"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">Tennessee</Data></Cell>
+ <Cell ss:StyleID="s175" ss:Formula="=SUM(RC[1]:RC[5])"><Data ss:Type="Number">5</Data><NamedCell
+ ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s176"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s178"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">Arizona</Data></Cell>
+ <Cell ss:StyleID="s179" ss:Formula="=SUM(RC[1]:RC[5])"><Data ss:Type="Number">5</Data><NamedCell
+ ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s180"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s181"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s181"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s181"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s182"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s183"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s184"><Data ss:Type="String">&#45;&#45;-</Data></Cell>
+ <Cell ss:StyleID="s184"><Data ss:Type="String">&#45;&#45;-</Data></Cell>
+ <Cell ss:StyleID="s184"><Data ss:Type="String">&#45;&#45;-</Data></Cell>
+ <Cell ss:StyleID="s184"><Data ss:Type="String">&#45;&#45;-</Data></Cell>
+ <Cell ss:StyleID="s184"><Data ss:Type="String">&#45;&#45;-</Data></Cell>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">Totals:</Data></Cell>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s185" ss:Formula="=SUM(R[-4]C:R[-2]C)"><Data ss:Type="Number">3</Data><NamedCell
+ ss:Name="solver_lhs3"/></Cell>
+ <Cell ss:StyleID="s186" ss:Formula="=SUM(R[-4]C:R[-2]C)"><Data ss:Type="Number">3</Data><NamedCell
+ ss:Name="solver_lhs3"/></Cell>
+ <Cell ss:StyleID="s186" ss:Formula="=SUM(R[-4]C:R[-2]C)"><Data ss:Type="Number">3</Data><NamedCell
+ ss:Name="solver_lhs3"/></Cell>
+ <Cell ss:StyleID="s186" ss:Formula="=SUM(R[-4]C:R[-2]C)"><Data ss:Type="Number">3</Data><NamedCell
+ ss:Name="solver_lhs3"/></Cell>
+ <Cell ss:StyleID="s187" ss:Formula="=SUM(R[-4]C:R[-2]C)"><Data ss:Type="Number">3</Data><NamedCell
+ ss:Name="solver_lhs3"/></Cell>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s183"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s169"/>
+ <Cell ss:Index="10" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s188"/>
+ <Cell ss:StyleID="s189"><Data ss:Type="String">Demands by Whse &#45;-&gt;</Data></Cell>
+ <Cell ss:StyleID="s185"><Data ss:Type="Number">180</Data><NamedCell
+ ss:Name="solver_rhs3"/></Cell>
+ <Cell ss:StyleID="s186"><Data ss:Type="Number">80</Data><NamedCell
+ ss:Name="solver_rhs3"/></Cell>
+ <Cell ss:StyleID="s186"><Data ss:Type="Number">200</Data><NamedCell
+ ss:Name="solver_rhs3"/></Cell>
+ <Cell ss:StyleID="s186"><Data ss:Type="Number">160</Data><NamedCell
+ ss:Name="solver_rhs3"/></Cell>
+ <Cell ss:StyleID="s187"><Data ss:Type="Number">220</Data><NamedCell
+ ss:Name="solver_rhs3"/></Cell>
+ <Cell ss:StyleID="s190"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s191"><Data ss:Type="String">Plants:</Data></Cell>
+ <Cell ss:StyleID="s192"><Data ss:Type="String">Supply</Data></Cell>
+ <Cell ss:StyleID="s323"><Data ss:Type="String">Shipping costs from plant x to warehouse y (at intersection):</Data></Cell>
+ <Cell ss:StyleID="s324"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s165"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">S. Carolina</Data></Cell>
+ <Cell ss:StyleID="s171"><Data ss:Type="Number">310</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">10</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">8</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">6</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">4</Data></Cell>
+ <Cell ss:StyleID="s169"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">Tennessee</Data></Cell>
+ <Cell ss:StyleID="s175"><Data ss:Type="Number">260</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">6</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">4</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">3</Data></Cell>
+ <Cell ss:StyleID="s177"><Data ss:Type="Number">6</Data></Cell>
+ <Cell ss:StyleID="s169"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s170"><Data ss:Type="String">Arizona</Data></Cell>
+ <Cell ss:StyleID="s179"><Data ss:Type="Number">280</Data><NamedCell
+ ss:Name="solver_rhs2"/></Cell>
+ <Cell ss:StyleID="s194"><Data ss:Type="Number">3</Data></Cell>
+ <Cell ss:StyleID="s194"><Data ss:Type="Number">4</Data></Cell>
+ <Cell ss:StyleID="s194"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s194"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s194"><Data ss:Type="Number">9</Data></Cell>
+ <Cell ss:StyleID="s190"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s195"/>
+ <Cell ss:StyleID="s177"/>
+ <Cell ss:StyleID="s193"/>
+ <Cell ss:StyleID="s193"/>
+ <Cell ss:StyleID="s193"/>
+ <Cell ss:StyleID="s193"/>
+ <Cell ss:StyleID="s193"/>
+ <Cell ss:StyleID="s165"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s196"><Data ss:Type="String">Shipping:</Data></Cell>
+ <Cell ss:StyleID="s197" ss:Formula="=SUM(RC[1]:RC[5])"><Data ss:Type="Number">83</Data><NamedCell
+ ss:Name="solver_opt"/></Cell>
+ <Cell ss:StyleID="s198"
+ ss:Formula="=R[-12]C*R[-4]C+R[-11]C*R[-3]C+R[-10]C*R[-2]C"><Data
+ ss:Type="Number">19</Data></Cell>
+ <Cell ss:StyleID="s198"
+ ss:Formula="=R[-12]C*R[-4]C+R[-11]C*R[-3]C+R[-10]C*R[-2]C"><Data
+ ss:Type="Number">17</Data></Cell>
+ <Cell ss:StyleID="s198"
+ ss:Formula="=R[-12]C*R[-4]C+R[-11]C*R[-3]C+R[-10]C*R[-2]C"><Data
+ ss:Type="Number">15</Data></Cell>
+ <Cell ss:StyleID="s198"
+ ss:Formula="=R[-12]C*R[-4]C+R[-11]C*R[-3]C+R[-10]C*R[-2]C"><Data
+ ss:Type="Number">13</Data></Cell>
+ <Cell ss:StyleID="s198"
+ ss:Formula="=R[-12]C*R[-4]C+R[-11]C*R[-3]C+R[-10]C*R[-2]C"><Data
+ ss:Type="Number">19</Data></Cell>
+ <Cell ss:StyleID="s190"/>
+ </Row>
+ <Row ss:Height="12"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">The problem presented in this model involves the shipment of goods from three plants to five regional</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">warehouses. Goods can be shipped from any plant to any warehouse, but it obviously costs more to</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">ship goods over long distances than over short distances. The problem is to determine the amounts</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">to ship from each plant to each warehouse at minimum shipping cost in order to meet the regional</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">demand, while not exceeding the plant supplies.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:StyleID="s21">
+ <Cell ss:StyleID="s372"><Data ss:Type="String">Problem Specifications</Data></Cell>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s374"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:Height="12.75">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Target cell</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">B20</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Goal is to minimize total shipping cost.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:Index="11" ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Changing cells</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">C8:G10</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Amount to ship from each plant to each </Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">warehouse.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Constraints</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">B8:B10&lt;=B16:B18</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Total shipped must be less than or equal to </Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">supply at plant.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">C12:G12&gt;=C14:G14</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Totals shipped to warehouses must be greater</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">than or equal to demand at warehouses.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">C8:G10&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Number to ship must be greater than or equal </Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">to 0.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">You can solve this problem faster by selecting the <B>Assume linear model</B><Font> check box in the </Font><B>Solver</B><Font> </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s383"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40"><B>Options</B><Font> dialog box before clicking </Font><B>Solve</B><Font>. A problem of this type has an optimum solution at which</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">amounts to ship are integers, if all of the supply and demand constraints are integers.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ </Row>
+ <Row ss:Height="11.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;F"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>-4</HorizontalResolution>
+ <VerticalResolution>-4</VerticalResolution>
+ <NumberofCopies>0</NumberofCopies>
+ </Print>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>94</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Staff Scheduling">
+ <Names>
+ <NamedRange ss:Name="solver_adj" ss:RefersTo="='Staff Scheduling'!R7C4:R13C4"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_drv" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_est" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_itr" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs1" ss:RefersTo="='Staff Scheduling'!R15C6:R15C12"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs2" ss:RefersTo="='Staff Scheduling'!R7C4:R13C4"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs3" ss:RefersTo="='Staff Scheduling'!R7C4:R13C4"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lin" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_num" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_nwt" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_opt" ss:RefersTo="='Staff Scheduling'!R20C4"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_pre" ss:RefersTo="=0.000001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel1" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel2" ss:RefersTo="=4" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel3" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs1" ss:RefersTo="='Staff Scheduling'!R17C6:R17C12"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs2" ss:RefersTo="=Integer" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs3" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_scl" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_sho" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tim" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tmp" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tol" ss:RefersTo="=0.05" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_typ" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_val" ss:RefersTo="=0" ss:Hidden="1"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="17" ss:ExpandedRowCount="47" x:FullColumns="1"
+ x:FullRows="1">
+ <Column ss:AutoFitWidth="0" ss:Width="38.25"/>
+ <Column ss:Index="3" ss:AutoFitWidth="0" ss:Width="41.25"/>
+ <Column ss:AutoFitWidth="0" ss:Width="51.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="14.25"/>
+ <Column ss:AutoFitWidth="0" ss:Width="27"/>
+ <Column ss:AutoFitWidth="0" ss:Width="28.5"/>
+ <Column ss:AutoFitWidth="0" ss:Width="27"/>
+ <Column ss:AutoFitWidth="0" ss:Width="30"/>
+ <Column ss:AutoFitWidth="0" ss:Width="27"/>
+ <Column ss:AutoFitWidth="0" ss:Width="21"/>
+ <Column ss:AutoFitWidth="0" ss:Width="24.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="17.25"/>
+ <Column ss:AutoFitWidth="0" ss:Width="15.75"/>
+ <Column ss:AutoFitWidth="0" ss:Width="40.5"/>
+ <Column ss:AutoFitWidth="0" ss:Width="41.25"/>
+ <Column ss:AutoFitWidth="0" ss:Width="30.75"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s27"><Data ss:Type="String">Example 3: Personnel scheduling for an Amusement Park.</Data></Cell>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s325"><Data ss:Type="String">For employees working five consecutive days with two days off, find the schedule that meets demand</Data></Cell>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s29"/>
+ <Cell ss:StyleID="s30"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s326"><Data ss:Type="String">from attendance levels while minimizing payroll costs.</Data></Cell>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s31"/>
+ <Cell ss:StyleID="s32"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25"/>
+ <Row ss:Height="14.25">
+ <Cell ss:StyleID="s33"><Data ss:Type="String">Sch.</Data></Cell>
+ <Cell ss:StyleID="s315"><Data ss:Type="String"> Days off</Data></Cell>
+ <Cell ss:StyleID="s34"/>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Employees</Data></Cell>
+ <Cell ss:StyleID="s307"/>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Sun</Data></Cell>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Mon</Data></Cell>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Tue</Data></Cell>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Wed</Data></Cell>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Thu</Data></Cell>
+ <Cell ss:StyleID="s307"><Data ss:Type="String">Fri</Data></Cell>
+ <Cell ss:StyleID="s306"><Data ss:Type="String">Sat</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s319"><Data ss:Type="String"> A</Data></Cell>
+ <Cell ss:StyleID="s316"><Data ss:Type="String">Sunday, Monday</Data></Cell>
+ <Cell ss:StyleID="s317"/>
+ <Cell ss:StyleID="s35"><Data ss:Type="Number">4</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s311"/>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s308"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s319"><Data ss:Type="String"> B</Data></Cell>
+ <Cell ss:StyleID="s316"><Data ss:Type="String">Monday, Tuesday</Data></Cell>
+ <Cell ss:StyleID="s317"/>
+ <Cell ss:StyleID="s313"><Data ss:Type="Number">4</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s311"/>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s308"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s319"><Data ss:Type="String"> C</Data></Cell>
+ <Cell ss:StyleID="s316"><Data ss:Type="String">Tuesday, Wed.</Data></Cell>
+ <Cell ss:StyleID="s317"/>
+ <Cell ss:StyleID="s313"><Data ss:Type="Number">4</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s311"/>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s308"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s319"><Data ss:Type="String"> D</Data></Cell>
+ <Cell ss:StyleID="s316"><Data ss:Type="String">Wed., Thursday</Data></Cell>
+ <Cell ss:StyleID="s317"/>
+ <Cell ss:StyleID="s313"><Data ss:Type="Number">6</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s311"/>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s308"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s319"><Data ss:Type="String"> E</Data></Cell>
+ <Cell ss:StyleID="s316"><Data ss:Type="String">Thursday, Friday</Data></Cell>
+ <Cell ss:StyleID="s317"/>
+ <Cell ss:StyleID="s313"><Data ss:Type="Number">6</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s311"/>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s308"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s319"><Data ss:Type="String"> F</Data></Cell>
+ <Cell ss:StyleID="s316"><Data ss:Type="String">Friday, Saturday</Data></Cell>
+ <Cell ss:StyleID="s317"/>
+ <Cell ss:StyleID="s314"><Data ss:Type="Number">4</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s312"/>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s305"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s308"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s320"><Data ss:Type="String"> G</Data></Cell>
+ <Cell ss:StyleID="s318"><Data ss:Type="String">Saturday, Sunday</Data></Cell>
+ <Cell ss:StyleID="s322"/>
+ <Cell ss:StyleID="s36"><Data ss:Type="Number">4</Data><NamedCell
+ ss:Name="solver_lhs3"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s321"/>
+ <Cell ss:StyleID="s310"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s309"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s309"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s309"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s309"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s309"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s37"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:Index="14" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ </Row>
+ <Row ss:Height="14.25">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s39"><Data ss:Type="String">Schedule Totals:</Data></Cell>
+ <Cell ss:StyleID="s40" ss:Formula="=SUM(R[-8]C:R[-2]C)"><Data ss:Type="Number">32</Data></Cell>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s41"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">24</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ <Cell ss:StyleID="s42"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">24</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ <Cell ss:StyleID="s42"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">24</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ <Cell ss:StyleID="s42"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">22</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ <Cell ss:StyleID="s42"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">20</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ <Cell ss:StyleID="s42"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">22</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ <Cell ss:StyleID="s43"
+ ss:Formula="=R7C4*R[-8]C+R8C4*R[-7]C+R9C4*R[-6]C+R10C4*R[-5]C+R11C4*R[-4]C+R12C4*R[-3]C+R13C4*R[-2]C"><Data
+ ss:Type="Number">28</Data><NamedCell ss:Name="solver_lhs1"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s44"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ <Cell ss:StyleID="s40"/>
+ </Row>
+ <Row ss:Height="14.25">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s39"><Data ss:Type="String">Total Demand:</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s41"><Data ss:Type="Number">22</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ <Cell ss:StyleID="s42"><Data ss:Type="Number">17</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ <Cell ss:StyleID="s42"><Data ss:Type="Number">13</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ <Cell ss:StyleID="s42"><Data ss:Type="Number">14</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ <Cell ss:StyleID="s42"><Data ss:Type="Number">15</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ <Cell ss:StyleID="s42"><Data ss:Type="Number">18</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ <Cell ss:StyleID="s43"><Data ss:Type="Number">24</Data><NamedCell
+ ss:Name="solver_rhs1"/></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:Index="2" ss:StyleID="s28"/>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ </Row>
+ <Row ss:Height="13.5">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s45"><Data ss:Type="String">Pay/Employee/Day:</Data></Cell>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s46"><Data ss:Type="Number">40</Data></Cell>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ </Row>
+ <Row ss:Height="14.25">
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s45"><Data ss:Type="String">Payroll/Week:</Data></Cell>
+ <Cell ss:StyleID="s28"/>
+ <Cell ss:StyleID="s47" ss:Formula="=R[-5]C*R[-1]C"><Data ss:Type="Number">1280</Data><NamedCell
+ ss:Name="solver_opt"/></Cell>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s48"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ <Cell ss:StyleID="s38"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">The goal for this model is to schedule employees so that you have sufficient staff at the lowest cost. In</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">this example, all employees are paid at the same rate, so by minimizing the number of employees working</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">each day, you also minimize costs. Each employee works five consecutive days, followed by two days</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">off.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:Height="10.5" ss:StyleID="s21">
+ <Cell ss:StyleID="s372"><Data ss:Type="String">Problem Specifications</Data></Cell>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s373"/>
+ <Cell ss:StyleID="s374"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Target cell</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D20</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Goal is to minimize payroll cost.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Changing cells</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D7:D13</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Employees on each schedule.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Constraints</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D7:D13&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Number of employees must be greater than or equal</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">to 0.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D7:D13=Integer</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Number of employees must be an integer.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">F15:L15&gt;=F17:L17</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Employees working each day must be greater than or</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">equal to the demand.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Possible schedules</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Rows 7-13</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">1 means employee on that schedule works that day.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">In this example, you use an integer constraint so that your solutions do not result in fractional numbers of</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">employees on each schedule. Selecting the <B>Assume linear model</B><Font> check box in the </Font><B>Solver Options</B><Font> </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="10.5">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">dialog box before you click <B>Solve</B><Font> will greatly speed up the solution process.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ </Row>
+ <Row ss:Height="13.5"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;A"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>102</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Maximizing Income">
+ <Names>
+ <NamedRange ss:Name="solver_adj"
+ ss:RefersTo="='Maximizing Income'!R14C2:R14C7,'Maximizing Income'!R15C2,'Maximizing Income'!R15C5,'Maximizing Income'!R16C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_drv" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_est" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_itr" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs1" ss:RefersTo="='Maximizing Income'!R14C2:R14C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs2" ss:RefersTo="='Maximizing Income'!R15C2:R16C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs3" ss:RefersTo="='Maximizing Income'!R15C5"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs4" ss:RefersTo="='Maximizing Income'!R18C2:R18C8"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs5" ss:RefersTo="='Maximizing Income'!R14C2:R14C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs6" ss:RefersTo="='Maximizing Income'!R15C2:R16C2"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs7" ss:RefersTo="='Maximizing Income'!R15C5"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs8" ss:RefersTo="='Maximizing Income'!R18C2:R18C8"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lin" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_num" ss:RefersTo="=4" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_nwt" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_opt" ss:RefersTo="='Maximizing Income'!R8C8"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_pre" ss:RefersTo="=0.000001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel1" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel2" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel3" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel4" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel5" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel6" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel7" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel8" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs1" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs2" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs3" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs4" ss:RefersTo="=100000" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs5" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs6" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs7" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs8" ss:RefersTo="=100000" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_scl" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_sho" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tim" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tol" ss:RefersTo="=0.05" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_typ" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_val" ss:RefersTo="=0" ss:Hidden="1"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="68" x:FullColumns="1"
+ x:FullRows="1" ss:StyleID="s23" ss:DefaultRowHeight="10.5">
+ <Column ss:StyleID="s120" ss:AutoFitWidth="0" ss:Width="57"/>
+ <Column ss:StyleID="s120" ss:AutoFitWidth="0" ss:Span="6"/>
+ <Column ss:Index="9" ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="17.25"/>
+ <Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="15"/>
+ <Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="31.5"/>
+ <Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="29.25"/>
+ <Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="242"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s119"><Data ss:Type="String">Example 4: Working Capital Management.</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s122"><Data ss:Type="String">Determine how to invest excess cash in 1-month, 3-month and 6-month CDs so as to</Data></Cell>
+ <Cell ss:StyleID="s123"/>
+ <Cell ss:StyleID="s123"/>
+ <Cell ss:StyleID="s123"/>
+ <Cell ss:StyleID="s123"/>
+ <Cell ss:StyleID="s123"/>
+ <Cell ss:StyleID="s124"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s125"><Data ss:Type="String">maximize interest income while meeting company cash requirements (plus safety margin).</Data></Cell>
+ <Cell ss:StyleID="s126"/>
+ <Cell ss:StyleID="s126"/>
+ <Cell ss:StyleID="s126"/>
+ <Cell ss:StyleID="s126"/>
+ <Cell ss:StyleID="s126"/>
+ <Cell ss:StyleID="s127"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="9"/>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s128"/>
+ <Cell ss:StyleID="s129"><Data ss:Type="String">Yield</Data></Cell>
+ <Cell ss:StyleID="s130"><Data ss:Type="String">Term</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s131"><Data ss:Type="String">Purchase CDs in months:</Data></Cell>
+ <Cell ss:StyleID="s132"/>
+ <Cell ss:Index="8" ss:StyleID="s23"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s133"><Data ss:Type="String">1-mo CDs:</Data></Cell>
+ <Cell ss:StyleID="s134"><Data ss:Type="Number">0.01</Data></Cell>
+ <Cell ss:StyleID="s135"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s136"><Data ss:Type="String">1, 2, 3, 4, 5 and 6</Data></Cell>
+ <Cell ss:StyleID="s137"/>
+ <Cell ss:Index="8" ss:StyleID="s138"><Data ss:Type="String">Interest</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s133"><Data ss:Type="String">3-mo CDs:</Data></Cell>
+ <Cell ss:StyleID="s134"><Data ss:Type="Number">0.04</Data></Cell>
+ <Cell ss:StyleID="s135"><Data ss:Type="Number">3</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s136"><Data ss:Type="String">1 and 4</Data></Cell>
+ <Cell ss:StyleID="s137"/>
+ <Cell ss:Index="8" ss:StyleID="s138"><Data ss:Type="String"> Earned:</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s139"><Data ss:Type="String">6-mo CDs:</Data></Cell>
+ <Cell ss:StyleID="s140"><Data ss:Type="Number">0.09</Data></Cell>
+ <Cell ss:StyleID="s141"><Data ss:Type="Number">6</Data></Cell>
+ <Cell ss:Index="5" ss:StyleID="s125"><Data ss:Type="String">1</Data></Cell>
+ <Cell ss:StyleID="s127"/>
+ <Cell ss:StyleID="s142"><Data ss:Type="String">Total</Data></Cell>
+ <Cell ss:StyleID="s143" ss:Formula="=SUM(R[5]C[-6]:R[5]C)"><Data
+ ss:Type="Number">7700</Data><NamedCell ss:Name="solver_opt"/></Cell>
+ <Cell ss:Index="10" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="9">
+ <Cell ss:Index="10" ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s327"><Data ss:Type="String">Month:</Data></Cell>
+ <Cell ss:StyleID="s328"><Data ss:Type="String">Month 1</Data></Cell>
+ <Cell ss:StyleID="s328"><Data ss:Type="String">Month 2</Data></Cell>
+ <Cell ss:StyleID="s328"><Data ss:Type="String">Month 3</Data></Cell>
+ <Cell ss:StyleID="s328"><Data ss:Type="String">Month 4</Data></Cell>
+ <Cell ss:StyleID="s328"><Data ss:Type="String">Month 5</Data></Cell>
+ <Cell ss:StyleID="s328"><Data ss:Type="String">Month 6</Data></Cell>
+ <Cell ss:StyleID="s329"><Data ss:Type="String">End</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">Init Cash:</Data></Cell>
+ <Cell ss:StyleID="s330"><Data ss:Type="Number">400000</Data></Cell>
+ <Cell ss:StyleID="s330" ss:Formula="=R[7]C[-1]"><Data ss:Type="Number">205000</Data></Cell>
+ <Cell ss:StyleID="s330" ss:Formula="=R[7]C[-1]"><Data ss:Type="Number">216000</Data></Cell>
+ <Cell ss:StyleID="s330" ss:Formula="=R[7]C[-1]"><Data ss:Type="Number">237000</Data></Cell>
+ <Cell ss:StyleID="s330" ss:Formula="=R[7]C[-1]"><Data ss:Type="Number">158400</Data></Cell>
+ <Cell ss:StyleID="s330" ss:Formula="=R[7]C[-1]"><Data ss:Type="Number">109400</Data></Cell>
+ <Cell ss:StyleID="s331" ss:Formula="=R[7]C[-1]"><Data ss:Type="Number">125400</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">Matur CDs:</Data></Cell>
+ <Cell ss:StyleID="s332"/>
+ <Cell ss:StyleID="s332" ss:Formula="=R[2]C[-1]"><Data ss:Type="Number">100000</Data></Cell>
+ <Cell ss:StyleID="s332" ss:Formula="=R[2]C[-1]"><Data ss:Type="Number">100000</Data></Cell>
+ <Cell ss:StyleID="s332" ss:Formula="=R[2]C[-1]+R[3]C[-3]"><Data
+ ss:Type="Number">110000</Data></Cell>
+ <Cell ss:StyleID="s332" ss:Formula="=R[2]C[-1]"><Data ss:Type="Number">100000</Data></Cell>
+ <Cell ss:StyleID="s332" ss:Formula="=R[2]C[-1]"><Data ss:Type="Number">100000</Data></Cell>
+ <Cell ss:StyleID="s333" ss:Formula="=R[2]C[-1]+R[3]C[-3]+R[4]C[-6]"><Data
+ ss:Type="Number">120000</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">Interest:</Data></Cell>
+ <Cell ss:StyleID="s334"/>
+ <Cell ss:StyleID="s334" ss:Formula="=R[1]C[-1]*R6C2"><Data ss:Type="Number">1000</Data></Cell>
+ <Cell ss:StyleID="s334" ss:Formula="=R[1]C[-1]*R6C2"><Data ss:Type="Number">1000</Data></Cell>
+ <Cell ss:StyleID="s334" ss:Formula="=R[1]C[-1]*R6C2+R[2]C[-3]*R7C2"><Data
+ ss:Type="Number">1400</Data></Cell>
+ <Cell ss:StyleID="s334" ss:Formula="=R[1]C[-1]*R6C2"><Data ss:Type="Number">1000</Data></Cell>
+ <Cell ss:StyleID="s334" ss:Formula="=R[1]C[-1]*R6C2"><Data ss:Type="Number">1000</Data></Cell>
+ <Cell ss:StyleID="s333"
+ ss:Formula="=R[1]C[-1]*R6C2+R[2]C[-3]*R7C2+R[3]C[-6]*R8C2"><Data
+ ss:Type="Number">2300</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">1-mo CDs:</Data></Cell>
+ <Cell ss:StyleID="s145" ss:Formula="=100000"><Data ss:Type="Number">100000</Data><NamedCell
+ ss:Name="solver_lhs5"/><NamedCell ss:Name="solver_lhs1"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s340" ss:Formula="=100000"><Data ss:Type="Number">100000</Data><NamedCell
+ ss:Name="solver_lhs5"/><NamedCell ss:Name="solver_lhs1"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s340" ss:Formula="=100000"><Data ss:Type="Number">100000</Data><NamedCell
+ ss:Name="solver_lhs5"/><NamedCell ss:Name="solver_lhs1"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s340" ss:Formula="=100000"><Data ss:Type="Number">100000</Data><NamedCell
+ ss:Name="solver_lhs5"/><NamedCell ss:Name="solver_lhs1"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s340" ss:Formula="=100000"><Data ss:Type="Number">100000</Data><NamedCell
+ ss:Name="solver_lhs5"/><NamedCell ss:Name="solver_lhs1"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s341" ss:Formula="=100000"><Data ss:Type="Number">100000</Data><NamedCell
+ ss:Name="solver_lhs5"/><NamedCell ss:Name="solver_lhs1"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s336"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">3-mo CDs:</Data></Cell>
+ <Cell ss:StyleID="s146"><Data ss:Type="Number">10000</Data><NamedCell
+ ss:Name="solver_lhs6"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s144"/>
+ <Cell ss:StyleID="s334"/>
+ <Cell ss:StyleID="s146"><Data ss:Type="Number">10000</Data><NamedCell
+ ss:Name="solver_lhs7"/><NamedCell ss:Name="solver_lhs3"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s144"/>
+ <Cell ss:StyleID="s334"/>
+ <Cell ss:StyleID="s335"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">6-mo CDs:</Data></Cell>
+ <Cell ss:StyleID="s146"><Data ss:Type="Number">10000</Data><NamedCell
+ ss:Name="solver_lhs6"/><NamedCell ss:Name="solver_lhs2"/><NamedCell
+ ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s337"/>
+ <Cell ss:StyleID="s338"/>
+ <Cell ss:StyleID="s338"/>
+ <Cell ss:StyleID="s338"/>
+ <Cell ss:StyleID="s338"/>
+ <Cell ss:StyleID="s339"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s344"><Data ss:Type="String">Cash Uses:</Data></Cell>
+ <Cell ss:StyleID="s334"><Data ss:Type="Number">75000</Data></Cell>
+ <Cell ss:StyleID="s334"><Data ss:Type="Number">-10000</Data></Cell>
+ <Cell ss:StyleID="s334"><Data ss:Type="Number">-20000</Data></Cell>
+ <Cell ss:StyleID="s334"><Data ss:Type="Number">80000</Data></Cell>
+ <Cell ss:StyleID="s334"><Data ss:Type="Number">50000</Data></Cell>
+ <Cell ss:StyleID="s334"><Data ss:Type="Number">-15000</Data></Cell>
+ <Cell ss:StyleID="s335"><Data ss:Type="Number">60000</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s147"><Data ss:Type="String">End Cash:</Data></Cell>
+ <Cell ss:StyleID="s148" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">205000</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ <Cell ss:StyleID="s342" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">216000</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ <Cell ss:StyleID="s342" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">237000</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ <Cell ss:StyleID="s342" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">158400</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ <Cell ss:StyleID="s342" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">109400</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ <Cell ss:StyleID="s342" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">125400</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ <Cell ss:StyleID="s343" ss:Formula="=SUM(R[-7]C:R[-5]C)-SUM(R[-4]C:R[-1]C)"><Data
+ ss:Type="Number">187700</Data><NamedCell ss:Name="solver_lhs8"/><NamedCell
+ ss:Name="solver_lhs4"/></Cell>
+ </Row>
+ <Row ss:Index="20">
+ <Cell ss:Index="2"
+ ss:Formula="=1*R[-6]C+3*R[-5]C+6*R[-4]C-4*SUM(R[-6]C:R[-4]C)"><Data
+ ss:Type="Number">-290000</Data></Cell>
+ <Cell ss:Index="4" ss:StyleID="s149"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">If you're a financial officer or a manager, one of your tasks is to manage cash and short-term investments in a</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">way that maximizes interest income, while keeping funds available to meet expenditures. You must trade off</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">the higher interest rates available from longer-term investments against the flexibility provided by keeping funds</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">in short-term investments.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">This model calculates ending cash based on initial cash (from the previous month), inflows from maturing</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">certificates of deposit (CDs), outflows for new CDs, and cash needed for company operations for each month.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">You have a total of nine decisions to make: the amounts to invest in one-month CDs in months 1 through 6;</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">the amounts to invest in three-month CDs in months 1 and 4; and the amount to invest in six-month CDs in</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">month 1.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:StyleID="s21">
+ <Cell ss:StyleID="s384"><Data ss:Type="String">Problem Specifications</Data></Cell>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s386"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">Target cell</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">H8</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Goal is to maximize interest earned.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">Changing cells</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">B14:G14</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Dollars invested in each type of CD.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">B15, E15, B16</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">Constraints</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">B14:G14&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Investment in each type of CD must be greater than</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">B15:B16&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">or equal to 0.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">E15&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">B18:H18&gt;=100000</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">Ending cash must be greater than or equal to</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s279"><Data ss:Type="String">$100,000.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">The optimal solution determined by Solver earns a total interest income of $16,531 by investing as much as</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">possible in six-month and three-month CDs, and then turns to one-month CDs. This solution satisfies all of the</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">constraints.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">Suppose, however, that you want to guarantee that you have enough cash in month 5 for an equipment</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">payment. Add a constraint that the average maturity of the investments held in month 1 should not be more</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s291"><Data ss:Type="String">than four months.</Data></Cell>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s291"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s275"/>
+ <Cell ss:StyleID="s276"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">The formula in cell B20 computes a total of the amounts invested in month 1 (B14, B15, and B16), weighted</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">by the maturities (1, 3, and 6 months), and then it subtracts from this amount the total investment, weighted by</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">4. If this quantity is zero or less, the average maturity will not exceed four months. To add this constraint,</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">restore the original values and then click <B>Solver</B><Font> on the </Font><B>Tools</B><Font> menu. Click </Font><B>Add</B><Font>. Type </Font><B>b20</B><Font> in the </Font><B>Cell</B><Font> </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s383"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40"><B>Reference</B><Font> box, type </Font><B>0</B><Font> in the </Font><B>Constraint</B><Font> box, and then click </Font><B>OK</B><Font>. To solve the problem, click </Font><B>Solve</B><Font>.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">To satisfy the four-month maturity constraint, Solver shifts funds from six-month CDs to three-month CDs. The</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">shifted funds now mature in month 4 and, according to the present plan, are reinvested in new three-month </Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">CDs. If you need the funds, however, you can keep the cash instead of reinvesting. The $56,896 turning</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">over in month 4 is more than sufficient for the equipment payment in month 5. You've traded about $460 in</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s271"><Data ss:Type="String">interest income to gain this flexibility.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ </Row>
+ <Row ss:Height="11.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;F"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>-4</HorizontalResolution>
+ <VerticalResolution>-4</VerticalResolution>
+ <NumberofCopies>-1</NumberofCopies>
+ </Print>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>116</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Portfolio of Securities">
+ <Names>
+ <NamedRange ss:Name="solver_adj"
+ ss:RefersTo="='Portfolio of Securities'!R10C5:R14C5" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_drv" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_est" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_itr" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs1"
+ ss:RefersTo="='Portfolio of Securities'!R10C5:R14C5" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs2" ss:RefersTo="='Portfolio of Securities'!R16C5"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lhs3" ss:RefersTo="='Portfolio of Securities'!R18C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lin" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_num" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_nwt" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_oldobj" ss:RefersTo="=0.1644" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_opt" ss:RefersTo="='Portfolio of Securities'!R18C5"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_pre" ss:RefersTo="=0.000001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel1" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel2" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rel3" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs1" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs2" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_rhs3" ss:RefersTo="=0.071" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_scl" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_sho" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tim" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tol" ss:RefersTo="=0.05" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_typ" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_val" ss:RefersTo="=0" ss:Hidden="1"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="78" x:FullColumns="1"
+ x:FullRows="1" ss:StyleID="s24" ss:DefaultRowHeight="10.5">
+ <Column ss:StyleID="s76" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="4"/>
+ <Column ss:Index="6" ss:StyleID="s76" ss:AutoFitWidth="0" ss:Width="46.5"/>
+ <Column ss:StyleID="s76" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="17.25"/>
+ <Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="36"/>
+ <Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="30"/>
+ <Column ss:StyleID="s24" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="243"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s75"><Data ss:Type="String">Example 5: Efficient stock portfolio.</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s388"><Data ss:Type="String">Find the weightings of stocks in an efficient portfolio that maximizes the portfolio rate of</Data></Cell>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s79"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s80"><Data ss:Type="String">return for a given level of risk. This worksheet uses the Sharpe single-index model; you</Data></Cell>
+ <Cell ss:StyleID="s81"/>
+ <Cell ss:StyleID="s81"/>
+ <Cell ss:StyleID="s81"/>
+ <Cell ss:StyleID="s81"/>
+ <Cell ss:StyleID="s81"/>
+ <Cell ss:StyleID="s81"/>
+ <Cell ss:StyleID="s82"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s83"><Data ss:Type="String">can also use the Markowitz method if you have covariance terms available.</Data></Cell>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s85"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="8.0625"/>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s86"><Data ss:Type="String">Risk-free rate</Data></Cell>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s87"><Data ss:Type="Number">0.06</Data></Cell>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s88"><Data ss:Type="String">Market variance</Data></Cell>
+ <Cell ss:StyleID="s78"/>
+ <Cell ss:StyleID="s89"><Data ss:Type="Number">0.03</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s90"><Data ss:Type="String">Market rate</Data></Cell>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s91"><Data ss:Type="Number">0.15</Data></Cell>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s92"><Data ss:Type="String">Maximum weight</Data></Cell>
+ <Cell ss:StyleID="s84"/>
+ <Cell ss:StyleID="s93"><Data ss:Type="Number">1</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="8.0625"/>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s94"/>
+ <Cell ss:StyleID="s95"><Data ss:Type="String">Beta</Data></Cell>
+ <Cell ss:StyleID="s95"><Data ss:Type="String">ResVar</Data></Cell>
+ <Cell ss:StyleID="s96"/>
+ <Cell ss:StyleID="s97"><Data ss:Type="String">Weight</Data></Cell>
+ <Cell ss:StyleID="s97"><Data ss:Type="String">*Beta</Data></Cell>
+ <Cell ss:StyleID="s98"><Data ss:Type="String">*Var.</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s99"><Data ss:Type="String">Stock A</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0.8</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0.04</Data></Cell>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s102"><Data ss:Type="Number">0.2</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s103" ss:Formula="=RC[-1]*RC[-4]"><Data ss:Type="Number">0.16000000000000003</Data></Cell>
+ <Cell ss:StyleID="s104" ss:Formula="=RC[-2]^2*RC[-4]"><Data ss:Type="Number">1.6000000000000003E-3</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s99"><Data ss:Type="String">Stock B</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">1</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0.2</Data></Cell>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s105"><Data ss:Type="Number">0.2</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s103" ss:Formula="=RC[-1]*RC[-4]"><Data ss:Type="Number">0.2</Data></Cell>
+ <Cell ss:StyleID="s104" ss:Formula="=RC[-2]^2*RC[-4]"><Data ss:Type="Number">8.0000000000000019E-3</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s99"><Data ss:Type="String">Stock C</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">1.8</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0.12</Data></Cell>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s105"><Data ss:Type="Number">0.2</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s103" ss:Formula="=RC[-1]*RC[-4]"><Data ss:Type="Number">0.36000000000000004</Data></Cell>
+ <Cell ss:StyleID="s104" ss:Formula="=RC[-2]^2*RC[-4]"><Data ss:Type="Number">4.8000000000000004E-3</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s99"><Data ss:Type="String">Stock D</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">2.2</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0.4</Data></Cell>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s105"><Data ss:Type="Number">0.2</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s103" ss:Formula="=RC[-1]*RC[-4]"><Data ss:Type="Number">0.44000000000000006</Data></Cell>
+ <Cell ss:StyleID="s104" ss:Formula="=RC[-2]^2*RC[-4]"><Data ss:Type="Number">1.6000000000000004E-2</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s99"><Data ss:Type="String">T-bills</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s100"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s106"><Data ss:Type="Number">0.2</Data><NamedCell
+ ss:Name="solver_lhs1"/><NamedCell ss:Name="solver_adj"/></Cell>
+ <Cell ss:StyleID="s103" ss:Formula="=RC[-1]*RC[-4]"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:StyleID="s104" ss:Formula="=RC[-2]^2*RC[-4]"><Data ss:Type="Number">0</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s107"/>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s108"/>
+ <Cell ss:StyleID="s108"/>
+ <Cell ss:StyleID="s109"/>
+ <Cell ss:Index="9" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s110"><Data ss:Type="String">Total</Data></Cell>
+ <Cell ss:StyleID="s111"/>
+ <Cell ss:StyleID="s350"/>
+ <Cell ss:StyleID="s351"/>
+ <Cell ss:StyleID="s112" ss:Formula="=SUM(R[-6]C:R[-2]C)"><Data ss:Type="Number">1</Data><NamedCell
+ ss:Name="solver_lhs2"/></Cell>
+ <Cell ss:StyleID="s352" ss:Formula="=SUM(R[-6]C:R[-2]C)"><Data ss:Type="Number">1.1600000000000001</Data></Cell>
+ <Cell ss:StyleID="s353" ss:Formula="=SUM(R[-6]C:R[-2]C)"><Data ss:Type="Number">3.0400000000000007E-2</Data></Cell>
+ <Cell ss:Index="9" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="3" ss:StyleID="s354"/>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s302"><Data ss:Type="String">Return</Data></Cell>
+ <Cell ss:StyleID="s101"/>
+ <Cell ss:StyleID="s355"><Data ss:Type="String">Variance</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="2" ss:StyleID="s24"/>
+ <Cell ss:StyleID="s113"><Data ss:Type="String">Portfolio Totals: </Data></Cell>
+ <Cell ss:StyleID="s114"/>
+ <Cell ss:StyleID="s303"
+ ss:Formula="=R[-12]C[-2]+(R[-11]C[-2]-R[-12]C[-2])*R[-2]C[1]"><Data
+ ss:Type="Number">0.1644</Data><NamedCell ss:Name="solver_opt"/></Cell>
+ <Cell ss:StyleID="s114"/>
+ <Cell ss:StyleID="s112" ss:Formula="=R[-12]C*R[-2]C[-1]^2+R[-2]C"><Data
+ ss:Type="Number">7.0768000000000011E-2</Data><NamedCell ss:Name="solver_lhs3"/></Cell>
+ </Row>
+ <Row ss:Index="20" ss:Height="11.25">
+ <Cell ss:StyleID="s115"><Data ss:Type="String">Maximize Return: A21:A29</Data></Cell>
+ <Cell ss:Index="4" ss:StyleID="s116"><Data ss:Type="String">Minimize Risk: D21:D29</Data></Cell>
+ </Row>
+ <Row ss:Height="11.25">
+ <Cell ss:StyleID="s345" ss:Formula="=MAX(R18C5)"><Data ss:Type="Number">0.1644</Data></Cell>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s345" ss:Formula="=MIN(R18C7)"><Data ss:Type="Number">7.0768000000000011E-2</Data></Cell>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s117"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=COUNT(R10C5:R14C5)"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s346" ss:Formula="=COUNT(R10C5:R14C5)"><Data ss:Type="Number">5</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=R10C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s347" ss:Formula="=R10C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=R11C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s347" ss:Formula="=R11C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=R12C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s347" ss:Formula="=R12C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=R13C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s347" ss:Formula="=R13C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=R14C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s347" ss:Formula="=R14C5&gt;=0"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s117"/>
+ <Cell ss:StyleID="s117"/>
+ </Row>
+ <Row>
+ <Cell ss:StyleID="s346" ss:Formula="=R16C5=1"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s347" ss:Formula="=R16C5=1"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row ss:Height="11.25">
+ <Cell ss:StyleID="s348" ss:Formula="=R18C7&lt;=0.071"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s349" ss:Formula="=R18C5&gt;=0.164"><Data ss:Type="Boolean">1</Data></Cell>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ <Cell ss:StyleID="s118"/>
+ </Row>
+ <Row ss:Height="12"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">One of the basic principles of investment management is diversification. By holding a portfolio of several</Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">stocks, for example, you can earn a rate of return that represents the average of the returns from the</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">individual stocks, while reducing your risk that any one stock will perform poorly.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Using this model, you can use Solver to find the allocation of funds to stocks that minimizes the portfolio</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">risk for a given rate of return, or that maximizes the rate of return for a given level of risk.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">This worksheet contains figures for beta (market-related risk) and residual variance for four stocks. In</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">addition, your portfolio includes investments in Treasury bills (T-bills), assumed to have a risk-free rate of</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">return and a variance of zero. Initially equal amounts (20 percent of the portfolio) are invested in each</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">security.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Use Solver to try different allocations of funds to stocks and T-bills to either maximize the portfolio rate of</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">return for a specified level of risk or minimize the risk for a given rate of return. With the initial allocation</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">of 20 percent across the board, the portfolio return is 16.4 percent and the variance is 7.1 percent.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:StyleID="s21">
+ <Cell ss:StyleID="s384"><Data ss:Type="String">Problem Specifications</Data></Cell>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s386"/>
+ <Cell ss:StyleID="Default"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Target cell</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">E18</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Goal is to maximize portfolio return.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Changing cells</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">E10:E14</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Weight of each stock.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Constraints</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">E10:E14&gt;=0</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Weights must be greater than or equal to 0.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">E16=1</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Weights must equal 1.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">G18&lt;=0.071</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Variance must be less than or equal to 0.071.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Beta for each stock</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">B10:B13</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Variance for each stock</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">C10:C13</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Cells D21:D29 contain the problem specifications to minimize risk for a required rate of return of 16.4</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">percent. To load these problem specifications into Solver, click <B>Solver</B><Font> on the </Font><B>Tools</B><Font> menu, click </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s383"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40"><B>Options</B><Font>, click </Font><B>Load Model</B><Font>, select cells D21:D29 on the worksheet, and then click </Font><B>OK</B><Font> until the</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s383"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40"><B>Solver Parameters</B><Font> dialog box is displayed. Click </Font><B>Solve</B><Font>. As you can see, Solver finds portfolio</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">allocations in both cases that surpass the rule of 20 percent across the board.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">You can earn a higher rate of return (17.1 percent) for the same risk, or you can reduce your risk without</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">giving up any return. These two allocations both represent efficient portfolios.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">Cells A21:A29 contain the original problem model. To reload this problem, click <B>Solver</B><Font> on the </Font><B>Tools</B><Font> </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">menu, click <B>Options</B><Font>, click </Font><B>Load Model</B><Font>, select cells A21:A29 on the worksheet, and then click </Font><B>OK</B><Font>. </Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Solver displays a message asking if you want to reset the current Solver option settings with the settings</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><ss:Data ss:Type="String"
+ xmlns="http://www.w3.org/TR/REC-html40">for the model you are loading. Click <B>OK</B><Font> to proceed.</Font></ss:Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ </Row>
+ <Row ss:Height="11.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;F"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>-4</HorizontalResolution>
+ <VerticalResolution>-4</VerticalResolution>
+ <NumberofCopies>0</NumberofCopies>
+ </Print>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>121</ActiveRow>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+ <Worksheet ss:Name="Engineering Design">
+ <Names>
+ <NamedRange ss:Name="solver_adj" ss:RefersTo="='Engineering Design'!R12C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_cvg" ss:RefersTo="=0.001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_drv" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_est" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_itr" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_lin" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_neg" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_num" ss:RefersTo="=0" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_nwt" ss:RefersTo="=1" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_opt" ss:RefersTo="='Engineering Design'!R15C7"
+ ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_pre" ss:RefersTo="=0.000001" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_scl" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_sho" ss:RefersTo="=2" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tim" ss:RefersTo="=100" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_tol" ss:RefersTo="=0.05" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_typ" ss:RefersTo="=3" ss:Hidden="1"/>
+ <NamedRange ss:Name="solver_val" ss:RefersTo="=0.09" ss:Hidden="1"/>
+ </Names>
+ <Table ss:ExpandedColumnCount="256" ss:ExpandedRowCount="46" x:FullColumns="1"
+ x:FullRows="1" ss:StyleID="s25" ss:DefaultRowHeight="10.5">
+ <Column ss:StyleID="s50" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="2"/>
+ <Column ss:Index="4" ss:StyleID="s50" ss:AutoFitWidth="0" ss:Width="46.5"/>
+ <Column ss:StyleID="s50" ss:AutoFitWidth="0" ss:Width="16.5"/>
+ <Column ss:StyleID="s50" ss:AutoFitWidth="0" ss:Width="31.5"/>
+ <Column ss:StyleID="s50" ss:AutoFitWidth="0" ss:Width="24"/>
+ <Column ss:StyleID="s50" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="16.5"/>
+ <Column ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="18"/>
+ <Column ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="35.25"/>
+ <Column ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="39.75"/>
+ <Column ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="27"/>
+ <Column ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="39.75" ss:Span="242"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s49"><Data ss:Type="String">Example 6: Value of a resistor in an electrical circuit.</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="12">
+ <Cell ss:StyleID="s356"><Data ss:Type="String">Find the value of a resistor in an electrical circuit that will dissipate the charge to 1</Data></Cell>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s52"/>
+ <Cell ss:StyleID="s53"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s357"><Data ss:Type="String">percent of its original value within one-twentieth of a second after the switch is closed.</Data></Cell>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s54"/>
+ <Cell ss:StyleID="s55"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="6"/>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s359"/>
+ <Cell ss:StyleID="s360"><Data ss:Type="String">Switch-&gt;</Data></Cell>
+ <Cell ss:StyleID="s361"/>
+ <Cell ss:StyleID="s362"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s363"/>
+ <Cell ss:StyleID="s371"/>
+ <Cell ss:StyleID="s371"/>
+ <Cell ss:StyleID="s364"/>
+ <Cell ss:Index="6" ss:StyleID="s56"><Data ss:Type="String">q0 =</Data></Cell>
+ <Cell ss:StyleID="s57"><Data ss:Type="Number">9</Data><NamedCell ss:Name="q0"/></Cell>
+ <Cell ss:StyleID="s58"><Data ss:Type="String">volts</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s301"><Data ss:Type="String">Color Coding</Data></Cell>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s292"/>
+ <Cell ss:StyleID="s293"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s365"/>
+ <Cell ss:StyleID="s358"/>
+ <Cell ss:StyleID="s366"/>
+ <Cell ss:StyleID="s364"/>
+ <Cell ss:Index="6" ss:StyleID="s59"><Data ss:Type="String">q[t] =</Data></Cell>
+ <Cell ss:StyleID="s60"><Data ss:Type="Number">0.09</Data></Cell>
+ <Cell ss:StyleID="s61"><Data ss:Type="String">volts</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s295"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s365"/>
+ <Cell ss:StyleID="s358"/>
+ <Cell ss:StyleID="s366"/>
+ <Cell ss:StyleID="s364"/>
+ <Cell ss:Index="6" ss:StyleID="s59"><Data ss:Type="String">t =</Data></Cell>
+ <Cell ss:StyleID="s60"><Data ss:Type="Number">0.05</Data><NamedCell
+ ss:Name="t_"/></Cell>
+ <Cell ss:StyleID="s61"><Data ss:Type="String">seconds</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s197"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Target cell</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s365"><Data ss:Type="String">Battery</Data></Cell>
+ <Cell ss:StyleID="s358"><Data ss:Type="String">Capacitor (C)</Data></Cell>
+ <Cell ss:StyleID="s366"/>
+ <Cell ss:StyleID="s364"><Data ss:Type="String">Inductor (L)</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s59"><Data ss:Type="String">L =</Data></Cell>
+ <Cell ss:StyleID="s60"><Data ss:Type="Number">8</Data><NamedCell ss:Name="L_"/></Cell>
+ <Cell ss:StyleID="s61"><Data ss:Type="String">henrys</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s365"/>
+ <Cell ss:StyleID="s358"/>
+ <Cell ss:StyleID="s366"/>
+ <Cell ss:StyleID="s364"/>
+ <Cell ss:Index="6" ss:StyleID="s59"><Data ss:Type="String">C =</Data></Cell>
+ <Cell ss:StyleID="s60"><Data ss:Type="Number">0.0001</Data><NamedCell
+ ss:Name="C_"/></Cell>
+ <Cell ss:StyleID="s61"><Data ss:Type="String">farads</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s146"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Changing cells</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s365"/>
+ <Cell ss:StyleID="s358"/>
+ <Cell ss:StyleID="s366"/>
+ <Cell ss:StyleID="s364"/>
+ <Cell ss:Index="6" ss:StyleID="s62"/>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63"/>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s297"/>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s363"/>
+ <Cell ss:StyleID="s371"/>
+ <Cell ss:StyleID="s371"><Data ss:Type="String">Resistor</Data></Cell>
+ <Cell ss:StyleID="s364"/>
+ <Cell ss:Index="6" ss:StyleID="s59"><Data ss:Type="String">R =</Data></Cell>
+ <Cell ss:StyleID="s64"><Data ss:Type="Number">300</Data><NamedCell
+ ss:Name="solver_adj"/><NamedCell ss:Name="R_"/></Cell>
+ <Cell ss:StyleID="s61"><Data ss:Type="String">ohms</Data></Cell>
+ <Cell ss:Index="10" ss:StyleID="s294"/>
+ <Cell ss:StyleID="s304"/>
+ <Cell ss:StyleID="s297"><Data ss:Type="String"> Constraints</Data></Cell>
+ <Cell ss:StyleID="s296"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s367"/>
+ <Cell ss:StyleID="s368"/>
+ <Cell ss:StyleID="s369"><Data ss:Type="String"> (R)</Data></Cell>
+ <Cell ss:StyleID="s370"/>
+ <Cell ss:Index="6" ss:StyleID="s62"/>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63"/>
+ <Cell ss:Index="10" ss:StyleID="s298"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s299"/>
+ <Cell ss:StyleID="s300"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:Index="6" ss:StyleID="s62"/>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="2" ss:StyleID="s65"><Data ss:Type="String">1/(L*C)</Data></Cell>
+ <Cell ss:StyleID="s57"/>
+ <Cell ss:StyleID="s66" ss:Formula="=1/(L_*C_)"><Data ss:Type="Number">1250</Data></Cell>
+ <Cell ss:Index="6" ss:StyleID="s67"><Data ss:Type="String">q[t] =</Data></Cell>
+ <Cell ss:StyleID="s68" ss:Formula="=R[5]C[-3]*R[3]C[-3]"><Data ss:Type="Number">0.2538891840303239</Data><NamedCell
+ ss:Name="solver_opt"/><NamedCell ss:Name="q_t_"/></Cell>
+ <Cell ss:StyleID="s69"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="2" ss:StyleID="s70"><Data ss:Type="String">(R/(2*L))^2</Data></Cell>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63" ss:Formula="=(R_/(2*L_))^2"><Data ss:Type="Number">351.5625</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="2" ss:StyleID="s70"><Data ss:Type="String">SQRT(B15-B16)</Data></Cell>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63" ss:Formula="=SQRT(R[-2]C-R[-1]C)"><Data ss:Type="Number">29.973947020704497</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="2" ss:StyleID="s70"><Data ss:Type="String">COS(T*B17)</Data></Cell>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63" ss:Formula="=COS(t_*R[-1]C)"><Data ss:Type="Number">7.2036527095114836E-2</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:Index="2" ss:StyleID="s70"><Data ss:Type="String" x:Ticked="1">-R*T/(2*L)</Data></Cell>
+ <Cell ss:StyleID="s60"/>
+ <Cell ss:StyleID="s63" ss:Formula="=-R_*t_/(2*L_)"><Data ss:Type="Number">-0.9375</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="11.25">
+ <Cell ss:StyleID="s72"/>
+ <Cell ss:StyleID="s73"><Data ss:Type="String">Q0*EXP(B19)</Data></Cell>
+ <Cell ss:StyleID="s74"/>
+ <Cell ss:StyleID="s69" ss:Formula="=q0*EXP(R[-1]C)"><Data ss:Type="Number">3.524450640091191</Data></Cell>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25"/>
+ <Row ss:AutoFitHeight="0" ss:Height="14.25">
+ <Cell ss:StyleID="s270"><Data ss:Type="String">This model depicts an electrical circuit containing a battery, switch, capacitor, resistor, and </Data></Cell>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s203"/>
+ <Cell ss:StyleID="s204"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">inductor. With the switch in the left position, the battery charges the capacitor. When the switch</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">is thrown to the right, the capacitor discharges through the inductor and the resistor, both of</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">which dissipate electrical energy.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Using Kirchhoff's second law, you can formulate and solve a differential equation to determine</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">how the charge on the capacitor varies over time. The formula relates the charge q[t] at time t</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">to the inductance L, resistance R, and capacitance C of the circuit elements.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Use Solver to pick an appropriate value for the resistor R (given values for the inductor L and</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">the capacitor C) that will dissipate the charge to one percent of its initial value within </Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">one-twentieth of a second after the time the switch is thrown.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:StyleID="s21">
+ <Cell ss:StyleID="s384"><Data ss:Type="String">Problem Specifications</Data></Cell>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s385"/>
+ <Cell ss:StyleID="s386"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Target cell</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">G15</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Goal is to set to value of 0.09.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Changing cell</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">G12</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Resistor.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">Constraints</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">D15:D20</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s382"><Data ss:Type="String">Algebraic solution to Kirchhoff's law.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">This problem and solution are appropriate for a narrow range of values; the function represented</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0">
+ <Cell ss:StyleID="s271"><Data ss:Type="String">by the charge on the capacitor over time is actually a damped sine wave.</Data></Cell>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s206"/>
+ <Cell ss:StyleID="s207"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:AutoFitHeight="0" ss:Height="5.25">
+ <Cell ss:StyleID="s208"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s277"/>
+ <Cell ss:StyleID="s278"/>
+ <Cell ss:StyleID="Default"/>
+ </Row>
+ <Row ss:Height="11.25"/>
+ </Table>
+ <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
+ <PageSetup>
+ <Header x:Data="&amp;F"/>
+ <Footer x:Data="Page &amp;P"/>
+ </PageSetup>
+ <Print>
+ <ValidPrinterInfo/>
+ <HorizontalResolution>-4</HorizontalResolution>
+ <VerticalResolution>-4</VerticalResolution>
+ <NumberofCopies>0</NumberofCopies>
+ </Print>
+ <DoNotDisplayGridlines/>
+ <Panes>
+ <Pane>
+ <Number>3</Number>
+ <ActiveRow>12</ActiveRow>
+ <ActiveCol>3</ActiveCol>
+ </Pane>
+ </Panes>
+ <ProtectObjects>False</ProtectObjects>
+ <ProtectScenarios>False</ProtectScenarios>
+ </WorksheetOptions>
+ </Worksheet>
+</Workbook>
diff --git a/testautomation/xml/optional/input/calc/ooo10/NatNumtest.sxc b/testautomation/xml/optional/input/calc/ooo10/NatNumtest.sxc
new file mode 100644
index 000000000000..608c1e9c01d4
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/NatNumtest.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/alien_attributes.sxc b/testautomation/xml/optional/input/calc/ooo10/alien_attributes.sxc
new file mode 100644
index 000000000000..4f9eb3c1ec72
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/alien_attributes.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/feat906.sxc b/testautomation/xml/optional/input/calc/ooo10/feat906.sxc
new file mode 100644
index 000000000000..40914fd7d22c
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/feat906.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/japan.sxc b/testautomation/xml/optional/input/calc/ooo10/japan.sxc
new file mode 100644
index 000000000000..6fec94e0b370
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/japan.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/korean.sxc b/testautomation/xml/optional/input/calc/ooo10/korean.sxc
new file mode 100644
index 000000000000..96a39db9a7d5
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/korean.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot1.sxc b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot1.sxc
new file mode 100644
index 000000000000..591839d4d743
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot1.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot2.sxc b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot2.sxc
new file mode 100644
index 000000000000..e20cd478c5bc
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot2.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot3.sxc b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot3.sxc
new file mode 100644
index 000000000000..278208d4e94b
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot3.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot4.sxc b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot4.sxc
new file mode 100644
index 000000000000..15a11a173c85
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/pagefields_datapilot4.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/simple_c.sxc b/testautomation/xml/optional/input/calc/ooo10/simple_c.sxc
new file mode 100644
index 000000000000..04746a435d83
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/simple_c.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/ooo10/trad_c.sxc b/testautomation/xml/optional/input/calc/ooo10/trad_c.sxc
new file mode 100644
index 000000000000..9d17c949ba35
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/ooo10/trad_c.sxc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/cellformats1.sdc b/testautomation/xml/optional/input/calc/so_binary/cellformats1.sdc
new file mode 100755
index 000000000000..44bcd6dc335b
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/cellformats1.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/cellformats2.sdc b/testautomation/xml/optional/input/calc/so_binary/cellformats2.sdc
new file mode 100755
index 000000000000..4d5cf6f2917b
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/cellformats2.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/cellformats2b.sdc b/testautomation/xml/optional/input/calc/so_binary/cellformats2b.sdc
new file mode 100755
index 000000000000..f7dccf6dc897
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/cellformats2b.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/cellformats3.sdc b/testautomation/xml/optional/input/calc/so_binary/cellformats3.sdc
new file mode 100755
index 000000000000..a71f5ca146aa
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/cellformats3.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/cellformats5.sdc b/testautomation/xml/optional/input/calc/so_binary/cellformats5.sdc
new file mode 100755
index 000000000000..f7467e43226c
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/cellformats5.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/cellformats6.sdc b/testautomation/xml/optional/input/calc/so_binary/cellformats6.sdc
new file mode 100755
index 000000000000..d392f5301862
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/cellformats6.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/chart_export.sdc b/testautomation/xml/optional/input/calc/so_binary/chart_export.sdc
new file mode 100755
index 000000000000..ae639e6665eb
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/chart_export.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/conditional_formatting.sdc b/testautomation/xml/optional/input/calc/so_binary/conditional_formatting.sdc
new file mode 100755
index 000000000000..ea8662b761e7
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/conditional_formatting.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/controls01.sdc b/testautomation/xml/optional/input/calc/so_binary/controls01.sdc
new file mode 100755
index 000000000000..322360256be3
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/controls01.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/database_ranges.sdc b/testautomation/xml/optional/input/calc/so_binary/database_ranges.sdc
new file mode 100755
index 000000000000..18c6b95edd81
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/database_ranges.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/filter_and_subtotals1.sdc b/testautomation/xml/optional/input/calc/so_binary/filter_and_subtotals1.sdc
new file mode 100755
index 000000000000..16aee62a3169
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/filter_and_subtotals1.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/filter_and_subtotals4.sdc b/testautomation/xml/optional/input/calc/so_binary/filter_and_subtotals4.sdc
new file mode 100755
index 000000000000..fde5d0e110b3
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/filter_and_subtotals4.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/matrixformula_and_notes.sdc b/testautomation/xml/optional/input/calc/so_binary/matrixformula_and_notes.sdc
new file mode 100755
index 000000000000..d5baf81aecb5
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/matrixformula_and_notes.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/calc/so_binary/password3.sdc b/testautomation/xml/optional/input/calc/so_binary/password3.sdc
new file mode 100755
index 000000000000..ba5ab110c3b5
--- /dev/null
+++ b/testautomation/xml/optional/input/calc/so_binary/password3.sdc
Binary files differ
diff --git a/testautomation/xml/optional/input/docbook/informaltable.001.xml b/testautomation/xml/optional/input/docbook/informaltable.001.xml
new file mode 100755
index 000000000000..65b4cbfb62f7
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.001.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.001</title>
+<releaseinfo role="CVS">$Id: informaltable.001.xml,v 1.2 2008-07-11 07:47:52 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| | B | | D |
++ A +........+ C +........+
+| | | | E |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c4a" colnum="4"/>
+<tbody>
+<row>
+ <entry morerows="1">A</entry>
+ <entry>B</entry>
+ <entry morerows="1">C</entry>
+ <entry>D</entry>
+</row>
+<row>
+ <entry namest="c4a">E</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.002.xml b/testautomation/xml/optional/input/docbook/informaltable.002.xml
new file mode 100755
index 000000000000..9de04b7129e0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.002.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.002</title>
+<releaseinfo role="CVS">$Id: informaltable.002.xml,v 1.2 2008-07-11 07:48:04 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| A | B | C | D |
++........+........+ + +
+| E | F | | |
++ +........+ + +
+| | G | | |
++ +........+........+........+
+| | H | | I |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c4b" colnum="4"/>
+<tbody>
+<row>
+ <entry>A</entry>
+ <entry>B</entry>
+ <entry morerows="2">C</entry>
+ <entry morerows="2">D</entry>
+</row>
+<row>
+ <entry morerows="2">E</entry>
+ <entry>F</entry>
+</row>
+<row>
+ <entry>G</entry>
+</row>
+<row>
+ <entry>H</entry>
+ <entry namest="c4b">I</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.003.xml b/testautomation/xml/optional/input/docbook/informaltable.003.xml
new file mode 100755
index 000000000000..e0f8c47e9a2a
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.003.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.003</title>
+<releaseinfo role="CVS">$Id: informaltable.003.xml,v 1.2 2008-07-11 07:48:14 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| A | B | C | D |
++........+ +........+ +
+| E | | F | |
++ + +........+........+
+| | | | G |
++........+........+........+........+
+| H | | I | J |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c3c" colnum="3"/>
+<colspec colname="c4c" colnum="4"/>
+<tbody>
+<row>
+ <entry>A</entry>
+ <entry morerows="2">B</entry>
+ <entry>C</entry>
+ <entry morerows="1">D</entry>
+</row>
+<row>
+ <entry morerows="1">E</entry>
+ <entry>F</entry>
+</row>
+<row>
+ <entry namest="c4c">G</entry>
+</row>
+<row>
+ <entry>H</entry>
+ <entry namest="c3c">I</entry>
+ <entry>J</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.004.xml b/testautomation/xml/optional/input/docbook/informaltable.004.xml
new file mode 100755
index 000000000000..76fafa95f57e
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.004.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.004</title>
+<releaseinfo role="CVS">$Id: informaltable.004.xml,v 1.2 2008-07-11 07:48:24 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+........+
+| A | | | | |
++ +........+........+........+........+
+| | B | | C |
++ +........+........+........+........+
+| | | D | F | |
++........+........+ +........+........+
+| | | | | E |
++........+........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="5">
+<colspec colname="c3d" colnum="3"/>
+<colspec colname="c4d" colnum="4"/>
+<colspec colname="c5d" colnum="5"/>
+<tbody>
+<row>
+ <entry morerows="2">A</entry>
+</row>
+<row>
+ <entry>B</entry>
+ <entry namest="c4d" nameend="c5d">C</entry>
+</row>
+<row>
+ <entry namest="c3d" morerows="1">D</entry>
+ <entry>F</entry>
+</row>
+<row>
+ <entry namest="c5d">E</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.005.xml b/testautomation/xml/optional/input/docbook/informaltable.005.xml
new file mode 100755
index 000000000000..2983d78998e1
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.005.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.005</title>
+<releaseinfo role="CVS">$Id: informaltable.005.xml,v 1.2 2008-07-11 07:48:36 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| | B | | D |
++ A +........+ C +........+
+| | | | E |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c4a" colnum="4"/>
+<tbody>
+<row>
+ <entry morerows="1">A</entry>
+ <entry>B</entry>
+ <entry morerows="1">C</entry>
+ <entry>D</entry>
+</row>
+<row>
+ <entry namest="c4a">E</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.006.xml b/testautomation/xml/optional/input/docbook/informaltable.006.xml
new file mode 100755
index 000000000000..d6e1c4562ee9
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.006.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.006</title>
+<releaseinfo role="CVS">$Id: informaltable.006.xml,v 1.2 2008-07-11 07:48:46 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| A | | | |
++ +........+........+........+
+| | B | | C |
++ +........+........+........+
+| | | D | F |
++........+........+ +........+
+| | | | E |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c3d" colnum="3"/>
+<colspec colname="c4d" colnum="4"/>
+<tbody>
+<row>
+ <entry morerows="2">A</entry>
+</row>
+<row>
+ <entry>B</entry>
+ <entry namest="c4d">C</entry>
+</row>
+<row>
+ <entry namest="c3d" morerows="1">D</entry>
+ <entry>F</entry>
+</row>
+<row>
+ <entry namest="c4d">E</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.007.xml b/testautomation/xml/optional/input/docbook/informaltable.007.xml
new file mode 100755
index 000000000000..5becb5ff3e2c
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.007.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.007</title>
+<releaseinfo role="CVS">$Id: informaltable.007.xml,v 1.2 2008-07-11 07:48:55 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+........+
+| A | | B |
++........+........+........+........+........+
+| X | | |
++........+ C +........+
+| Y | | |
++........+........+........+........+........+
+| D | | E |
++........+........+........+........+........+
+| F | G | H | I | J |
++........+........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="5">
+<colspec colname="c1c"/>
+<colspec colname="c2c"/>
+<colspec colname="c3c"/>
+<colspec colname="c4c"/>
+<colspec colname="c5c"/>
+<tbody>
+<row>
+ <entry namest="c1c" nameend="c2c">A</entry>
+ <entry namest="c4c" nameend="c5c">B</entry>
+</row>
+<row>
+ <entry>X</entry>
+ <entry namest="c2c" nameend="c4c" morerows="1">C</entry>
+</row>
+<row>
+ <entry>Y</entry>
+</row>
+<row>
+ <entry namest="c1c" nameend="c2c">D</entry>
+ <entry namest="c4c" nameend="c5c">E</entry>
+</row>
+<row>
+ <entry>F</entry>
+ <entry>G</entry>
+ <entry>H</entry>
+ <entry>I</entry>
+ <entry>J</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.008.xml b/testautomation/xml/optional/input/docbook/informaltable.008.xml
new file mode 100755
index 000000000000..48818aa072e2
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.008.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.008</title>
+<releaseinfo role="CVS">$Id: informaltable.008.xml,v 1.2 2008-07-11 07:49:06 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+........+
+| A | | B |
++........+........+........+........+........+
+| X | | |
++........+ C +........+
+| Y | | |
++........+........+........+........+........+
+| D | | E |
++........+........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="5">
+<colspec colname="c1c"/>
+<colspec colname="c2c"/>
+<colspec colname="c3c"/>
+<colspec colname="c4c"/>
+<colspec colname="c5c"/>
+<tbody>
+<row>
+ <entry namest="c1c" nameend="c2c">A</entry>
+ <entry namest="c4c" nameend="c5c">B</entry>
+</row>
+<row>
+ <entry>X</entry>
+ <entry namest="c2c" nameend="c4c" morerows="1">C</entry>
+</row>
+<row>
+ <entry>Y</entry>
+</row>
+<row>
+ <entry namest="c1c" nameend="c2c">D</entry>
+ <entry namest="c4c" nameend="c5c">E</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.009.xml b/testautomation/xml/optional/input/docbook/informaltable.009.xml
new file mode 100755
index 000000000000..7d0cc40812f2
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.009.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.009</title>
+<releaseinfo role="CVS">$Id: informaltable.009.xml,v 1.2 2008-07-11 07:49:16 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+........+
+| A | | B |
++........+........+........+........+........+
+| | C | |
++........+........+........+........+........+
+| D | | E |
++........+........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="5">
+<colspec colname="c1c"/>
+<colspec colname="c2c"/>
+<colspec colname="c3c"/>
+<colspec colname="c4c"/>
+<colspec colname="c5c"/>
+<tbody>
+<row>
+ <entry namest="c1c" nameend="c2c">A</entry>
+ <entry namest="c4c" nameend="c5c">B</entry>
+</row>
+<row>
+ <entry namest="c2c" nameend="c4c">C</entry>
+</row>
+<row>
+ <entry namest="c1c" nameend="c2c">D</entry>
+ <entry namest="c4c" nameend="c5c">E</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.010.xml b/testautomation/xml/optional/input/docbook/informaltable.010.xml
new file mode 100755
index 000000000000..f161073d2328
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.010.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.010</title>
+<releaseinfo role="CVS">$Id: informaltable.010.xml,v 1.2 2008-07-11 07:49:26 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| A | | | F |
++........+........+........+........+
+| | B | |
++........+........+ D +
+| C | | |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c1a" colnum="1"/>
+<colspec colname="c2a" colnum="2"/>
+<colspec colname="c3a" colnum="3"/>
+<colspec colname="c4a" colnum="4"/>
+<tbody>
+<row>
+ <entry>A</entry>
+ <entry colname="c4a">F</entry>
+</row>
+<row>
+ <entry colname="c2a">B</entry>
+ <entry namest="c3a" nameend="c4a" morerows="1">D</entry>
+</row>
+<row>
+ <entry>C</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.011.xml b/testautomation/xml/optional/input/docbook/informaltable.011.xml
new file mode 100755
index 000000000000..5ed718934be1
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.011.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.011</title>
+<releaseinfo role="CVS">$Id: informaltable.011.xml,v 1.2 2008-07-11 07:49:36 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+
+| | | | F |
++ A +........+........+........+
+| | B |
++........+ +
+| C | |
++........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="4">
+<colspec colname="c1a" colnum="1"/>
+<colspec colname="c2a" colnum="2"/>
+<colspec colname="c3a" colnum="3"/>
+<colspec colname="c4a" colnum="4"/>
+<tbody>
+<row>
+ <entry morerows="1">A</entry>
+ <entry colname="c4a">F</entry>
+</row>
+<row>
+ <entry namest="c2a" nameend="c4a" morerows="1">B</entry>
+</row>
+<row>
+ <entry>C</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.012.xml b/testautomation/xml/optional/input/docbook/informaltable.012.xml
new file mode 100755
index 000000000000..bffc2c3c4f9e
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.012.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.012</title>
+<releaseinfo role="CVS">$Id: informaltable.012.xml,v 1.2 2008-07-11 07:49:46 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+
+| A | | |
++........+........+........+
+| | B |
++........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="3">
+<colspec colname="c2a" colnum="2"/>
+<colspec colname="c3a" colnum="3"/>
+<tbody>
+<row>
+ <entry>A</entry>
+</row>
+<row>
+ <entry namest="c2a" nameend="c3a">B</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.013.xml b/testautomation/xml/optional/input/docbook/informaltable.013.xml
new file mode 100755
index 000000000000..574e3f2cd341
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.013.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.013</title>
+<releaseinfo role="CVS">$Id: informaltable.013.xml,v 1.2 2008-07-11 07:49:55 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+........+
+| A | | | | |
++........+........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="5">
+<tbody>
+<row>
+ <entry>A</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/informaltable.014.xml b/testautomation/xml/optional/input/docbook/informaltable.014.xml
new file mode 100755
index 000000000000..6b36611b77de
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/informaltable.014.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: informaltable.014</title>
+<releaseinfo role="CVS">$Id: informaltable.014.xml,v 1.2 2008-07-11 07:50:04 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!--
++........+........+........+........+........+
+| A | | | | |
++ +........+........+........+........+
+| | B | | C |
++ +........+........+........+........+
+| | | D | G | |
++........+........+ +........+........+
+| | | | | E |
++........+........+........+........+........+
+| | | F |
++........+........+........+........+........+
+-->
+
+<informaltable frame="all">
+<tgroup cols="5">
+<colspec colname="c3d" colnum="3"/>
+<colspec colname="c4d" colnum="4"/>
+<colspec colname="c5d" colnum="5"/>
+<tbody>
+<row>
+ <entry morerows="2">A</entry>
+</row>
+<row>
+ <entry>B</entry>
+ <entry namest="c4d" nameend="c5d">C</entry>
+</row>
+<row>
+ <entry namest="c3d" morerows="1">D</entry>
+ <entry>G</entry>
+</row>
+<row>
+ <entry namest="c5d">E</entry>
+</row>
+<row>
+ <entry namest="c3d" nameend="c5d">F</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/inline.001.xml b/testautomation/xml/optional/input/docbook/inline.001.xml
new file mode 100755
index 000000000000..d8edcc77f0e0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/inline.001.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article id="article">
+<articleinfo>
+<title>Unit Test: inline.001.xml</title>
+<releaseinfo role="CVS">$Id: inline.001.xml,v 1.2 2008-07-11 07:50:15 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article tests inline objects.</para>
+
+<para>This is a <phrase role="red">red phrase</phrase>.
+This <emphasis role="strong">emphasis is strong</emphasis>.
+</para>
+
+<section><title>Trademarks</title>
+
+<para><trademark>This is trademarked</trademark>.
+<trademark class="copyright">This is copyrighted</trademark>.
+<trademark class="registered">This is a registered trademark</trademark>.
+<trademark class="service">This is is a service mark</trademark>.</para>
+</section>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/itemizedlist.001.xml b/testautomation/xml/optional/input/docbook/itemizedlist.001.xml
new file mode 100755
index 000000000000..cde6add71f1b
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/itemizedlist.001.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: itemizedlist.001</title>
+<releaseinfo role="CVS">$Id: itemizedlist.001.xml,v 1.2 2008-07-11 07:50:25 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<itemizedlist><title>YE OLDE ITEMIZEDLIST</title>
+<listitem><para>Item 1</para></listitem>
+<listitem><para>Item 1</para>
+<variablelist termlength="3pc">
+<varlistentry>
+<term>A</term><listitem><para>xxxxx</para></listitem></varlistentry>
+<varlistentry>
+<term>B</term><listitem><para>xxxxx</para></listitem></varlistentry>
+</variablelist>
+</listitem>
+<listitem><para>Item 4</para>
+</listitem>
+</itemizedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/itemizedlist.002.xml b/testautomation/xml/optional/input/docbook/itemizedlist.002.xml
new file mode 100755
index 000000000000..062a5c8eeaa8
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/itemizedlist.002.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: itemizedlist.002</title>
+<releaseinfo role="CVS">$Id: itemizedlist.002.xml,v 1.2 2008-07-11 07:50:35 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<itemizedlist>
+ <listitem><para>Level 1</para>
+ <itemizedlist>
+ <listitem><para>Level 2</para>
+ <itemizedlist>
+ <listitem id="someOtherILI"><para>Level 3</para>
+ <itemizedlist>
+ <listitem><para>Level 4</para>
+ <itemizedlist mark="disc">
+ <listitem><para>Level 5</para>
+ <itemizedlist mark="disc">
+ <listitem override="round"><para>Level 6, override=round</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</listitem>
+</itemizedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/itemizedlist.003.xml b/testautomation/xml/optional/input/docbook/itemizedlist.003.xml
new file mode 100755
index 000000000000..e6082c915d21
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/itemizedlist.003.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: itemizedlist.003</title>
+<releaseinfo role="CVS">$Id: itemizedlist.003.xml,v 1.2 2008-07-11 07:50:45 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<itemizedlist>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+</itemizedlist>
+
+<orderedlist>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+ <listitem><para>some text (not compact)</para></listitem>
+</orderedlist>
+
+<itemizedlist spacing="compact">
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+</itemizedlist>
+
+<orderedlist spacing="compact">
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+ <listitem><para>some text (compact)</para></listitem>
+</orderedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/link.001.xml b/testautomation/xml/optional/input/docbook/link.001.xml
new file mode 100755
index 000000000000..1a276bce0070
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/link.001.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: link.001</title>
+<releaseinfo role="CVS">$Id: link.001.xml,v 1.2 2008-07-11 07:50:54 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<section id="section"><title>Section Title</title>
+
+<para>A <link linkend="section">self-referential link</link>.</para>
+
+<para>A link without content: <link linkend="section2"/>.</para>
+
+<para>A link without content, but with an xreflabel:
+<link linkend="section2" xreflabel="stb"/>.</para>
+
+<para>A link with content and an xreflabel:
+<link linkend="section2" xreflabel="stb">here</link>.</para>
+
+</section>
+
+<section id="section2">
+<title>A Very Long Section Title That I Don't Want To Use For My XRef</title>
+<titleabbrev id="stb">Long Section Title</titleabbrev>
+
+<para>Some text with a <link linkend="section">link back</link> to the
+first section.</para>
+
+</section>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/literallayout.001.xml b/testautomation/xml/optional/input/docbook/literallayout.001.xml
new file mode 100755
index 000000000000..1fe06d5a197f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/literallayout.001.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: literallayout.001</title>
+<releaseinfo role="CVS">$Id: literallayout.001.xml,v 1.2 2008-07-11 07:51:05 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<literallayout>LiteralLayout: This is a test
+ Only a test.
+Had this been a real emegency,
+ We would have fled in terror
+And you would not have been informed.</literallayout>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/literallayout.002.xml b/testautomation/xml/optional/input/docbook/literallayout.002.xml
new file mode 100755
index 000000000000..008f37794fc8
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/literallayout.002.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: literallayout.002</title>
+<releaseinfo role="CVS">$Id: literallayout.002.xml,v 1.2 2008-07-11 07:51:14 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<literallayout>LiteralLayout: This is a test
+ This is a test with <emphasis> embedded
+ markup</emphasis>; but still
+ Only a test.
+Had this been a real emegency,
+ We would have fled in terror
+And you would not have been informed.</literallayout>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/literallayout.003.xml b/testautomation/xml/optional/input/docbook/literallayout.003.xml
new file mode 100755
index 000000000000..9901e3bd4f8b
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/literallayout.003.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: literallayout.003</title>
+<releaseinfo role="CVS">$Id: literallayout.003.xml,v 1.2 2008-07-11 07:51:25 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<literallayout class="monospaced">LiteralLayout(monospaced): This is a test
+ Only a test.
+Had this been a real emegency,
+ We would have fled in terror
+And you would not have been informed.</literallayout>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/lot.001.xml b/testautomation/xml/optional/input/docbook/lot.001.xml
new file mode 100755
index 000000000000..ccf6220aedf4
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/lot.001.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+</para>">
+]>
+<book id="book">
+<bookinfo>
+<title>Unit Test: lot.001</title>
+<releaseinfo role="CVS">$Id: lot.001.xml,v 1.2 2008-07-11 07:51:35 rt Exp $
+</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<chapter id="chap1"><title>First Chapter</title>
+
+&blah;
+
+<figure id="figduck1"><title>A Test Figure</title>
+<programlisting>
+A figure. Just to test the numeration.</programlisting>
+</figure>
+
+<section><title>First Section</title>
+
+&blah;
+
+</section>
+</chapter>
+
+<chapter id="chap2"><title>Second Chapter</title>
+
+&blah;
+
+<figure id="figduck2"><title>A Test Figure</title>
+<programlisting>
+A figure. Just to test the numeration.</programlisting>
+</figure>
+
+<sidebar><title>A Sidebar</title>
+
+&blah;
+
+<figure id="figduck3"><title>A Test Figure</title>
+<programlisting>
+A figure. Just to test the numeration.</programlisting>
+</figure>
+
+&blah;
+
+</sidebar>
+</chapter>
+</book>
diff --git a/testautomation/xml/optional/input/docbook/mathml.001.xml b/testautomation/xml/optional/input/docbook/mathml.001.xml
new file mode 100755
index 000000000000..8bb633fe820d
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/mathml.001.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook MathML Module V1.0//EN"
+ "http://www.oasis-open.org/docbook/xml/mathml/1.0/dbmathml.dtd">
+
+<article id="article">
+<articleinfo>
+<title>Unit Test: mathml.001.xml</title>
+<releaseinfo role="CVS">$Id: mathml.001.xml,v 1.2 2008-07-11 07:51:46 rt Exp $</releaseinfo>
+</articleinfo>
+
+<para>The following equation is in MathML:</para>
+
+<informalequation>
+ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
+ <mml:apply><mml:divide/></mml:apply>
+ </mml:math>
+</informalequation>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/methodsynopsis.001.xml b/testautomation/xml/optional/input/docbook/methodsynopsis.001.xml
new file mode 100755
index 000000000000..2ec8cfa227a0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/methodsynopsis.001.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article id="article">
+<articleinfo>
+<title>Unit Test: methodsynopsis.001.xml</title>
+<releaseinfo role="CVS">$Id: methodsynopsis.001.xml,v 1.2 2008-07-11 07:51:56 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Here's a <sgmltag>methodsynopsis</sgmltag> in a <sgmltag>classsynopsis</sgmltag>:
+</para>
+
+<classsynopsis>
+<ooclass>
+<classname>Foo</classname>
+</ooclass>
+<methodsynopsis>
+<modifier>public</modifier>
+<modifier>static</modifier>
+<type>double</type>
+<methodname>getQuote</methodname>
+<methodparam>
+<type>String</type>
+<parameter>symbol</parameter>
+</methodparam>
+<methodparam>
+<type>double</type>
+<parameter>price</parameter>
+</methodparam>
+</methodsynopsis>
+</classsynopsis>
+
+<para>Here's a <sgmltag>methodsynopsis</sgmltag>
+<emphasis>outside</emphasis> a <sgmltag>classsynopsis</sgmltag>:
+</para>
+
+<methodsynopsis>
+<modifier>public</modifier>
+<modifier>static</modifier>
+<type>double</type>
+<methodname>getQuote</methodname>
+<methodparam>
+<type>String</type>
+<parameter>symbol</parameter>
+</methodparam>
+<methodparam>
+<type>double</type>
+<parameter>price</parameter>
+</methodparam>
+</methodsynopsis>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/note.001.xml b/testautomation/xml/optional/input/docbook/note.001.xml
new file mode 100755
index 000000000000..214c5466b175
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/note.001.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: note.001</title>
+<releaseinfo role="CVS">$Id: note.001.xml,v 1.2 2008-07-11 07:52:06 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<note>
+<title>Who can do this</title>
+<para>All operators</para>
+</note>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/olink.001.xml b/testautomation/xml/optional/input/docbook/olink.001.xml
new file mode 100755
index 000000000000..e022911ef1fc
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/olink.001.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!ENTITY olink.001.xml SYSTEM "olink.001.xml" NDATA SGML>
+]>
+<article>
+<articleinfo>
+<title>Unit Test: olink.001</title>
+<releaseinfo role="CVS">$Id: olink.001.xml,v 1.2 2008-07-11 07:52:21 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+<modespec id="olink">file:///sourceforge/projects/docbook/testdocs/tests/olink.001.html</modespec>
+</articleinfo>
+
+<para>This is an <olink targetdocent="olink.001.xml" linkmode="olink">OLink</olink>
+with a linkmode. (It is self-referential).</para>
+
+<para>This is an <olink targetdocent="olink.001.xml">OLink</olink>
+without a linkmode. (It is also self-referential).</para>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/orderedlist.001.xml b/testautomation/xml/optional/input/docbook/orderedlist.001.xml
new file mode 100755
index 000000000000..c224975683f0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/orderedlist.001.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: orderedlist.001</title>
+<releaseinfo role="CVS">$Id: orderedlist.001.xml,v 1.2 2008-07-11 07:52:30 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<orderedlist>
+ <listitem><para>Level 1</para>
+ <orderedlist>
+ <listitem><para>Level 2</para>
+ <orderedlist>
+ <listitem id="someOLI"><para>Level 3</para>
+ <orderedlist>
+ <listitem><para>Level 4</para>
+ <orderedlist>
+ <listitem><para>Level 5</para>
+ <orderedlist>
+ <listitem override="13"><para>Level 6, override=13</para>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+</listitem>
+</orderedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/orderedlist.002.xml b/testautomation/xml/optional/input/docbook/orderedlist.002.xml
new file mode 100755
index 000000000000..47715b2761e3
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/orderedlist.002.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: orderedlist.002</title>
+<releaseinfo role="CVS">$Id: orderedlist.002.xml,v 1.2 2008-07-11 07:52:41 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<orderedlist numeration="loweralpha">
+ <listitem><para>Level 1, numeration="loweralpha"</para>
+ <orderedlist>
+ <listitem><para>Level 2</para>
+ <orderedlist>
+ <listitem><para>Level 3</para>
+ <orderedlist>
+ <listitem><para>Level 4</para>
+ <orderedlist>
+ <listitem><para>Level 5</para>
+ <orderedlist>
+ <listitem><para>Level 6</para>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist>
+</listitem>
+</orderedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/procedure.001.xml b/testautomation/xml/optional/input/docbook/procedure.001.xml
new file mode 100755
index 000000000000..db3ecd0a2859
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/procedure.001.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: procedure.001</title>
+<releaseinfo role="CVS">$Id: procedure.001.xml,v 1.2 2008-07-11 07:52:51 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<procedure id="proc"><title>Procedure Title</title>
+<step><para>Press MENUS.</para>
+</step>
+<step id="step-x"><para>Press MENUS.</para>
+</step>
+<step><para>Press MENUS.</para>
+</step>
+<step><para>Press MENUS.</para>
+</step>
+<step><para>Select SETUP.</para>
+<substeps>
+<step><para>Should be an <quote>a</quote></para>
+</step>
+<step id="step-y"><para>Should be a <quote>b</quote></para>
+</step>
+<step><para>Should be a <quote>c</quote></para>
+</step>
+<step><para>Should be a <quote>d</quote></para>
+</step>
+<step><para>should be an <quote>e</quote></para>
+<substeps>
+<step><para>should be an <quote>i</quote></para>
+</step>
+<step id="step-z"><para>should be an <quote>ii</quote></para>
+</step>
+</substeps>
+</step>
+</substeps>
+</step>
+</procedure>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/procedure.003.xml b/testautomation/xml/optional/input/docbook/procedure.003.xml
new file mode 100755
index 000000000000..b8fb8e46c724
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/procedure.003.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: procedure.003</title>
+<releaseinfo role="CVS">$Id: procedure.003.xml,v 1.2 2008-07-11 07:53:05 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<procedure>
+<para>Do the following:</para>
+<step><para>One step?</para>
+</step>
+</procedure>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/productionset.001.xml b/testautomation/xml/optional/input/docbook/productionset.001.xml
new file mode 100755
index 000000000000..1be211186159
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/productionset.001.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
+ "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: productionset.001</title>
+<releaseinfo role="CVS">$Id: productionset.001.xml,v 1.2 2008-07-11 07:53:15 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<productionset><title>Arithemetic Expressions</title>
+<production id="ebnf.expression">
+ <lhs>Expression</lhs>
+ <rhs><nonterminal def="#ebnf.arith">ArithExpression</nonterminal> |
+ <nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ <lineannotation>Does this grammar actually get precedence right?
+ </lineannotation>
+ </rhs>
+</production>
+<production id="ebnf.arith">
+ <lhs>ArithExpression</lhs>
+ <rhs><nonterminal def="#ebnf.expression">Expression</nonterminal>
+ '+'
+ <nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ </rhs>
+<!--
+ <rhs><nonterminal def="#ebnf.expression">Expression</nonterminal>
+ '-'
+ <nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ </rhs>
+-->
+</production>
+<production id="ebnf.mult">
+ <lhs>MultExpression</lhs>
+ <rhs><nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ '*'
+ <nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ </rhs>
+<!--
+ <rhs>
+ <nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ '/'
+ <nonterminal def="#ebnf.mult">MultExpression</nonterminal>
+ </rhs>
+-->
+ <constraint linkend="div0"/>
+<!--
+ <rhs>
+ <nonterminal def="#ebnf.number">Number</nonterminal>
+ </rhs>
+-->
+</production>
+<production id="ebnf.number">
+ <lhs>Number</lhs>
+ <rhs>[0-9]+</rhs>
+</production>
+</productionset>
+
+<constraintdef id="div0" role="Err">
+<title>Division by Zero</title>
+<para>Division by zero is an error.</para>
+</constraintdef>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/productionset.002.xml b/testautomation/xml/optional/input/docbook/productionset.002.xml
new file mode 100755
index 000000000000..c526639a7f12
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/productionset.002.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
+ "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: productionset.002</title>
+<releaseinfo role="CVS">$Id: productionset.002.xml,v 1.2 2008-07-11 07:53:26 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<productionset><title>Character Range</title>
+<production id="NT-Char">
+<lhs>Char</lhs>
+<rhs>#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
+<!-- The above line break in the source file has nothing to do with the
+line breaks in the output. -->
+| [#x10000-#x10FFFF]
+<lineannotation>any Unicode character, excluding the surrogate
+blocks, FFFE, and FFFF.
+</lineannotation>
+</rhs>
+</production>
+</productionset>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/productionset.003.xml b/testautomation/xml/optional/input/docbook/productionset.003.xml
new file mode 100755
index 000000000000..ac54f518c1b7
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/productionset.003.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
+ "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: productionset.003</title>
+<releaseinfo role="CVS">$Id: productionset.003.xml,v 1.2 2008-07-11 07:53:37 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<productionset><title>Standalone Document Declaration</title>
+<production id="NT-SDDecl">
+<lhs>SDDecl</lhs>
+<rhs><nonterminal def="#NT-S">S</nonterminal> 'standalone' <nonterminal def="#NT-Eq">Eq</nonterminal>
+<!-- The above line break in the source file has nothing to do with the
+line breaks in the output. -->
+(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
+</rhs>
+<constraint linkend="check-rmd"/>
+</production>
+</productionset>
+
+<constraintdef id="check-rmd" role="VC">
+<title>Standalone Document Declaration</title>
+<para>Some description...</para>
+</constraintdef>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/productionset.004.xml b/testautomation/xml/optional/input/docbook/productionset.004.xml
new file mode 100755
index 000000000000..f907b59707f9
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/productionset.004.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
+ "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: productionset.004</title>
+<releaseinfo role="CVS">$Id: productionset.004.xml,v 1.2 2008-07-11 07:53:47 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<productionset>
+<production id="NT-SDDecl">
+<lhs>SDDecl</lhs>
+<rhs><nonterminal def="#NT-S">S</nonterminal> 'standalone' <nonterminal def="#NT-Eq">Eq</nonterminal>
+<!-- The above line break in the source file has nothing to do with the
+line breaks in the output. -->
+(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
+</rhs>
+<constraint linkend="check-rmd"/>
+</production>
+<production id="NT-element">
+<lhs>element</lhs>
+<rhs>
+<nonterminal def="#NT-EmptyElemTag">EmptyElemTag</nonterminal>
+<sbr/><!-- There will be a line break in the output because of the sbr. -->
+| <nonterminal def="#NT-STag">STag</nonterminal> <nonterminal def="#NT-content">content</nonterminal>
+<!-- The above line break has nothing to do with the output. -->
+<nonterminal def="#NT-SDDecl"/>
+</rhs>
+<constraint linkend="GIMatch"/>
+<constraint linkend="elementvalid"/>
+</production>
+<productionrecap linkend="NT-SDDecl"/>
+</productionset>
+
+<constraintdef id="GIMatch" role="WFC">
+<title>Element Type Match</title>
+<para>Some description...</para>
+</constraintdef>
+
+<constraintdef id="elementvalid" role="VC">
+<title>Element Valid</title>
+<para>Some description...</para>
+</constraintdef>
+
+<constraintdef id="check-rmd" role="VC">
+<title>Standalone Document Declaration</title>
+<para>Some description...</para>
+</constraintdef>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/productionset.005.xml b/testautomation/xml/optional/input/docbook/productionset.005.xml
new file mode 100755
index 000000000000..2ea062b9a704
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/productionset.005.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook EBNF Module V1.0//EN"
+ "http://www.oasis-open.org/docbook/xml/ebnf/1.0/dbebnf.dtd">
+<book>
+<bookinfo>
+<title>Unit Test: productionset.005</title>
+<releaseinfo role="CVS">$Id: productionset.005.xml,v 1.2 2008-07-11 07:53:57 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<preface><title>Preface</title>
+<para>This book tests EBNF constraint links that cross chunk boundaries.</para>
+</preface>
+
+<chapter><title>EBNF</title>
+
+<productionset>
+<production id="NT-SDDecl">
+<lhs>SDDecl</lhs>
+<rhs><nonterminal def="#NT-S">S</nonterminal> 'standalone' <nonterminal def="#NT-Eq">Eq</nonterminal>
+<!-- The above line break in the source file has nothing to do with the
+line breaks in the output. -->
+(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
+</rhs>
+<constraint linkend="check-rmd"/>
+</production>
+<production id="NT-element">
+<lhs>element</lhs>
+<rhs>
+<nonterminal def="#NT-EmptyElemTag">EmptyElemTag</nonterminal>
+<sbr/><!-- There will be a line break in the output because of the sbr. -->
+| <nonterminal def="#NT-STag">STag</nonterminal> <nonterminal def="#NT-content">content</nonterminal>
+<!-- The above line break has nothing to do with the output. -->
+<nonterminal def="#NT-SDDecl"/>
+</rhs>
+<constraint linkend="GIMatch"/>
+<constraint linkend="elementvalid"/>
+</production>
+<productionrecap linkend="NT-SDDecl"/>
+</productionset>
+
+</chapter>
+
+<chapter><title>Constraints</title>
+
+<constraintdef id="GIMatch" role="WFC">
+<title>Element Type Match</title>
+<para>Some description...</para>
+</constraintdef>
+
+<constraintdef id="elementvalid" role="VC">
+<title>Element Valid</title>
+<para>Some description...</para>
+</constraintdef>
+
+<constraintdef id="check-rmd" role="VC">
+<title>Standalone Document Declaration</title>
+<para>Some description...</para>
+</constraintdef>
+
+<constraintdef id="NT-S">
+<title>NT-S</title>
+<para>Just for link integrity...</para>
+</constraintdef>
+
+<constraintdef id="NT-Eq">
+<title>NT-Eq</title>
+<para>Just for link integrity...</para>
+</constraintdef>
+
+<constraintdef id="NT-EmptyElemTag">
+<title>NT-EmptyElemTag</title>
+<para>Just for link integrity...</para>
+</constraintdef>
+
+<constraintdef id="NT-STag">
+<title>NT-STag</title>
+<para>Just for link integrity...</para>
+</constraintdef>
+
+<constraintdef id="NT-content">
+<title>NT-content</title>
+<para>Just for link integrity...</para>
+</constraintdef>
+
+</chapter>
+</book>
diff --git a/testautomation/xml/optional/input/docbook/programlisting.001.xml b/testautomation/xml/optional/input/docbook/programlisting.001.xml
new file mode 100755
index 000000000000..33c0332eb9dc
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/programlisting.001.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: programlisting.001</title>
+<releaseinfo role="CVS">$Id: programlisting.001.xml,v 1.2 2008-07-11 07:54:08 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<programlisting linenumbering="numbered">ProgramListing: This is a test
+ Only a test.
+Had this been a real emegency,
+ We would have fled in terror
+And you would not have been informed.</programlisting>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/programlisting.002.xml b/testautomation/xml/optional/input/docbook/programlisting.002.xml
new file mode 100755
index 000000000000..a3710469b3c0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/programlisting.002.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: programlisting.002</title>
+<releaseinfo role="CVS">$Id: programlisting.002.xml,v 1.2 2008-07-11 07:54:19 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<programlisting><inlinemediaobject>
+<imageobject>
+<imagedata format="linespecific" fileref="tests/programlisting.002.xml"/>
+</imageobject>
+</inlinemediaobject></programlisting>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/programlisting.003.xml b/testautomation/xml/optional/input/docbook/programlisting.003.xml
new file mode 100755
index 000000000000..4039ad2a658f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/programlisting.003.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: programlisting.003</title>
+<releaseinfo role="CVS">$Id: programlisting.003.xml,v 1.2 2008-07-11 07:54:30 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<programlisting linenumbering="numbered">@rem = '--*-Perl-*--
+@echo off
+perl.exe %_batchname %$
+goto endofperl
+@rem ';
+
+# Compress mail...
+
+require 'n:/home/nwalsh/lib/cygnus.pl';
+require 'timelocal.pl';
+use Cwd;
+
+select (STDERR); $| = 1;
+select (STDOUT); $| = 1;
+
+@DIRS = ("/home/nwalsh/Mail");
+while (@DIRS) {
+ $dir = shift @DIRS;
+ opendir (DIR, $dir);
+ while ($fname = readdir(DIR)) {
+ $file = "$dir/$fname";
+ next if ! -d $file;
+ next if $fname =~ /^\.\.?$/;
+
+ print "$file\n";
+ push (@DIRS, $file);
+ &amp;compress ($file);
+ }
+}
+
+exit;</programlisting>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/programlistingco.001.xml b/testautomation/xml/optional/input/docbook/programlistingco.001.xml
new file mode 100755
index 000000000000..1a72d1f1612b
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/programlistingco.001.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: programlistingco.001</title>
+<releaseinfo role="CVS">$Id: programlistingco.001.xml,v 1.2 2008-07-11 07:54:40 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<programlistingco>
+<areaspec>
+<area coords="1" id="prologue"/>
+<area coords="4" id="skipeof"/>
+<areaset coords="" id="xreq">
+<area coords="9" id="require1"/>
+<area coords="10" id="require2"/>
+</areaset>
+<area coords="11 12" id="use"/>
+<area coords="27" id="funccall"/>
+</areaspec>
+<programlisting>@rem = '--*-Perl-*--
+@echo off
+perl.exe %_batchname %$
+goto endofperl
+@rem ';
+
+# Compress mail...
+
+require 'n:/home/nwalsh/lib/cygnus.pl';
+require 'timelocal.pl';
+use Cwd;
+
+select (STDERR); $| = 1;
+select (STDOUT); $| = 1;
+
+@DIRS = ("/home/nwalsh/Mail");
+while (@DIRS) {
+ $dir = shift @DIRS;
+ opendir (DIR, $dir);
+ while ($fname = readdir(DIR)) {
+ $file = "$dir/$fname";
+ next if ! -d $file;
+ next if $fname =~ /^\.\.?$/;
+
+ print "$file\n";
+ push (@DIRS, $file);
+ &amp;compress ($file);
+ }
+}
+
+exit;</programlisting>
+<calloutlist>
+<callout arearefs="prologue">
+<para>The prologue handles embedding a Perl script in a DOS batch file.</para>
+</callout>
+<callout arearefs="skipeof">
+<para>The <literal>goto</literal> statement, interpreted by the DOS batch
+file interpreter, skips over the body of the Perl script.</para>
+</callout>
+<callout arearefs="require1">
+<para>The <literal>require</literal> statement sources in external program
+fragments.</para>
+</callout>
+<callout arearefs="use">
+<para>The <literal>use</literal> statement is similar, but has additional
+utility. It is a Perl5 function. (Note that this callout area specifies
+both a line and a column.)</para>
+</callout>
+<callout arearefs="funccall">
+<para>This is a user subroutine call.</para>
+</callout>
+</calloutlist>
+</programlistingco>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/programlistingco.002.xml b/testautomation/xml/optional/input/docbook/programlistingco.002.xml
new file mode 100755
index 000000000000..a3cea6f0bb7d
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/programlistingco.002.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: programlistingco.002</title>
+<releaseinfo role="CVS">$Id: programlistingco.002.xml,v 1.2 2008-07-11 07:54:49 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<programlistingco>
+<areaspec>
+<area coords="1" id="prologue2"/>
+<area coords="4" id="skipeof2"/>
+<areaset coords="" id="xreq2">
+<area coords="9" id="require12"/>
+<area coords="10" id="require22"/>
+</areaset>
+<area coords="11 12" id="use2"/>
+<area coords="27" id="funccall2"/>
+</areaspec>
+<programlisting linenumbering="numbered"
+><?dbhtml linenumbering.everyNth="2" linenumbering.separator=" >"
+?><?dbfo linenumbering.everyNth="2" linenumbering.separator=" >"
+?><inlinemediaobject>
+<imageobject>
+<imagedata format="linespecific" fileref="sample.txt"/>
+</imageobject>
+</inlinemediaobject></programlisting>
+</programlistingco>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/qandaset.001.xml b/testautomation/xml/optional/input/docbook/qandaset.001.xml
new file mode 100755
index 000000000000..0e7c4f2001de
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/qandaset.001.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: qandaset.001</title>
+<releaseinfo role="CVS">$Id: qandaset.001.xml,v 1.2 2008-07-11 07:55:00 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>What about <xref linkend="Two"/>?</para>
+
+ <qandaset defaultlabel='number'>
+ <?dbhtml table-summary="summary"?>
+ <qandaentry id="qa1">
+ <question id="q1"><para>Question one.</para></question>
+ <answer id="a1">
+ <para>Answer one.
+See <xref linkend="faq-Two"/></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry id="Two">
+ <question id="faq-Two"><para>Question two.</para></question>
+ <answer id="faa-Two">
+ <para>Answer two.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry id="Twoc">
+ <question id="faq-Twoc"><para>Question two.</para></question>
+ <answer id="faa-Twoc">
+ <orderedlist>
+ <listitem><para>testing a list</para></listitem>
+ <listitem><para>testing a list</para></listitem>
+ <listitem><para>testing a list</para></listitem>
+ </orderedlist>
+ </answer>
+ </qandaentry>
+
+ </qandaset>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/qandaset.002.xml b/testautomation/xml/optional/input/docbook/qandaset.002.xml
new file mode 100755
index 000000000000..204ed293c402
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/qandaset.002.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: qandaset.002</title>
+<releaseinfo role="CVS">$Id: qandaset.002.xml,v 1.2 2008-07-11 07:55:10 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <qandaset>
+ <?dbhtml toc="0"?>
+ <qandaentry id="qa1">
+ <question id="q1">
+ <para>Blah blah blah.</para>
+ </question>
+ <answer id="a1">
+ <example>
+ <title><filename
+ moreinfo="none">file.name</filename></title>
+ <programlisting format="linespecific">// Hello, World</programlisting>
+ </example>
+ <example>
+ <title><filename
+ moreinfo="none">file2.name</filename></title>
+ <programlisting format="linespecific">// Goodbye, World</programlisting>
+ </example>
+ </answer>
+ </qandaentry>
+ </qandaset>
+
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/qandaset.003.xml b/testautomation/xml/optional/input/docbook/qandaset.003.xml
new file mode 100755
index 000000000000..7ab61d02e8bd
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/qandaset.003.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: qandaset.003</title>
+<releaseinfo role="CVS">$Id: qandaset.003.xml,v 1.2 2008-07-11 07:55:20 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <qandaset>
+ <title>QandA Title</title>
+<para>Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.</para>
+<para>Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.</para>
+ <qandadiv><title>Division 1</title>
+ <qandaentry>
+ <question>
+ <para>Blah blah blah.</para>
+ </question>
+ <answer>
+ <example>
+ <title><filename
+ moreinfo="none">file.name</filename></title>
+ <programlisting format="linespecific">// Hello, World</programlisting>
+ </example>
+ <example>
+ <title><filename
+ moreinfo="none">file2.name</filename></title>
+ <programlisting format="linespecific">// Goodbye, World</programlisting>
+ </example>
+ </answer>
+ </qandaentry>
+ </qandadiv>
+ <qandadiv><title>Division 2</title>
+<para>Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.</para>
+<para>Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.
+Some introductory preamble. Some introductory preamble.</para>
+ <qandadiv><title>Division 2.1</title>
+ <qandaentry>
+ <question>
+ <para>Blah blah blah.</para>
+ </question>
+ <answer>
+ <example>
+ <title><filename
+ moreinfo="none">file.name</filename></title>
+ <programlisting format="linespecific">// Hello, World</programlisting>
+ </example>
+ <example>
+ <title><filename
+ moreinfo="none">file2.name</filename></title>
+ <programlisting format="linespecific">// Goodbye, World</programlisting>
+ </example>
+ </answer>
+ </qandaentry>
+ </qandadiv>
+ <qandadiv><title>Division 2.2</title>
+ <qandaentry>
+ <question>
+ <para>Blah blah blah.</para>
+ </question>
+ <answer>
+ <example>
+ <title><filename
+ moreinfo="none">file.name</filename></title>
+ <programlisting format="linespecific">// Hello, World</programlisting>
+ </example>
+ <example>
+ <title><filename
+ moreinfo="none">file2.name</filename></title>
+ <programlisting format="linespecific">// Goodbye, World</programlisting>
+ </example>
+ </answer>
+ </qandaentry>
+ </qandadiv>
+ </qandadiv>
+ </qandaset>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/refentry.001.xml b/testautomation/xml/optional/input/docbook/refentry.001.xml
new file mode 100755
index 000000000000..4d605fe9b0f5
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/refentry.001.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: refentry.001</title>
+<releaseinfo role="CVS">$Id: refentry.001.xml,v 1.2 2008-07-11 07:55:30 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<refentry id="minimal">
+<refnamediv>
+<refname>Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+</refsect1>
+</refentry>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/refentry.002.xml b/testautomation/xml/optional/input/docbook/refentry.002.xml
new file mode 100755
index 000000000000..576aa27b2aa3
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/refentry.002.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: refentry.002</title>
+<releaseinfo role="CVS">$Id: refentry.002.xml,v 1.2 2008-07-11 07:55:40 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<refentry id="lessminimal">
+<refmeta>
+<refentrytitle>Also Minimal Title</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv>
+<refname>Also Minimal</refname>
+<refpurpose>Another test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+</refsect1>
+</refentry>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/refentry.003.xml b/testautomation/xml/optional/input/docbook/refentry.003.xml
new file mode 100755
index 000000000000..c011b9765166
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/refentry.003.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: refentry.003</title>
+<releaseinfo role="CVS">$Id: refentry.003.xml,v 1.2 2008-07-11 07:55:50 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<refentry id="evenlessminimal">
+<refmeta>
+<refentrytitle>Fred</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv>
+<refname>Less Minimal</refname>
+<refname>Even Less Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+<refsynopsisdiv><title>Synopsis</title>
+<cmdsynopsis>
+<command>command</command>
+<group><arg choice="plain">-a</arg><arg choice="plain">-alpha</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<group><arg choice="plain">-b</arg><arg choice="plain">-beta</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<group choice="plain"><arg choice="plain">-c</arg><arg choice="plain">
+-charlie</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<group choice="plain"><arg choice="plain">-d</arg><arg choice="plain">
+-delta</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<arg choice="plain">--help</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a less minimal RefEntry.</para>
+
+<figure><title>Some Program</title>
+<programlisting>Testing
+Some
+Text</programlisting>
+</figure>
+
+</refsect1>
+</refentry>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/refentry.004.xml b/testautomation/xml/optional/input/docbook/refentry.004.xml
new file mode 100755
index 000000000000..831159cc776f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/refentry.004.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: refentry.004</title>
+<releaseinfo role="CVS">$Id: refentry.004.xml,v 1.2 2008-07-11 07:56:01 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Test an <sgmltag>xref</sgmltag> to <sgmltag>refnamediv</sgmltag>:
+<xref linkend="lm"/>.</para>
+
+<refentry id="evenlessminimal">
+<refmeta>
+<refentrytitle>Fred</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv id="lm">
+<refname>Less Minimal</refname>
+<refname>Even Less Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+<refsynopsisdiv><title>Synopsis</title>
+<cmdsynopsis>
+<command>command</command>
+<group><arg choice="plain">-a</arg><arg choice="plain">-alpha</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<group><arg choice="plain">-b</arg><arg choice="plain">-beta</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<group choice="plain"><arg choice="plain">-c</arg><arg choice="plain">
+-charlie</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<group choice="plain"><arg choice="plain">-d</arg><arg choice="plain">
+-delta</arg>
+</group>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>command</command>
+<arg choice="plain">--help</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a less minimal RefEntry.</para>
+
+<figure><title>Some Program</title>
+<programlisting>Testing
+Some
+Text</programlisting>
+</figure>
+
+</refsect1>
+</refentry>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/reference.001.xml b/testautomation/xml/optional/input/docbook/reference.001.xml
new file mode 100755
index 000000000000..d54022372514
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/reference.001.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<reference>
+<referenceinfo>
+<title>Unit Test: reference.001</title>
+<releaseinfo role="CVS">$Id: reference.001.xml,v 1.2 2008-07-11 07:56:13 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</referenceinfo>
+
+<refentry id="minimal">
+<refnamediv>
+<refname>Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+</refsect1>
+</refentry>
+
+<refentry id="lessminimal">
+<refmeta>
+<refentrytitle>Also Minimal Title</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv>
+<refname>Also Minimal</refname>
+<refpurpose>Another test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+</refsect1>
+</refentry>
+
+<refentry id="evenlessminimal">
+<refmeta>
+<refentrytitle>Fred</refentrytitle>
+<manvolnum>3</manvolnum>
+</refmeta>
+<refnamediv>
+<refname>Less Minimal</refname>
+<refname>Even Less Minimal</refname>
+<refpurpose>Test of a minimal RefEntry</refpurpose>
+</refnamediv>
+
+<refsect1>
+<title>Description</title>
+<para>This is a minimal RefEntry.</para>
+</refsect1>
+</refentry>
+
+</reference>
+
diff --git a/testautomation/xml/optional/input/docbook/revhistory.001.xml b/testautomation/xml/optional/input/docbook/revhistory.001.xml
new file mode 100755
index 000000000000..fc534f571d92
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/revhistory.001.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article id="article">
+<articleinfo>
+<title>Unit Test: revhistory.001.xml</title>
+<releaseinfo role="CVS">$Id: revhistory.001.xml,v 1.2 2008-07-11 07:56:24 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+<revhistory>
+<revision>
+<revnumber>1.0</revnumber>
+<date>13 Mar 2002</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark.</revremark>
+</revision>
+<revision>
+<revnumber>0.9</revnumber>
+<date>20 Nov 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+<revision>
+<revnumber>0.8</revnumber>
+<date>19 Nov 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+<revision>
+<revnumber>0.7</revnumber>
+<date>18 Nov 1998</date>
+<authorinitials>ndw</authorinitials>
+<revremark>Some remark about the revision</revremark>
+</revision>
+</revhistory>
+</articleinfo>
+
+<para>This article tests revhistory. It appears in the articleinfo.</para>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/screen.001.xml b/testautomation/xml/optional/input/docbook/screen.001.xml
new file mode 100755
index 000000000000..449f05fe8b80
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/screen.001.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: screen.001</title>
+<releaseinfo role="CVS">$Id: screen.001.xml,v 1.2 2008-07-11 07:56:36 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<screen>
+(let <co id="dl1"/>loopvar <co id="dl2"/>((count 1))
+ <co id="dl3"/>(if (> count 10)
+ <co id="dl4"/>#t
+ (<co id="dl5"/>loopvar <co id="dl6"/>(+ count 1))))</screen>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/sect1.001.xml b/testautomation/xml/optional/input/docbook/sect1.001.xml
new file mode 100755
index 000000000000..12f4a61bf2b8
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/sect1.001.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: sect1.001</title>
+<releaseinfo role="CVS">$Id: sect1.001.xml,v 1.2 2008-07-11 07:56:47 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <sect1 id="c1s1"><title>Section 1</title>
+ <para>blah.</para>
+ <sect2 id="c1s1s1"><title>Section 1.1</title>
+ <para>blah.</para>
+ <sect3 id="c1s1s1s1"><title>Section 1.1.1</title>
+ <para>blah.</para>
+ <sect4 id="c1s1s1s1s1"><title>Section 1.1.1.1</title>
+ <para>blah.</para>
+ <sect5 id="c1s1s1s1s1s1"><title>Section 1.1.1.1.1</title>
+ <para>blah.</para>
+ </sect5>
+ <sect5 id="c1s1s1s1s1s2"><title>Section 1.1.1.1.2</title>
+ <para>blah.</para>
+ </sect5>
+ <sect5 id="c1s1s1s1s1s3"><title>Section 1.1.1.1.3</title>
+ <para>blah.</para>
+ </sect5>
+ </sect4>
+ <sect4 id="c1s1s1s1s2"><title>Section 1.1.1.2</title>
+ <para>blah.</para>
+ </sect4>
+ <sect4 id="c1s1s1s1s3"><title>Section 1.1.1.3</title>
+ <para>blah.</para>
+ </sect4>
+ </sect3>
+ <sect3 id="c1s1s1s2"><title>Section 1.1.2</title>
+ <para>blah.</para>
+ </sect3>
+ <sect3 id="c1s1s1s3"><title>Section 1.1.3</title>
+ <para>blah.</para>
+ </sect3>
+ </sect2>
+ <sect2 id="c1s1s2"><title>Section 1.2</title>
+ <para>blah.</para>
+ </sect2>
+ <sect2 id="c1s1s3"><title>Section 1.3</title>
+ <para>blah.</para>
+ </sect2>
+ </sect1>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/sect1.002.xml b/testautomation/xml/optional/input/docbook/sect1.002.xml
new file mode 100755
index 000000000000..57fa86b0ac38
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/sect1.002.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: sect1.002</title>
+<releaseinfo role="CVS">$Id: sect1.002.xml,v 1.2 2008-07-11 07:56:58 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <sect1 id="c1s2"><title>Section 2</title>
+ <para>blah.</para>
+ <sect2 id="c1s2s1"><title>Section 2.1</title>
+ <para>blah.</para>
+ <sect3 id="c1s2s1s1"><title>Section 2.1.1</title>
+ <para>blah.</para>
+ <sect4 id="c1s2s1s1s1"><title>Section 2.1.1.1</title>
+ <para>blah.</para>
+ <sect5 id="c1s2s1s1s1s1s"><title>Section 2.1.1.1.1</title>
+ <para>blah.</para>
+ </sect5>
+ <sect5 id="c1s2s1s1s1s2"><title>Section 2.1.1.1.2</title>
+ <para>blah.</para>
+ </sect5>
+ <sect5 id="c1s2s1s1s1s3"><title>Section 2.1.1.1.3</title>
+ <para>blah.</para>
+ </sect5>
+ </sect4>
+ <sect4 id="c1s2s1s1s2"><title>Section 2.1.1.2</title>
+ <para>blah.</para>
+ </sect4>
+ <sect4 id="c1s2s1s1s3"><title>Section 2.1.1.3</title>
+ <para>blah.</para>
+ </sect4>
+ </sect3>
+ <sect3 id="c1s2s1s2"><title>Section 2.1.2</title>
+ <para>blah.</para>
+ </sect3>
+ <sect3 id="c1s2s1s3"><title>Section 2.1.3</title>
+ <para>blah.</para>
+ </sect3>
+ </sect2>
+ <sect2 id="c1s2s2"><title>Section 2.2</title>
+ <para>blah.</para>
+ </sect2>
+ <sect2 id="c1s2s3"><title>Section 2.3</title>
+ <para>blah.</para>
+ </sect2>
+ </sect1>
+ <sect1 id="c1s3"><title>Section 3</title>
+ <para>blah.</para>
+ </sect1>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/section.001.xml b/testautomation/xml/optional/input/docbook/section.001.xml
new file mode 100755
index 000000000000..20f7ecd47622
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/section.001.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: section.001</title>
+<releaseinfo role="CVS">$Id: section.001.xml,v 1.2 2008-07-11 07:57:10 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <section id="c2s1"><title>Section 1</title>
+ <para>blah.</para>
+ <section id="c2s1s1"><title>Section 1.1</title>
+ <para>blah.</para>
+ <section id="c2s1s1s1"><title>Section 1.1.1</title>
+ <para>blah.</para>
+ <section id="c2s1s1s1s1"><title>Section 1.1.1.1</title>
+ <para>blah.</para>
+ <section id="c2s1s1s1s1s1"><title>Section 1.1.1.1.1</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s1s1s1s1s2"><title>Section 1.1.1.1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s1s1s1s1s3"><title>Section 1.1.1.1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s1s1s1s2"><title>Section 1.1.1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s1s1s1s3"><title>Section 1.1.1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s1s1s2"><title>Section 1.1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s1s1s3"><title>Section 1.1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s1s2"><title>Section 1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s1s3"><title>Section 1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/section.002.xml b/testautomation/xml/optional/input/docbook/section.002.xml
new file mode 100755
index 000000000000..ac3968f87169
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/section.002.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: section.002</title>
+<releaseinfo role="CVS">$Id: section.002.xml,v 1.2 2008-07-11 07:57:20 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <section id="c2s2"><title>Section 2</title>
+ <para>blah.</para>
+ <section id="c2s2s1"><title>Section 2.1</title>
+ <para>blah.</para>
+ <section id="c2s2s1s1"><title>Section 2.1.1</title>
+ <para>blah.</para>
+ <section id="c2s2s1s1s1"><title>Section 2.1.1.1</title>
+ <para>blah.</para>
+ <section id="c2s2s1s1s1s1s"><title>Section 2.1.1.1.1</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s2s1s1s1s2"><title>Section 2.1.1.1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s2s1s1s1s3"><title>Section 2.1.1.1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s2s1s1s2"><title>Section 2.1.1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s2s1s1s3"><title>Section 2.1.1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s2s1s2"><title>Section 2.1.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s2s1s3"><title>Section 2.1.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s2s2"><title>Section 2.2</title>
+ <para>blah.</para>
+ </section>
+ <section id="c2s2s3"><title>Section 2.3</title>
+ <para>blah.</para>
+ </section>
+ </section>
+ <section id="c2s3"><title>Section 3</title>
+ <para>blah.</para>
+ </section>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/section.003.xml b/testautomation/xml/optional/input/docbook/section.003.xml
new file mode 100755
index 000000000000..513c9069382f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/section.003.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: section.003</title>
+<releaseinfo role="CVS">$Id: section.003.xml,v 1.2 2008-07-11 07:57:31 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+ <section id="c2s1"><title>This is a Section Title.</title>
+ <para>blah.</para>
+ <section id="c2s1s1"><title>This is a Really Long Section Title That's Almost Certainly Bound to Wrap Around on the Page</title>
+ <para>blah.</para>
+ </section>
+ </section>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/segmentedlist.001.xml b/testautomation/xml/optional/input/docbook/segmentedlist.001.xml
new file mode 100755
index 000000000000..c707ddef9449
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/segmentedlist.001.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: segmentedlist.001</title>
+<releaseinfo role="CVS">$Id: segmentedlist.001.xml,v 1.2 2008-07-11 07:57:42 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<segmentedlist><title>State Capitals</title>
+<segtitle>State</segtitle>
+<segtitle>Capital</segtitle>
+<seglistitem><seg>Alabama</seg><seg>Montgomery</seg></seglistitem>
+<seglistitem><seg>Alaska</seg><seg>Anchorage</seg></seglistitem>
+<seglistitem><seg>Arkansas</seg><seg>Little Rock</seg></seglistitem>
+</segmentedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/segmentedlist.002.xml b/testautomation/xml/optional/input/docbook/segmentedlist.002.xml
new file mode 100755
index 000000000000..76b1c435fd14
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/segmentedlist.002.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: segmentedlist.002</title>
+<releaseinfo role="CVS">$Id: segmentedlist.002.xml,v 1.2 2008-07-11 07:57:53 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<segmentedlist><title>State Capitals</title>
+<?dbhtml list-presentation='table' table-summary="testing summary"?>
+<?dbfo list-presentation='table'?>
+<segtitle>State</segtitle>
+<segtitle>Capital</segtitle>
+<seglistitem><seg>Alabama</seg><seg>Montgomery</seg></seglistitem>
+<seglistitem><seg>Alaska</seg><seg>Anchorage</seg></seglistitem>
+<seglistitem><seg>Arkansas</seg><seg>Little Rock</seg></seglistitem>
+</segmentedlist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/set.001.xml b/testautomation/xml/optional/input/docbook/set.001.xml
new file mode 100755
index 000000000000..6af27d73d9d0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/set.001.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<set>
+<setinfo>
+<title>Unit Test: set.001</title>
+<releaseinfo role="CVS">$Id: set.001.xml,v 1.2 2008-07-11 07:58:04 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</setinfo>
+
+<book><title>First Book</title>
+<chapter><title>Chapter</title>
+<para>Some test data</para>
+</chapter>
+</book>
+
+<book><title>Second Book</title>
+<chapter><title>Chapter</title>
+<para>Some test data</para>
+</chapter>
+</book>
+
+<book><title>Third Book</title>
+<chapter><title>Chapter</title>
+<para>Some test data</para>
+</chapter>
+</book>
+
+</set>
diff --git a/testautomation/xml/optional/input/docbook/stamp.001.xml b/testautomation/xml/optional/input/docbook/stamp.001.xml
new file mode 100755
index 000000000000..a7be27ec9206
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.001.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.001</title>
+<releaseinfo role="CVS">$Id: stamp.001.xml,v 1.2 2008-07-11 07:58:15 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image.</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.002.xml b/testautomation/xml/optional/input/docbook/stamp.002.xml
new file mode 100755
index 000000000000..cbdfae9b6021
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.002.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.002</title>
+<releaseinfo role="CVS">$Id: stamp.002.xml,v 1.2 2008-07-11 07:58:25 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=400; depth=512; contentdepth=200; align=center; valign=bottom</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="green"?>
+ <imagedata
+ width="400"
+ depth="512"
+ contentdepth="200"
+ align="center"
+ valign="bottom"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.003.xml b/testautomation/xml/optional/input/docbook/stamp.003.xml
new file mode 100755
index 000000000000..53833f0e2c96
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.003.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.003</title>
+<releaseinfo role="CVS">$Id: stamp.003.xml,v 1.2 2008-07-11 07:58:34 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=512; depth=512; contentwidth=256; contentdepth=384</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ width="512"
+ depth="512"
+ contentwidth="256"
+ contentdepth="384"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.004.xml b/testautomation/xml/optional/input/docbook/stamp.004.xml
new file mode 100755
index 000000000000..d27a9e3f6786
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.004.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.004</title>
+<releaseinfo role="CVS">$Id: stamp.004.xml,v 1.2 2008-07-11 07:58:45 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=512; depth=512; scale=125; align=center</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ width="512"
+ depth="512"
+ scale="125"
+ align="center"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.005.xml b/testautomation/xml/optional/input/docbook/stamp.005.xml
new file mode 100755
index 000000000000..a00165dd4448
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.005.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.005</title>
+<releaseinfo role="CVS">$Id: stamp.005.xml,v 1.2 2008-07-11 07:58:59 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=512; depth=512 (scalefit=1 by default in this case)</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ width="512"
+ depth="512"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.006.xml b/testautomation/xml/optional/input/docbook/stamp.006.xml
new file mode 100755
index 000000000000..64d633da309f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.006.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.006</title>
+<releaseinfo role="CVS">$Id: stamp.006.xml,v 1.2 2008-07-11 07:59:09 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=512; depth=512; scalefit=0</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ width="512"
+ depth="512"
+ scalefit="0"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.007.xml b/testautomation/xml/optional/input/docbook/stamp.007.xml
new file mode 100755
index 000000000000..1dbc82b2592f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.007.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.007</title>
+<releaseinfo role="CVS">$Id: stamp.007.xml,v 1.2 2008-07-11 07:59:19 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=512; depth=512; scale=75</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ width="512"
+ depth="512"
+ scale="75"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.008.xml b/testautomation/xml/optional/input/docbook/stamp.008.xml
new file mode 100755
index 000000000000..f060b3f0bfd7
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.008.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.008</title>
+<releaseinfo role="CVS">$Id: stamp.008.xml,v 1.2 2008-07-11 07:59:28 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: contentwidth=50%</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ contentwidth="50%"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.009.xml b/testautomation/xml/optional/input/docbook/stamp.009.xml
new file mode 100755
index 000000000000..93ae5bdf45df
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.009.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.009</title>
+<releaseinfo role="CVS">$Id: stamp.009.xml,v 1.2 2008-07-11 07:59:39 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: contentwidth=50%; scale=125</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ contentwidth="50%"
+ scale="125"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.010.xml b/testautomation/xml/optional/input/docbook/stamp.010.xml
new file mode 100755
index 000000000000..937cdcbc85c6
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.010.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.010</title>
+<releaseinfo role="CVS">$Id: stamp.010.xml,v 1.2 2008-07-11 07:59:49 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: contentwidth=50%; contentdepth=50%</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="blue"?>
+ <imagedata
+ contentwidth="50%"
+ contentdepth="50%"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.011.xml b/testautomation/xml/optional/input/docbook/stamp.011.xml
new file mode 100755
index 000000000000..1c6a5fe0a9f4
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.011.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.011</title>
+<releaseinfo role="CVS">$Id: stamp.011.xml,v 1.2 2008-07-11 07:59:58 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=400; depth=512; scalefit=1; align=center; valign=bottom</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="green"?>
+ <imagedata
+ width="400"
+ depth="512"
+ scalefit="1"
+ align="center"
+ valign="bottom"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/stamp.012.xml b/testautomation/xml/optional/input/docbook/stamp.012.xml
new file mode 100755
index 000000000000..c378a46ff6ce
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/stamp.012.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: stamp.012</title>
+<releaseinfo role="CVS">$Id: stamp.012.xml,v 1.2 2008-07-11 08:00:08 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>The stamp image has a natural size of 200x128 pixels.</para>
+
+<para>The stamp image: width=75%; scalefit=1</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="green"?>
+ <imagedata
+ width="75%"
+ scalefit="1"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+<para>The stamp image: depth=25%; scalefit=1</para>
+
+<mediaobject>
+ <imageobject>
+ <?dbhtml background-color="green"?>
+ <imagedata
+ depth="25%"
+ scalefit="1"
+ fileref="graphics/stamp.png"/>
+ </imageobject>
+ <textobject><phrase>The DocBook Stamp</phrase></textobject>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/svg.001.xml b/testautomation/xml/optional/input/docbook/svg.001.xml
new file mode 100755
index 000000000000..75410a1deb28
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/svg.001.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
+ "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: svg.001.xml</title>
+<releaseinfo role="CVS">$Id: svg.001.xml,v 1.2 2008-07-11 08:00:20 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article contains an SVG diagram (inline).</para>
+
+<mediaobject>
+ <imageobject>
+ <svg:svg xmlns:svg="http://www.w3.org/2000/svg">
+ <svg:g transform="scale(0.5)">
+ <svg:polygon style="fill:red; stroke:blue; stroke-width:10"
+ points="350, 75 379,161 469,161 397,215
+ 423,301 350,250 277,301 303,215
+ 231,161 321,161" />
+ <svg:polygon style="fill:lime; stroke:blue; stroke-width:10"
+ points="850,75 958,137.5 958,262.5
+ 850,325 742,262.6 742,137.5"/>
+ </svg:g>
+ </svg:svg>
+ </imageobject>
+ <imageobject>
+ <imagedata
+ align="center"
+ fileref="graphics/svg-001-fallback.png"/>
+ </imageobject>
+ <textobject><phrase>Example SVG polygons</phrase></textobject>
+ <caption><para>Polygons</para></caption>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/svg.002.xml b/testautomation/xml/optional/input/docbook/svg.002.xml
new file mode 100755
index 000000000000..6738414c97e9
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/svg.002.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook SVG Module V1.0beta2//EN"
+ "http://www.oasis-open.org/docbook/xml/svg/1.0beta2/dbsvg.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: svg.002.xml</title>
+<releaseinfo role="CVS">$Id: svg.002.xml,v 1.2 2008-07-11 08:00:32 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article contains an SVG diagram (external).</para>
+
+<mediaobject>
+ <imageobject>
+ <imagedata
+ align="center"
+ format="SVG"
+ fileref="graphics/svg-001.xml"/>
+ </imageobject>
+ <imageobject>
+ <imagedata
+ align="center"
+ fileref="graphics/svg-001-fallback.png"/>
+ </imageobject>
+ <textobject><phrase>Example SVG polygons</phrase></textobject>
+ <caption><para>Polygons</para></caption>
+</mediaobject>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/table.001.xml b/testautomation/xml/optional/input/docbook/table.001.xml
new file mode 100755
index 000000000000..e9389078e783
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/table.001.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: table.001</title>
+<releaseinfo role="CVS">$Id: table.001.xml,v 1.2 2008-07-11 08:00:42 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<table frame="all">
+<title>TFoot Test</title>
+<tgroup cols="2">
+<tfoot>
+<row>
+<entry>Foot Left</entry>
+<entry>Foot Right</entry>
+</row>
+</tfoot>
+<tbody>
+<row>
+<entry>Body Left</entry>
+<entry>Body Right</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/table.002.xml b/testautomation/xml/optional/input/docbook/table.002.xml
new file mode 100755
index 000000000000..389a14651c19
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/table.002.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: table.002</title>
+<releaseinfo role="CVS">$Id: table.002.xml,v 1.2 2008-07-11 08:00:54 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<table id="width-test-1" frame="all">
+<title>Width Test 1</title>
+<tgroup cols="4" align="left">
+<colspec colnum="1" colname="c1" colwidth="1in"/>
+<colspec colnum="2" colname="c2" colwidth="1*"/>
+<colspec colnum="3" colname="c3" colwidth="5*"/>
+<colspec colnum="4" colname="c4" colwidth="1*+0.5in"/>
+<tbody>
+<row>
+<entry>1in</entry>
+<entry>1/7</entry>
+<entry>5/7</entry>
+<entry>1/7+0.5in</entry>
+</row>
+<row>
+<entry>some words to make the thing wrap around to test the width</entry>
+<entry>some words to make the thing wrap around to test the width</entry>
+<entry>some words to make the thing wrap around to test the width</entry>
+<entry>some words to make the thing wrap around to test the width</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/table.003.xml b/testautomation/xml/optional/input/docbook/table.003.xml
new file mode 100755
index 000000000000..dfc53b244c24
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/table.003.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: table.003</title>
+<releaseinfo role="CVS">$Id: table.003.xml,v 1.2 2008-07-11 08:01:04 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>Just a normal paragraph with a footnote<footnote><para>This is the
+footnote.</para></footnote>.</para>
+
+<table frame="none">
+<title>Server machine minimum required
+software<footnote><para>Table title footnote test.</para></footnote></title>
+<indexterm>
+<primary>System requirements</primary>
+<secondary>Software</secondary>
+</indexterm>
+<tgroup cols="1">
+<colspec colname="col1" colnum="1" colwidth="2.50in"/>
+<thead valign="top">
+<row>
+<entry>Foo<footnote><para>Table cell footnote test.</para></footnote></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>foo</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/table.004.xml b/testautomation/xml/optional/input/docbook/table.004.xml
new file mode 100755
index 000000000000..67aa3721357b
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/table.004.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: table.004</title>
+<releaseinfo role="CVS">$Id: table.004.xml,v 1.2 2008-07-11 08:01:14 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<informaltable frame="none">
+<tgroup cols="2">
+<colspec colname="col2" colnum="2" rowsep="1"/>
+<tbody>
+<row>
+<entry>foo</entry>
+</row>
+<row>
+<entry>foo</entry><entry>bar</entry>
+</row>
+<row>
+<entry>foo</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/table.005.xml b/testautomation/xml/optional/input/docbook/table.005.xml
new file mode 100755
index 000000000000..2272ec84d09e
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/table.005.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: table.005</title>
+<releaseinfo role="CVS">$Id: table.005.xml,v 1.2 2008-07-11 08:01:24 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This is a "portrait" paragraph.</para>
+
+<table frame="none" orient="land">
+<title>This is a "landscape" table</title>
+<tgroup cols="2">
+<colspec colname="col2" colnum="2" rowsep="1"/>
+<tbody>
+<row>
+<entry>foo</entry>
+</row>
+<row>
+<entry>foo</entry><entry>bar</entry>
+</row>
+<row>
+<entry>foo</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+<para>This is a "portrait" paragraph.</para>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/table.006.xml b/testautomation/xml/optional/input/docbook/table.006.xml
new file mode 100755
index 000000000000..50803d38c79f
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/table.006.xml
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: table.006</title>
+<releaseinfo role="CVS">$Id: table.006.xml,v 1.2 2008-07-11 08:01:34 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>All frames:</para>
+
+<informaltable frame="all">
+<tgroup cols="3">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>No frames:</para>
+
+<informaltable frame="none">
+<tgroup cols="3">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Outer edge:</para>
+
+<informaltable frame="all">
+<tgroup cols="3" rowsep="0" colsep="0">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Rows:</para>
+
+<informaltable frame="topbot">
+<tgroup cols="3" rowsep="1" colsep="0">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Columns:</para>
+
+<informaltable frame="sides">
+<tgroup cols="3" rowsep="0" colsep="1">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Tic Tac Toe:</para>
+
+<informaltable frame="none">
+<tgroup cols="3" rowsep="0" colsep="0">
+<colspec colnum="1" colsep="1"/>
+<colspec colnum="2" colsep="1"/>
+<tbody>
+<row rowsep="1">
+<entry>a foo</entry>
+<entry>a bar</entry>
+<entry>a baz</entry>
+</row>
+<row rowsep="1">
+<entry>b foo</entry>
+<entry>b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Box in the middle:</para>
+
+<informaltable frame="none">
+<tgroup cols="3">
+<tbody>
+<row>
+<entry>a foo</entry>
+<entry rowsep="1">a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry colsep="1">b foo</entry>
+<entry colsep="1" rowsep="1">b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+<para>Jigsaw:</para>
+
+<informaltable frame="all">
+<tgroup cols="3" rowsep="0" colsep="0">
+<tbody>
+<row>
+<entry rowsep="1">a foo</entry>
+<entry colsep="1">a bar</entry>
+<entry>a baz</entry>
+</row>
+<row>
+<entry colsep="1">b foo</entry>
+<entry colsep="1" rowsep="1">b bar</entry>
+<entry>b baz</entry>
+</row>
+<row>
+<entry>c foo</entry>
+<entry>c foo</entry>
+<entry>c baz</entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/template.xml b/testautomation/xml/optional/input/docbook/template.xml
new file mode 100755
index 000000000000..804d373df2b8
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/template.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: <!--FIXME-->
+</title>
+<releaseinfo role="CVS">$Id: template.xml,v 1.2 2008-07-11 08:01:45 rt Exp $</releaseinfo>
+<!-- Change this: -->
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<!-- put your test here -->
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/toc.001.xml b/testautomation/xml/optional/input/docbook/toc.001.xml
new file mode 100755
index 000000000000..ad90adf3c890
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/toc.001.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book>
+<bookinfo>
+<title>Unit Test: toc.001</title>
+<releaseinfo role="CVS">$Id: toc.001.xml,v 1.2 2008-07-11 08:01:55 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<toc>
+<tocchap>
+<tocentry>Preface</tocentry>
+<toclevel1>
+ <tocentry>Fake Entry</tocentry>
+ <tocentry pagenum="i">Why Read This Book?</tocentry>
+ <tocentry>This Book's Audience</tocentry>
+ <tocentry>Organization of This Book</tocentry>
+ <tocentry>Conventions Used in This Book</tocentry>
+ <tocentry>Getting This Book</tocentry>
+ <tocentry>Getting Examples from This Book</tocentry>
+ <tocentry>Getting DocBook</tocentry>
+ <tocentry>Request for Comments</tocentry>
+ <tocentry>Acknowledgements from Norm</tocentry>
+ <tocentry>Acknowledgements from Lenny</tocentry>
+ <tocentry>Acknowledgements from Norm and Lenny</tocentry>
+</toclevel1>
+</tocchap>
+<tocpart>
+<tocentry>Introduction</tocentry>
+<tocchap>
+<tocentry>Getting Started with SGML/XML</tocentry>
+<toclevel1>
+ <tocentry>HTML and SGML vs. XML</tocentry>
+ <tocentry>Basic SGML/XML Concepts</tocentry>
+ <tocentry>Elements and Attributes</tocentry>
+ <tocentry>Entities</tocentry>
+ <tocentry>How Does DocBook Fit In?</tocentry>
+ <toclevel2>
+ <tocentry>Testing a third level TOC</tocentry>
+ </toclevel2>
+</toclevel1>
+</tocchap>
+<tocchap>
+<tocentry>Creating DocBook Documents</tocentry>
+<toclevel1>
+ <tocentry>Making an SGML Document</tocentry>
+ <tocentry>Making an XML Document</tocentry>
+</toclevel1>
+</tocchap>
+</tocpart>
+</toc>
+
+<preface><title>Preface</title>
+
+<para>This book is really just a toc test.</para>
+
+</preface>
+
+</book>
+
diff --git a/testautomation/xml/optional/input/docbook/ulink.001.xml b/testautomation/xml/optional/input/docbook/ulink.001.xml
new file mode 100755
index 000000000000..01d9a7d93120
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/ulink.001.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!ENTITY dh "&#xAD;">
+]>
+<article>
+<articleinfo>
+<title>Unit Test: ulink.001</title>
+<releaseinfo role="CVS">$Id: ulink.001.xml,v 1.2 2008-07-11 08:02:05 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<para>This article tests ULink hyphenation.</para>
+
+<para>This is a really long URI with explicit discretionary hyphens:
+<ulink url="http://www.example.com/this/is/really/long/for/no/good/reason/except/to/test/what/happens/with/really/long/URIs/-/because/they/are/a/good/test/for/discretionary/hyphens/">http:/&dh;/&dh;www.example.com/&dh;this/&dh;is/&dh;really/&dh;long/&dh;for/&dh;no/&dh;good/&dh;reason/&dh;except/&dh;to/&dh;test/&dh;what/&dh;happens/&dh;with/&dh;really/&dh;long/&dh;URIs/&dh;-/&dh;because/&dh;they/&dh;are/&dh;a/&dh;good/&dh;test/&dh;for/&dh;discretionary/&dh;hyphens/</ulink>.</para>
+
+<para>This is a really long URI without explicit discretionary hyphens:
+<ulink url="http://www.example.com/this/is/really/long/for/no/good/reason/except/to/test/what/happens/with/really/long/URIs/-/because/they/are/a/good/test/for/discretionary/hyphens/"/>.</para>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/variablelist.001.xml b/testautomation/xml/optional/input/docbook/variablelist.001.xml
new file mode 100755
index 000000000000..52ffcfe79508
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/variablelist.001.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: variablelist.001</title>
+<releaseinfo role="CVS">$Id: variablelist.001.xml,v 1.2 2008-07-11 08:02:17 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<variablelist>
+<?dbfo list-presentation="list" term-width="1.25in" ?>
+<varlistentry>
+<term>short</term>
+<listitem>
+<para>A single short term with a description.
+</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>more</term>
+<listitem>
+<para>Another single short term with a description.
+</para>
+<para>Another paragraph of description.
+</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>again</term>
+<listitem>
+<para>YASSTWAD.
+</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>short</term>
+<listitem>
+<para>A single short term with a description.
+</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>more</term>
+<term>more</term>
+<term>more</term>
+<term>more</term>
+<listitem>
+<para>Several short terms in the same VLE.
+</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>I'm still not satisfied.</term>
+<listitem>
+<para>A single long term with a description.
+</para>
+</listitem>
+</varlistentry>
+</variablelist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/variablelist.002.xml b/testautomation/xml/optional/input/docbook/variablelist.002.xml
new file mode 100755
index 000000000000..338c3b0db6da
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/variablelist.002.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: variablelist.002</title>
+<releaseinfo role="CVS">$Id: variablelist.002.xml,v 1.2 2008-07-11 08:02:27 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<variablelist>
+ <varlistentry>
+ <term>
+ <methodsynopsis>
+ <modifier>static</modifier>
+ <modifier>public</modifier>
+
+ <type>void</type>
+ <methodname>import</methodname>
+
+ <methodparam>
+ <type>HttpServletRequest</type>
+ <parameter>req</parameter>
+ </methodparam>
+ </methodsynopsis>
+ </term>
+ <listitem>
+ <para>Foobar</para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/variablelist.003.xml b/testautomation/xml/optional/input/docbook/variablelist.003.xml
new file mode 100755
index 000000000000..0344b3d7073a
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/variablelist.003.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: variablelist.003</title>
+<releaseinfo role="CVS">$Id: variablelist.003.xml,v 1.2 2008-07-11 08:02:37 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<variablelist>
+<title>VariableList Title</title>
+<varlistentry><term>Term1</term>
+<listitem><para>Definition of Term1</para></listitem>
+</varlistentry>
+<varlistentry><term>Term2</term>
+<listitem><para>Definition of Term2</para></listitem>
+</varlistentry>
+<varlistentry id="someVLI"><term>Term3a</term><term>Term3b</term><term>Term3c</term>
+<listitem><para>Definition of Term3a,b,c</para></listitem>
+</varlistentry>
+</variablelist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/variablelist.004.xml b/testautomation/xml/optional/input/docbook/variablelist.004.xml
new file mode 100755
index 000000000000..2e91af8bb153
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/variablelist.004.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<article>
+<articleinfo>
+<title>Unit Test: variablelist.004</title>
+<releaseinfo role="CVS">$Id: variablelist.004.xml,v 1.2 2008-07-11 08:02:47 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</articleinfo>
+
+<variablelist termlength="30">
+<title>VariableList With Long Terms</title>
+<varlistentry><term>Term1 is very long</term>
+<listitem><para>Definition of Term1</para></listitem>
+</varlistentry>
+<varlistentry><term>Term2 is even longer than term1</term>
+<listitem><para>Definition of Term2</para></listitem>
+</varlistentry>
+<varlistentry><term>Term3a</term><term>Term3b is also long</term><term>Term3c</term>
+<listitem><para>Definition of Term3a,b,c</para></listitem>
+</varlistentry>
+</variablelist>
+
+</article>
diff --git a/testautomation/xml/optional/input/docbook/xref.001.xml b/testautomation/xml/optional/input/docbook/xref.001.xml
new file mode 100755
index 000000000000..859d698f95d0
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/xref.001.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!ENTITY blah "<para>Blah blah blah blah. Blah blah blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+Blah blah blah blah blah blah blah blah. Blah blah blah blah.
+Blah. Blah blah blah blah. Blah blah. Blah blah blah blah.
+</para>">
+]>
+<book>
+<bookinfo>
+<title>Unit Test: xref.001</title>
+<releaseinfo role="CVS">$Id: xref.001.xml,v 1.2 2008-07-11 08:02:58 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</bookinfo>
+
+<dedication id="dedication"><title>Dedication</title>
+
+&blah;
+
+<para>For no good reason, this dedication includes cross-references:</para>
+
+<itemizedlist>
+<listitem><para>dedication: <xref linkend="dedication"/>.</para>
+</listitem>
+<listitem><para>preface: <xref linkend="preface"/>.</para>
+</listitem>
+<listitem><para>part: <xref linkend="part"/>.</para>
+</listitem>
+<listitem><para>chapter: <xref linkend="chapter"/>.</para>
+</listitem>
+<listitem><para>appendix: <xref linkend="appendix"/>.</para>
+</listitem>
+<listitem><para>para: <xref linkend="para"/>.</para>
+</listitem>
+</itemizedlist>
+
+</dedication>
+
+<preface id="preface"><title>Preface</title>
+
+<para>A preface.</para>
+
+&blah;
+
+</preface>
+
+<part id="part">
+<title>Part One Title</title>
+<partintro>
+<title>PartIntro Title</title>
+
+<para>Partintro content<footnote>
+<para>This is a footnote in a partintro.</para>
+</footnote>.</para>
+
+&blah;
+
+<sect1>
+<title>PartIntro Section</title>
+<para>PartIntros can actually have section content as well.</para>
+&blah;
+</sect1>
+</partintro>
+
+<chapter id="chapter"><title>Chapter</title>
+
+&blah;
+<para id="para">This paragraph has an ID.</para>
+
+</chapter>
+
+</part>
+<part><title>Appendixes</title>
+
+<appendix id="appendix"><title>First Appendix</title>
+
+&blah;
+
+</appendix>
+
+</part>
+</book>
diff --git a/testautomation/xml/optional/input/docbook/xrefstyle.001.xml b/testautomation/xml/optional/input/docbook/xrefstyle.001.xml
new file mode 100755
index 000000000000..0588dd1e408b
--- /dev/null
+++ b/testautomation/xml/optional/input/docbook/xrefstyle.001.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<chapter id="chapter">
+<chapterinfo>
+<title>Unit Test: xrefstyle.001.xml</title>
+<releaseinfo role="CVS">$Id: xrefstyle.001.xml,v 1.2 2008-07-11 08:03:15 rt Exp $</releaseinfo>
+<author><firstname>Norman</firstname><surname>Walsh</surname>
+ <affiliation><address><email>ndw@nwalsh.com</email></address></affiliation>
+</author>
+</chapterinfo>
+<title>Unit Test: xrefstyle.001.xml</title>
+
+<para>This is a test of xref styles.</para>
+
+<para>Short self-reference: <xref linkend="chapter"/>.</para>
+<para>Long self-reference: <xref role="title" linkend="chapter"/>.</para>
+
+</chapter>
diff --git a/testautomation/xml/optional/input/for_xhtml_export/Table-XHTML.odt b/testautomation/xml/optional/input/for_xhtml_export/Table-XHTML.odt
new file mode 100644
index 000000000000..63c4d365d6d2
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/Table-XHTML.odt
Binary files differ
diff --git a/testautomation/xml/optional/input/for_xhtml_export/border.ods b/testautomation/xml/optional/input/for_xhtml_export/border.ods
new file mode 100644
index 000000000000..15008aa3498e
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/border.ods
Binary files differ
diff --git a/testautomation/xml/optional/input/for_xhtml_export/bullets.sxw b/testautomation/xml/optional/input/for_xhtml_export/bullets.sxw
new file mode 100644
index 000000000000..e6e9a0095f2d
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/bullets.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/for_xhtml_export/bullets_14364.sdw b/testautomation/xml/optional/input/for_xhtml_export/bullets_14364.sdw
new file mode 100755
index 000000000000..e230f520b823
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/bullets_14364.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/for_xhtml_export/p_in_h.odt b/testautomation/xml/optional/input/for_xhtml_export/p_in_h.odt
new file mode 100644
index 000000000000..0a1840870e51
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/p_in_h.odt
Binary files differ
diff --git a/testautomation/xml/optional/input/for_xhtml_export/presentation_xhtml.odp b/testautomation/xml/optional/input/for_xhtml_export/presentation_xhtml.odp
new file mode 100644
index 000000000000..fdbeaba30944
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/presentation_xhtml.odp
Binary files differ
diff --git a/testautomation/xml/optional/input/for_xhtml_export/span_split.odt b/testautomation/xml/optional/input/for_xhtml_export/span_split.odt
new file mode 100644
index 000000000000..1117c91b52e8
--- /dev/null
+++ b/testautomation/xml/optional/input/for_xhtml_export/span_split.odt
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/excelOLE.doc b/testautomation/xml/optional/input/framework/ms_ole/excelOLE.doc
new file mode 100755
index 000000000000..c73b9653aa4b
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/excelOLE.doc
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/excelOLE.ppt b/testautomation/xml/optional/input/framework/ms_ole/excelOLE.ppt
new file mode 100755
index 000000000000..71534b94d522
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/excelOLE.ppt
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/mathOLE.doc b/testautomation/xml/optional/input/framework/ms_ole/mathOLE.doc
new file mode 100755
index 000000000000..8170daab83f9
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/mathOLE.doc
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/mathOLE.ppt b/testautomation/xml/optional/input/framework/ms_ole/mathOLE.ppt
new file mode 100755
index 000000000000..94794fae8511
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/mathOLE.ppt
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/mathOLE.xls b/testautomation/xml/optional/input/framework/ms_ole/mathOLE.xls
new file mode 100755
index 000000000000..c8432116ce41
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/mathOLE.xls
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/pptOLE.doc b/testautomation/xml/optional/input/framework/ms_ole/pptOLE.doc
new file mode 100755
index 000000000000..ccb8bb929899
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/pptOLE.doc
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/pptOLE.xls b/testautomation/xml/optional/input/framework/ms_ole/pptOLE.xls
new file mode 100755
index 000000000000..0d85761b5ed4
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/pptOLE.xls
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/wordOLE.ppt b/testautomation/xml/optional/input/framework/ms_ole/wordOLE.ppt
new file mode 100755
index 000000000000..a092f9c7af41
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/wordOLE.ppt
Binary files differ
diff --git a/testautomation/xml/optional/input/framework/ms_ole/wordOLE.xls b/testautomation/xml/optional/input/framework/ms_ole/wordOLE.xls
new file mode 100755
index 000000000000..c292dd82cb35
--- /dev/null
+++ b/testautomation/xml/optional/input/framework/ms_ole/wordOLE.xls
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/alien.sxd b/testautomation/xml/optional/input/graphics/ooo10/alien.sxd
new file mode 100644
index 000000000000..cb67f80219ce
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/alien.sxd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/alien.sxi b/testautomation/xml/optional/input/graphics/ooo10/alien.sxi
new file mode 100644
index 000000000000..6332fdb8eb96
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/alien.sxi
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/chin.sxd b/testautomation/xml/optional/input/graphics/ooo10/chin.sxd
new file mode 100644
index 000000000000..029ce9cd155a
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/chin.sxd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/chin.sxi b/testautomation/xml/optional/input/graphics/ooo10/chin.sxi
new file mode 100644
index 000000000000..bf58a4af0974
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/chin.sxi
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/japan.sxd b/testautomation/xml/optional/input/graphics/ooo10/japan.sxd
new file mode 100644
index 000000000000..8fb3cbf3ed99
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/japan.sxd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/japan.sxi b/testautomation/xml/optional/input/graphics/ooo10/japan.sxi
new file mode 100644
index 000000000000..68b5056dcc38
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/japan.sxi
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/korean.sxd b/testautomation/xml/optional/input/graphics/ooo10/korean.sxd
new file mode 100644
index 000000000000..32d7a8980981
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/korean.sxd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/korean.sxi b/testautomation/xml/optional/input/graphics/ooo10/korean.sxi
new file mode 100644
index 000000000000..9573a913dbe5
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/korean.sxi
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxd b/testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxd
new file mode 100644
index 000000000000..e309cf10706f
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxi b/testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxi
new file mode 100644
index 000000000000..57f095f57b2f
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/ooo10/trad_chin.sxi
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18092.sda b/testautomation/xml/optional/input/graphics/so_bin/18092.sda
new file mode 100755
index 000000000000..b88d692184c2
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18092.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18093.sda b/testautomation/xml/optional/input/graphics/so_bin/18093.sda
new file mode 100755
index 000000000000..b78f86f7c93f
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18093.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18094.sda b/testautomation/xml/optional/input/graphics/so_bin/18094.sda
new file mode 100755
index 000000000000..768061d10153
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18094.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18098.sda b/testautomation/xml/optional/input/graphics/so_bin/18098.sda
new file mode 100755
index 000000000000..f65c66d4daaa
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18098.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18099.sda b/testautomation/xml/optional/input/graphics/so_bin/18099.sda
new file mode 100755
index 000000000000..dc9181a40700
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18099.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18100.sda b/testautomation/xml/optional/input/graphics/so_bin/18100.sda
new file mode 100755
index 000000000000..3b25fd87d07b
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18100.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18101.sda b/testautomation/xml/optional/input/graphics/so_bin/18101.sda
new file mode 100755
index 000000000000..5a6d4dd144c6
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18101.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18102.sda b/testautomation/xml/optional/input/graphics/so_bin/18102.sda
new file mode 100755
index 000000000000..e1213e5441c8
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18102.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18106.sda b/testautomation/xml/optional/input/graphics/so_bin/18106.sda
new file mode 100755
index 000000000000..f9be7b3f63d7
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18106.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18107.sda b/testautomation/xml/optional/input/graphics/so_bin/18107.sda
new file mode 100755
index 000000000000..219fff5071f8
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18107.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18108-18115.sda b/testautomation/xml/optional/input/graphics/so_bin/18108-18115.sda
new file mode 100755
index 000000000000..6f54b89cfb05
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18108-18115.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18116.sda b/testautomation/xml/optional/input/graphics/so_bin/18116.sda
new file mode 100755
index 000000000000..ea708f7b7b56
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18116.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18117.sda b/testautomation/xml/optional/input/graphics/so_bin/18117.sda
new file mode 100755
index 000000000000..5fca5bf2ec94
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18117.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18118.sda b/testautomation/xml/optional/input/graphics/so_bin/18118.sda
new file mode 100755
index 000000000000..25a0857b6d45
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18118.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18119.sda b/testautomation/xml/optional/input/graphics/so_bin/18119.sda
new file mode 100755
index 000000000000..76f61ec73294
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18119.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18120.sda b/testautomation/xml/optional/input/graphics/so_bin/18120.sda
new file mode 100755
index 000000000000..aecebd6a92b2
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18120.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18121-18122.sda b/testautomation/xml/optional/input/graphics/so_bin/18121-18122.sda
new file mode 100755
index 000000000000..43bc56bd6b78
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18121-18122.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18123.sda b/testautomation/xml/optional/input/graphics/so_bin/18123.sda
new file mode 100755
index 000000000000..adc6f968fb67
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18123.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18124.sda b/testautomation/xml/optional/input/graphics/so_bin/18124.sda
new file mode 100755
index 000000000000..cf71b2e65b7e
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18124.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18125.sda b/testautomation/xml/optional/input/graphics/so_bin/18125.sda
new file mode 100755
index 000000000000..f0de15dd5069
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18125.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18126.sda b/testautomation/xml/optional/input/graphics/so_bin/18126.sda
new file mode 100755
index 000000000000..57bebe82d6f4
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18126.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18127-18128.sda b/testautomation/xml/optional/input/graphics/so_bin/18127-18128.sda
new file mode 100755
index 000000000000..a151d4b84c37
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18127-18128.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18129.sda b/testautomation/xml/optional/input/graphics/so_bin/18129.sda
new file mode 100755
index 000000000000..bd2f4ec1f549
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18129.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18130-18131.sda b/testautomation/xml/optional/input/graphics/so_bin/18130-18131.sda
new file mode 100755
index 000000000000..22d2b7d48b77
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18130-18131.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18132.sda b/testautomation/xml/optional/input/graphics/so_bin/18132.sda
new file mode 100755
index 000000000000..6a5fde496556
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18132.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18133-18134.sda b/testautomation/xml/optional/input/graphics/so_bin/18133-18134.sda
new file mode 100755
index 000000000000..9bdaedf3f564
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18133-18134.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18135.sda b/testautomation/xml/optional/input/graphics/so_bin/18135.sda
new file mode 100755
index 000000000000..327d7cfc1af4
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18135.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18136.sda b/testautomation/xml/optional/input/graphics/so_bin/18136.sda
new file mode 100755
index 000000000000..ac21e08bc295
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18136.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18137.sda b/testautomation/xml/optional/input/graphics/so_bin/18137.sda
new file mode 100755
index 000000000000..31ce5764c9e9
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18137.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18138.sda b/testautomation/xml/optional/input/graphics/so_bin/18138.sda
new file mode 100755
index 000000000000..838fd7dbba73
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18138.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18139-18145.sda b/testautomation/xml/optional/input/graphics/so_bin/18139-18145.sda
new file mode 100755
index 000000000000..4169b329777c
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18139-18145.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18244.sda b/testautomation/xml/optional/input/graphics/so_bin/18244.sda
new file mode 100755
index 000000000000..752fd937b4b3
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18244.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18245.sda b/testautomation/xml/optional/input/graphics/so_bin/18245.sda
new file mode 100755
index 000000000000..e515d84c3537
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18245.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18246-18250.sda b/testautomation/xml/optional/input/graphics/so_bin/18246-18250.sda
new file mode 100755
index 000000000000..ec2c02b6781c
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18246-18250.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18464-18467.sda b/testautomation/xml/optional/input/graphics/so_bin/18464-18467.sda
new file mode 100755
index 000000000000..6c1ac9f8680d
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18464-18467.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18520-18524.sda b/testautomation/xml/optional/input/graphics/so_bin/18520-18524.sda
new file mode 100755
index 000000000000..817bd2b913a7
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18520-18524.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18526-18531.sda b/testautomation/xml/optional/input/graphics/so_bin/18526-18531.sda
new file mode 100755
index 000000000000..4cf82839abd3
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18526-18531.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18537-18544.sda b/testautomation/xml/optional/input/graphics/so_bin/18537-18544.sda
new file mode 100755
index 000000000000..276f8166e2fa
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18537-18544.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18629-18632.sda b/testautomation/xml/optional/input/graphics/so_bin/18629-18632.sda
new file mode 100755
index 000000000000..4d843338b0e4
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18629-18632.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18633.sda b/testautomation/xml/optional/input/graphics/so_bin/18633.sda
new file mode 100755
index 000000000000..6581988cde0e
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18633.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18634.sda b/testautomation/xml/optional/input/graphics/so_bin/18634.sda
new file mode 100755
index 000000000000..1775f32f90fc
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18634.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18635.sda b/testautomation/xml/optional/input/graphics/so_bin/18635.sda
new file mode 100755
index 000000000000..7d485b0a9b9a
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18635.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/18636.sda b/testautomation/xml/optional/input/graphics/so_bin/18636.sda
new file mode 100755
index 000000000000..0e5bbc2c077f
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/18636.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/19542-19544.sda b/testautomation/xml/optional/input/graphics/so_bin/19542-19544.sda
new file mode 100755
index 000000000000..d57d45bf2d36
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/19542-19544.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/19545-19547.sda b/testautomation/xml/optional/input/graphics/so_bin/19545-19547.sda
new file mode 100755
index 000000000000..ac90b12102ec
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/19545-19547.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/19548-19553.sda b/testautomation/xml/optional/input/graphics/so_bin/19548-19553.sda
new file mode 100755
index 000000000000..31695500ba44
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/19548-19553.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/19554-19557.sda b/testautomation/xml/optional/input/graphics/so_bin/19554-19557.sda
new file mode 100755
index 000000000000..9f6248bcc5e3
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/19554-19557.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/19558-19560.sda b/testautomation/xml/optional/input/graphics/so_bin/19558-19560.sda
new file mode 100755
index 000000000000..cd54bf5bf7e1
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/19558-19560.sda
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/Autolayout.sdd b/testautomation/xml/optional/input/graphics/so_bin/Autolayout.sdd
new file mode 100755
index 000000000000..128591f4bca4
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/Autolayout.sdd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/Effects_slides.sdd b/testautomation/xml/optional/input/graphics/so_bin/Effects_slides.sdd
new file mode 100755
index 000000000000..7f2893f38019
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/Effects_slides.sdd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/Effects_text_objects.sdd b/testautomation/xml/optional/input/graphics/so_bin/Effects_text_objects.sdd
new file mode 100755
index 000000000000..56c28fb53985
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/Effects_text_objects.sdd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/Objects.sdd b/testautomation/xml/optional/input/graphics/so_bin/Objects.sdd
new file mode 100755
index 000000000000..40b8a7c02e90
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/Objects.sdd
Binary files differ
diff --git a/testautomation/xml/optional/input/graphics/so_bin/Text.sdd b/testautomation/xml/optional/input/graphics/so_bin/Text.sdd
new file mode 100755
index 000000000000..0d1fb8d180da
--- /dev/null
+++ b/testautomation/xml/optional/input/graphics/so_bin/Text.sdd
Binary files differ
diff --git a/testautomation/xml/optional/input/math/asian/jp_math.sxm b/testautomation/xml/optional/input/math/asian/jp_math.sxm
new file mode 100644
index 000000000000..24b3425f96c2
--- /dev/null
+++ b/testautomation/xml/optional/input/math/asian/jp_math.sxm
Binary files differ
diff --git a/testautomation/xml/optional/input/math/asian/ko_math.sxm b/testautomation/xml/optional/input/math/asian/ko_math.sxm
new file mode 100644
index 000000000000..68b30659f8d7
--- /dev/null
+++ b/testautomation/xml/optional/input/math/asian/ko_math.sxm
Binary files differ
diff --git a/testautomation/xml/optional/input/math/asian/zh_cn_math.sxm b/testautomation/xml/optional/input/math/asian/zh_cn_math.sxm
new file mode 100644
index 000000000000..1e8a2463b24f
--- /dev/null
+++ b/testautomation/xml/optional/input/math/asian/zh_cn_math.sxm
Binary files differ
diff --git a/testautomation/xml/optional/input/math/asian/zh_tw_math.sxm b/testautomation/xml/optional/input/math/asian/zh_tw_math.sxm
new file mode 100644
index 000000000000..0f116e2f49c6
--- /dev/null
+++ b/testautomation/xml/optional/input/math/asian/zh_tw_math.sxm
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/1_unary-binary.smf b/testautomation/xml/optional/input/math/so_binary/1_unary-binary.smf
new file mode 100755
index 000000000000..703901ea2bf1
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/1_unary-binary.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/2_relations.smf b/testautomation/xml/optional/input/math/so_binary/2_relations.smf
new file mode 100755
index 000000000000..c24c02c96e2c
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/2_relations.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/3_set_operations.smf b/testautomation/xml/optional/input/math/so_binary/3_set_operations.smf
new file mode 100755
index 000000000000..1f1bc5134d54
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/3_set_operations.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/4_functions.smf b/testautomation/xml/optional/input/math/so_binary/4_functions.smf
new file mode 100755
index 000000000000..7fd39d3015fd
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/4_functions.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/5_operators.smf b/testautomation/xml/optional/input/math/so_binary/5_operators.smf
new file mode 100755
index 000000000000..a9173467124b
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/5_operators.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/6_attributes.smf b/testautomation/xml/optional/input/math/so_binary/6_attributes.smf
new file mode 100755
index 000000000000..d4d12d63440e
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/6_attributes.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/7_others.smf b/testautomation/xml/optional/input/math/so_binary/7_others.smf
new file mode 100755
index 000000000000..e23d20915db5
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/7_others.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/8_brackets.smf b/testautomation/xml/optional/input/math/so_binary/8_brackets.smf
new file mode 100755
index 000000000000..36046d6801a9
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/8_brackets.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/9_formats.smf b/testautomation/xml/optional/input/math/so_binary/9_formats.smf
new file mode 100755
index 000000000000..1e5cf5791ed5
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/9_formats.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/all_commands.smf b/testautomation/xml/optional/input/math/so_binary/all_commands.smf
new file mode 100755
index 000000000000..acacf07b900a
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/all_commands.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/all_commands_star_math_3.0.smf b/testautomation/xml/optional/input/math/so_binary/all_commands_star_math_3.0.smf
new file mode 100755
index 000000000000..5c636cece3b6
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/all_commands_star_math_3.0.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/all_selections.smf b/testautomation/xml/optional/input/math/so_binary/all_selections.smf
new file mode 100755
index 000000000000..781a611c8dcb
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/all_selections.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/annuities.smf b/testautomation/xml/optional/input/math/so_binary/annuities.smf
new file mode 100755
index 000000000000..b0077eaa5774
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/annuities.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/cauchy.smf b/testautomation/xml/optional/input/math/so_binary/cauchy.smf
new file mode 100755
index 000000000000..c4d8a4c281c5
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/cauchy.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/chemicalelement.smf b/testautomation/xml/optional/input/math/so_binary/chemicalelement.smf
new file mode 100755
index 000000000000..70f5b0d9bb6b
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/chemicalelement.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/definitionstraightline.smf b/testautomation/xml/optional/input/math/so_binary/definitionstraightline.smf
new file mode 100755
index 000000000000..fbc4e5c88471
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/definitionstraightline.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/effectiveannualinterestrate.smf b/testautomation/xml/optional/input/math/so_binary/effectiveannualinterestrate.smf
new file mode 100755
index 000000000000..640507787381
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/effectiveannualinterestrate.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/hamiltonoperator.smf b/testautomation/xml/optional/input/math/so_binary/hamiltonoperator.smf
new file mode 100755
index 000000000000..641afee5ece3
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/hamiltonoperator.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/investmentreturns.smf b/testautomation/xml/optional/input/math/so_binary/investmentreturns.smf
new file mode 100755
index 000000000000..16684ca0db67
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/investmentreturns.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/lawoferrorpropagation.smf b/testautomation/xml/optional/input/math/so_binary/lawoferrorpropagation.smf
new file mode 100755
index 000000000000..3f29dd70ac37
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/lawoferrorpropagation.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/limes.smf b/testautomation/xml/optional/input/math/so_binary/limes.smf
new file mode 100755
index 000000000000..9e55d6ec45a6
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/limes.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/linearregression.smf b/testautomation/xml/optional/input/math/so_binary/linearregression.smf
new file mode 100755
index 000000000000..8deb0357689f
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/linearregression.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/maxwell.smf b/testautomation/xml/optional/input/math/so_binary/maxwell.smf
new file mode 100755
index 000000000000..5d4938c29436
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/maxwell.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/scalarproduct.smf b/testautomation/xml/optional/input/math/so_binary/scalarproduct.smf
new file mode 100755
index 000000000000..1e4c7a65cfa9
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/scalarproduct.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/sinus.smf b/testautomation/xml/optional/input/math/so_binary/sinus.smf
new file mode 100755
index 000000000000..4d76d7acfccd
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/sinus.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/squareroot.smf b/testautomation/xml/optional/input/math/so_binary/squareroot.smf
new file mode 100755
index 000000000000..65c73aa95d03
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/squareroot.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/standarddeviation.smf b/testautomation/xml/optional/input/math/so_binary/standarddeviation.smf
new file mode 100755
index 000000000000..b26b249ac544
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/standarddeviation.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/math/so_binary/vectorproduct.smf b/testautomation/xml/optional/input/math/so_binary/vectorproduct.smf
new file mode 100755
index 000000000000..a7cf5f143218
--- /dev/null
+++ b/testautomation/xml/optional/input/math/so_binary/vectorproduct.smf
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/bookmark_script_note.sdw b/testautomation/xml/optional/input/writer/bookmark_script_note.sdw
new file mode 100755
index 000000000000..7806f31f12c2
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/bookmark_script_note.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/characters.sdw b/testautomation/xml/optional/input/writer/characters.sdw
new file mode 100755
index 000000000000..e50eb08cccf4
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/characters.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/events_to_objects.sdw b/testautomation/xml/optional/input/writer/events_to_objects.sdw
new file mode 100755
index 000000000000..2286206c3996
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/events_to_objects.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/feat1318.sxw b/testautomation/xml/optional/input/writer/feat1318.sxw
new file mode 100644
index 000000000000..a5df7d96af31
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/feat1318.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/feat476.sxw b/testautomation/xml/optional/input/writer/feat476.sxw
new file mode 100644
index 000000000000..0c76e07cb736
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/feat476.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/fields.sdw b/testautomation/xml/optional/input/writer/fields.sdw
new file mode 100755
index 000000000000..11a0da3ba041
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/fields.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/fiscus.sxw b/testautomation/xml/optional/input/writer/fiscus.sxw
new file mode 100644
index 000000000000..c49fd4e08a2e
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/fiscus.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/fiscus2.sxw b/testautomation/xml/optional/input/writer/fiscus2.sxw
new file mode 100644
index 000000000000..a6d474e21c7d
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/fiscus2.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/footnotes.sdw b/testautomation/xml/optional/input/writer/footnotes.sdw
new file mode 100755
index 000000000000..b31308c8a0f4
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/footnotes.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/frames.sdw b/testautomation/xml/optional/input/writer/frames.sdw
new file mode 100755
index 000000000000..3905412f3028
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/frames.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/hyperlinks.sdw b/testautomation/xml/optional/input/writer/hyperlinks.sdw
new file mode 100755
index 000000000000..fea0d08d9701
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/hyperlinks.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/index_biblio.sdw b/testautomation/xml/optional/input/writer/index_biblio.sdw
new file mode 100755
index 000000000000..28d3019bb796
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/index_biblio.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/index_most.sdw b/testautomation/xml/optional/input/writer/index_most.sdw
new file mode 100755
index 000000000000..f8513aa8d28a
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/index_most.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/indexes_alpha.sdw b/testautomation/xml/optional/input/writer/indexes_alpha.sdw
new file mode 100755
index 000000000000..159cdd3a7d89
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/indexes_alpha.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/jp_text.sxw b/testautomation/xml/optional/input/writer/jp_text.sxw
new file mode 100644
index 000000000000..489d2f65c002
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/jp_text.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/ko_text.sxw b/testautomation/xml/optional/input/writer/ko_text.sxw
new file mode 100644
index 000000000000..ad48aad5a2ed
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/ko_text.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/pages.sdw b/testautomation/xml/optional/input/writer/pages.sdw
new file mode 100755
index 000000000000..2dde49e67bfe
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/pages.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/paragraph01.sdw b/testautomation/xml/optional/input/writer/paragraph01.sdw
new file mode 100755
index 000000000000..bc540bd7ab3c
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/paragraph01.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/paragraph02.sdw b/testautomation/xml/optional/input/writer/paragraph02.sdw
new file mode 100755
index 000000000000..9a900529b1d4
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/paragraph02.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/section_main.sdw b/testautomation/xml/optional/input/writer/section_main.sdw
new file mode 100755
index 000000000000..ef108428abca
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/section_main.sdw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/verttoline1.doc b/testautomation/xml/optional/input/writer/verttoline1.doc
new file mode 100755
index 000000000000..54907baa61d9
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/verttoline1.doc
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/zh_cn_text.sxw b/testautomation/xml/optional/input/writer/zh_cn_text.sxw
new file mode 100644
index 000000000000..a2a8a1c9d736
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/zh_cn_text.sxw
Binary files differ
diff --git a/testautomation/xml/optional/input/writer/zh_tw_text.sxw b/testautomation/xml/optional/input/writer/zh_tw_text.sxw
new file mode 100644
index 000000000000..d83f12f203a5
--- /dev/null
+++ b/testautomation/xml/optional/input/writer/zh_tw_text.sxw
Binary files differ
diff --git a/testautomation/xml/optional/math_xml_7_export.bas b/testautomation/xml/optional/math_xml_7_export.bas
new file mode 100644
index 000000000000..b50f82c2bbe8
--- /dev/null
+++ b/testautomation/xml/optional/math_xml_7_export.bas
@@ -0,0 +1,91 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : thorsten.bosbach@oracle.com
+'*
+'* short description : Export test for the Math XML 6.0/7/OOo 1.x format
+'*
+'\***********************************************************************************
+ Global Isliste(250) as string
+ Global OutputPath as string
+sub main
+ printlog "---------------------------------------------------------------------"
+ printlog "----- X M L - M A T H - U P D A T E T E S T -----"
+ printlog "---------------------------------------------------------------------"
+
+ use "xml\optional\includes\sxm7_01.inc"
+ use "xml\tools\includes\xmltool1.inc"
+
+ 'Disabling PrettyPriting if it has been set.
+ call hEnablePrettyPrinting(1)
+ call CreateWorkXMLExportDir ( "user\work\xml\math\level1\" )
+
+ call hStatusIn ("XML","math_xml_7_export.bas")
+ printlog "------------------- sxm_01.inc ---------------------"
+ call tunary_binary
+ call trelations
+ call tset_operations
+ call tfunctions
+ call toperators
+ call tattributes
+ call tothers
+ call tbrackets
+ call tformats
+ call tall_commands
+ call tall_commands_star_math_3
+ call tall_selections
+ call tannuities
+ call tcauchy
+ call tchemicalelement
+ call tdefinitionstraightline
+ call teffectiveannualinterestrate
+ call thamiltonoperator
+ call tinvestmentreturns
+ call tlawoferrorpropagation
+ call tlimes
+ call tlinearregression
+ call tmaxwell
+ call tscalarproduct
+ call tsinus
+ call tsquareroot
+ call tstandarddeviation
+ call tvectorproduct
+ call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+
+
+ use "global\tools\includes\optional\t_xml2.inc"
+ gApplication = "MATH"
+ Call GetUseFiles
+end sub
+
diff --git a/testautomation/xml/optional/w_xml_vertical_alignment.bas b/testautomation/xml/optional/w_xml_vertical_alignment.bas
new file mode 100644
index 000000000000..26caf637d134
--- /dev/null
+++ b/testautomation/xml/optional/w_xml_vertical_alignment.bas
@@ -0,0 +1,56 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : Testing for vertical alignment in writer
+'*
+'\***********************************************************************
+
+sub main
+ use "xml/tools/includes/xmltool1.inc"
+ use "xml/optional/includes/w_xml_vertical_alignment.inc"
+
+ Printlog "--------------------------------------------------"
+ Printlog "--- Vertical Alignment Writer ---"
+ Printlog "--------------------------------------------------"
+
+ Call hStatusIn("XML", "w_xml_vertical_alignment.bas")
+ call hEnablePrettyPrinting(1)
+ call tVerticalAlignmentWriter
+ Call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global/system/includes/master.inc"
+ use "global/system/includes/gvariabl.inc"
+ use "global\tools\includes\optional\t_ui_filters.inc"
+ gApplication = "WRITER"
+ call getusefiles
+end sub
diff --git a/testautomation/xml/optional/writer_xml_7_export.bas b/testautomation/xml/optional/writer_xml_7_export.bas
new file mode 100644
index 000000000000..6e87564ca3df
--- /dev/null
+++ b/testautomation/xml/optional/writer_xml_7_export.bas
@@ -0,0 +1,67 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : helge.delfs@oracle.com
+'*
+'* short description : Export test for the Writer XML 6.0/7/OOo 1.x format
+'*
+'\***********************************************************************************
+
+sub main
+ printlog "---------------------------------------------------------------------"
+ printlog "----- Export test for the Writer XML 6.0/7/OOo 1.x format -----"
+ printlog "---------------------------------------------------------------------"
+ use "xml\optional\includes\sxw7_01.inc"
+ use "xml\optional\includes\sxw7_01a.inc"
+ use "xml\optional\includes\sxw7_02.inc"
+ use "xml\optional\includes\sxw7_03.inc"
+ use "xml\tools\includes\xmltool1.inc"
+
+ call hStatusIn ("XML","writer_xml_7_export.bas")
+ call CreateWorkXMLExportDir ( "user\work\xml\writer\level1\" )
+ hFileCloseAll()
+ 'Disabling PrettyPriting if it has been set.
+ call hEnablePrettyPrinting(1)
+ call sxw7_01
+ call sxw7_01a
+ call sxw7_02
+ call sxw7_03
+ call hStatusOut
+end sub
+'
+'-------------------------------------------------------------------------------
+'
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+ use "global\tools\includes\optional\t_xml1.inc"
+ use "global\tools\includes\optional\t_xml2.inc"
+ use "global\tools\includes\optional\t_security_tools.inc"
+ gApplication = "WRITER"
+ Call GetUseFiles
+end sub
+
diff --git a/testautomation/xml/required/includes/oasis_graphics_01.inc b/testautomation/xml/required/includes/oasis_graphics_01.inc
new file mode 100644
index 000000000000..9c323d46386b
--- /dev/null
+++ b/testautomation/xml/required/includes/oasis_graphics_01.inc
@@ -0,0 +1,597 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : Library 01 for OASIS OpenDocument File Format (Presentation and Drawing) test
+'*
+'************************************************************************
+'*
+' #1 talien_attributes ' Verification that alian attributes will be stored in document.
+' #1 t_all_header_footer ' http://specs.openoffice.org/impress/header_and_footer.sxw
+' #1 t_no_header_footer ' http://specs.openoffice.org/impress/header_and_footer.sxw
+' #1 t_no_header_footer_master_elements ' http://specs.openoffice.org/impress/header_and_footer.sxw
+' #1 t_some_header_footer ' http://specs.openoffice.org/impress/header_and_footer.sxw
+'*
+'\***********************************************************************
+
+testcase talien_attributes
+ Dim i as integer
+ Dim AttrNameInDOM as string
+ Dim sPropertyElement as string
+ Dim sLogAttributeName as string
+ Dim sAttributeSearch(9) as string
+ Dim sAttributeValue(9) as string
+
+ printlog "+- Presentation: alien.odp"
+ '/// Opening alien.sxi. ///
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\alien_attributes\alien_attributes_presentation.odp"))
+ '/// Saving document. ///
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation.odp") , "impress8") = TRUE then
+ '/// Closing document. ///
+ call hCloseDocument
+ '/// Unpacking the compressed (ZIP) archive.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\") )
+ '/// Verifying the well-formness of styles.xml, content.xml and meta.xml.
+ '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\styles.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\meta.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\content.xml")) = TRUE then
+ '/// Opening exported document (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation.odp")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\content.xml"))
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>content.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:alien=&quot;http://openoffice.org/2000/alien&quot;
+ '-------------------------------------------------------------------------
+ sAttributeSearch(1) = "xmlns:alien"
+ sAttributeValue(1) = "http://openoffice.org/2000/alien"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-content")
+ printlog " +- " & sAttributeSearch(1)
+ if SAXGetAttributeValue(sAttributeSearch(1)) <> sAttributeValue(1) then
+ warnlog "Hidden attributes (in namespace): " & sAttributeSearch(1) & " is not " & sAttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ SAXSeekElement("/")
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a drawing-page style</b></li>
+ '///+<li><b>in a graphics style</b></li>
+ '///+<li><b>in a paragraph style (twice)</b></li>
+ '///+<li><b>in a text style</b></li></ol>
+ '///+ Searching for: alien:key=&quot;page&quot;
+ '///+ Searching for: alien:key=&quot;shape&quot;
+ '///+ Searching for: alien:key=&quot;para&quot;
+ '///+ Searching for: alien:key=&quot;shape-text&quot;
+ '///+ Searching for: alien:key=&quot;text&quot;
+
+ 'The number behind the string variable is the position
+ 'in the DOM-tree. The search is hard coded because the
+ 'export of the same file should not change in the lifetime
+ 'cycle.
+
+ sAttributeSearch(1) = "alien:key"
+ sAttributeValue(1) = "page"
+
+ sAttributeSearch(3) = "alien:key"
+ sAttributeValue(3) = "shape"
+
+ sAttributeSearch(6) = "alien:key"
+ sAttributeValue(6) = "para"
+
+ sAttributeSearch(7) = "alien:key"
+ sAttributeValue(7) = "shape-text"
+
+ sAttributeSearch(9) = "alien:key"
+ sAttributeValue(9) = "text"
+ '-------------------------------------------------------------------------
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ for i = 1 to 9
+ select case i
+ case 1 : printlog "-----------------------------------------"
+ printlog "Hidden attributes in a drawing-page style"
+ printlog "-----------------------------------------"
+ sPropertyElement = "style:drawing-page-properties"
+ sLogAttributeName = "drawing-page"
+ case 3 : printlog "-------------------------------------"
+ printlog "Hidden attributes in a graphics style"
+ printlog "-------------------------------------"
+ sPropertyElement = "style:graphic-properties"
+ sLogAttributeName = "graphics"
+ case 6, 7 : printlog "-------------------------------------------"
+ printlog "Hidden attributes in a paragraph style (" & i-4 & ")"
+ printlog "-------------------------------------------"
+ sPropertyElement = "style:paragraph-properties"
+ sLogAttributeName = "paragraph"
+ case 9 : printlog "---------------------------------"
+ printlog "Hidden attributes in a text style"
+ printlog "---------------------------------"
+ sPropertyElement = "style:text-properties"
+ sLogAttributeName = "text"
+ end select
+ if i = 1 or i = 3 or i = 6 or i = 7 or i = 9 then
+ 'The hidden attributes are in a known sequence included,
+ 'so the same routine will be used for different styles!
+ SAXSeekElement("/")
+ SAXSeekElement("office:document-content")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style" , i )
+ AttrNameInDOM = SAXGetAttributeValue("style:name")
+ printlog " + style:style position in DOM: " & i & ". Attribute name: " & AttrNameInDOM
+ printlog " |"
+
+ 'It depends on the type of element (drawing-page, paragraphic, graphics, ...)
+ 'which is the next element. That is a difference to OOo XML 1.0 where everything
+ 'called 'style:properties'.
+
+ SAXSeekElement(sPropertyElement)
+ printlog " +- " & sAttributeSearch(i)
+ if SAXGetAttributeValue(sAttributeSearch(i)) <> sAttributeValue(i) then
+ warnlog "Hidden attributes (in a " & sLogAttributeName & " style): " & sAttributeSearch(i) & " is not " & sAttributeValue(i) & "!"
+ end if
+ end if
+ next i
+ SAXSeekElement("/")
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ '/// Closing the XML DOM.
+ SAXRelease()
+ '/// Opening the DOM of styles.xml.
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\alien_attributes_presentation\styles.xml"))
+ '-------------------------------------------------------------------------
+ printlog "-------------------"
+ printlog "s t y l e s . x m l"
+ printlog "-------------------"
+ printlog "-----------------"
+ printlog "Hidden Namespaces"
+ printlog "-----------------"
+ '/// <u><b>styles.xml</u></b>
+ '/// <u>Hidden attributes in namespaces</u>
+ '///+ Searching for: xmlns:alien=&quot;http://openoffice.org/2000/alien&quot;
+ '-------------------------------------------------------------------------
+ sAttributeSearch(1) = "xmlns:alien"
+ sAttributeValue(1) = "http://openoffice.org/2000/alien"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ printlog " +- " & sAttributeSearch(1)
+ if SAXGetAttributeValue(sAttributeSearch(1)) <> sAttributeValue(1) then
+ warnlog "Hidden attributes (in namespace): " & sAttributeSearch(1) & " is not " & sAttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ SAXSeekElement("/")
+ printlog "----------------------------------------"
+ printlog "Hidden attributes in a master-page style"
+ printlog "----------------------------------------"
+ '-------------------------------------------------------------------------
+ '/// <u>hidden attributes</u>
+ '///+<ol><li><b>in a master-page style</b></li></ol>
+ '///+ Searching for: alien:key=&quot;master-page&quot;
+ '-------------------------------------------------------------------------
+ sAttributeSearch(1) = "alien:key"
+ sAttributeValue(1) = "master-page"
+ printlog "++ Feature(s) to be searched for:"
+ printlog " |"
+ '-------------------------------------------------------------------------
+ SAXSeekElement("office:document-styles")
+ SAXSeekElement("office:automatic-styles")
+ SAXSeekElement("style:style")
+ SAXSeekElement("style:drawing-page-properties")
+ printlog " +- " & sAttributeSearch(1)
+ if SAXGetAttributeValue(sAttributeSearch(1)) <> sAttributeValue(1) then
+ warnlog "Hidden attributes (in master-page style): " & sAttributeSearch(1) & " is not " & sAttributeValue(1) & "!"
+ end if
+ printlog " * * *"
+ '-------------------------------------------------------------------------
+ SAXRelease()
+ else
+ warnlog "One of the XML files not well formed!"
+ end if
+ end if
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t_all_header_footer
+ Dim iPresAttr as integer
+ Dim sAttributeSearch(4) as string
+ Dim sAttributeValue(4) as string
+ Dim sHeaderInNotes as string
+
+ printlog "+- Presentation: allheaderfooter_fixed.odp"
+ '/// Opening <i>xml\required\input\graphics\header_footer\allheaderfooter_fixed.odp</i>.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\allheaderfooter_fixed.odp"))
+ '/// Saving document as <i>user\work\xml\graphics\update\allheaderfooter_fixed.odp</i> with default presentation document name.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed.odp") , "impress8") = TRUE then
+ '/// Closing document.
+ call hCloseDocument
+ '/// Unpacking the compressed (ZIP) archive. Putting the content to <i>user\work\xml\graphics\update\allheaderfooter_fixed\</i>"
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\") )
+ '/// Verifying the well-formness of styles.xml, content.xml and meta.xml.
+ '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\styles.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\meta.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\content.xml")) = TRUE then
+ '/// Opening exported document (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed.odp")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ '/// <u><b>content.xml</u></b>
+ '/// Opening user\work\xml\graphics\update\allheaderfooter_fixed\content.xml with SAX parser.
+ '/// Searching for <ul>
+ '///+<li>&lt;presentation:header-decl presentation:name=&quot;hdr1&quot;&gt;Header in notes/handout powered by QA&lt;/presentation:header-decl&gt;
+ '///+<li>&lt;presentation:footer-decl presentation:name=&quot;ftr1&quot;&gt;footer powered by QA&lt;/presentation:footer-decl&gt;
+ '///+<li>&lt;presentation:footer-decl presentation:name=&quot;ftr2&quot;&gt;Footer notes/handout powered by QA&lt;/presentation:footer-decl&gt;
+ '///+<li>&lt;presentation:date-time-decl presentation:name=&quot;dtd1&quot; presentation:source=&quot;fixed&quot;&gt;09.12.2001&lt;/presentation:date-time-decl&gt;</ul>
+ sAttributeSearch(1) = "presentation:header-decl"
+ sAttributeValue(1) = "Header in notes/handout powered by QA"
+ sAttributeSearch(2) = "presentation:footer-decl"
+ sAttributeValue(2) = "footer powered by QA"
+ sAttributeSearch(3) = "presentation:footer-decl"
+ sAttributeValue(3) = "Footer notes/handout powered by QA"
+ sAttributeSearch(4) = "presentation:date-time-decl"
+ sAttributeValue(4) = "09.12.2001"
+
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\allheaderfooter_fixed\content.xml"))
+ for iPresAttr = 1 to 4
+ '/// Parsing to office:document-content
+ SAXSeekElement("office:document-content")
+ '/// Parsing to office:body
+ SAXSeekElement("office:body")
+ '/// Parsing to office:presentation
+ SAXSeekElement("office:presentation")
+ '/// Parsing to <ol><li>presentation:header-decl</li>
+ '///+ <li>presentation:footer-decl</li>
+ '///+ <li>presentation:footer-decl</li>
+ '///+ <li>presentation:date-time-decl</li></ol>
+ if iPresAttr = 3 then
+ 'To reach the second 'presentation:footer-decl'-element an additional parameter is needed.
+ SAXSeekElement(sAttributeSearch(iPresAttr) , 2)
+ else
+ SAXSeekElement(sAttributeSearch(iPresAttr))
+ end if
+ '/// Parsing 1 node deeper (to get the CharNode)
+ SAXSeekElement(1)
+ '/// Reading the characters of the CharNode and verifying it against the reference.
+ ' Initializing the variable (empty)
+ sHeaderInNotes = ""
+ sHeaderInNotes = SAXGetChars
+ if sHeaderInNotes <> sAttributeValue(iPresAttr) then
+ warnlog "Failed! - Attribute '" & sAttributeSearch(iPresAttr) & "' has the value '" & sHeaderInNotes & "' but it has to be '" & sAttributeValue(iPresAttr) & "'."
+ else
+ printlog "Passed. - Attribute '" & sAttributeSearch(iPresAttr) & "' has the correct value '" & sHeaderInNotes & "'."
+ end if
+ SAXSeekElement("/")
+ next iPresAttr
+ SAXRelease()
+ else
+ warnlog "One of the XML files not well formed!"
+ end if
+ end if
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t_no_header_footer
+ Dim sDrawName as string
+ Dim sElementName as string
+ Dim sAttributeSearch(3) as string
+ Dim sAttributeValue as string
+ Dim i as integer
+ Dim iChildsOfAutomaticStyles as integer
+ printlog "+- Presentation: noheaderfooter.odp"
+ '/// Opening <i>xml\required\input\graphics\header_footer\noheaderfooter.odp</i>.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\noheaderfooter.odp"))
+ '/// Saving document as <i>user\work\xml\graphics\update\noheaderfooter.odp</i> with default presentation document name.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter.odp") , "impress8") = TRUE then
+ '/// Closing document. ///
+ call hCloseDocument
+ '/// Unpacking the compressed (ZIP) archive.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\") )
+ '/// Verifying the well-formness of styles.xml, content.xml and meta.xml.
+ '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\styles.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\meta.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\content.xml")) = TRUE then
+ '/// Opening exported document (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter.odp")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ '/// Opening user\work\xml\graphics\update\noheaderfooter\content.xml with SAX-parser.
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\noheaderfooter\content.xml"))
+ '/// <ol>
+ '///+<li> Parsing to office:document-content
+ SAXSeekElement("office:document-content")
+ '///+ Parsing to office:body
+ SAXSeekElement("office:body")
+ '///+ Parsing to office:presentation
+ SAXSeekElement("office:presentation")
+ '///+ Parsing to draw:page
+ SAXSeekElement("draw:page")
+ '///+ Get value of draw:style-name
+ sDrawName = ""
+ sDrawName = SAXGetAttributeValue ("draw:style-name")
+ '///+ Get back to the top of DOM</li>
+ SAXSeekElement("/")
+ '///+<li> Parsing to office:document-content
+ SAXSeekElement("office:document-content")
+ '///+ Parsing to office:automatic-styles
+ SAXSeekElement("office:automatic-styles")
+ '///+ Look where the style:style element is where the style:name is the same as it was for draw:name
+ iChildsOfAutomaticStyles = SAXGetChildCount
+ 'The count of style:style nodes is normaly 7 but the 8th is a text:list-style where
+ 'the searched attributes won't be included.
+ for i = 1 to (iChildsOfAutomaticStyles-1)
+ SAXSeekElement("style:style" , i)
+ sElementName = SAXGetAttributeValue("style:name")
+ if sElementName = sDrawName then
+ '///+ If found the named attribute (e.g. dp1) parsing to style:drawing-page-properties.
+ SAXSeekElement("style:drawing-page-properties")
+ exit for
+ end if
+ if i = iChildsOfAutomaticStyles then
+ '///+ If the style:name is not found a warnlog will be written into the log and the test will be stopped.
+ warnlog "Failed! The style:style='" & sDrawName & "' has not been found in the automatic-styles! Test will be aborted here!"
+ SAXRelease()
+ goto endsub
+ end if
+ 'Go one node to the parent node.
+ SAXSeekElement(0)
+ next i
+ '///+Parsing to <ol><li>presentation:display-footer</li>
+ '///+ <li>presentation:footer-decl</li>
+ '///+ <li>presentation:display-page-number</li>
+ '///+ <li>presentation:display-date-time</li></ol>
+ sAttributeSearch(1) = "presentation:display-footer"
+ sAttributeSearch(2) = "presentation:display-page-number"
+ sAttributeSearch(3) = "presentation:display-date-time"
+ for i = 1 to 3
+ sAttributeValue = SAXGetAttributeValue(sAttributeSearch(i))
+ '///+ Verifying that the value of each attribute is 'false'.</li></ol>
+ if sAttributeValue <> "false" then
+ warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'false'!"
+ else
+ printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'false'."
+ end if
+ next i
+ SAXRelease()
+ else
+ warnlog "One of the XML files not well formed!"
+ end if
+ end if
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t_no_header_footer_master_elements
+ printlog "+- Presentation: nomasterelements.odp"
+ '/// Opening <i>xml\required\input\graphics\header_footer\nomasterelements.odp</i>.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\nomasterelements.odp"))
+ '/// Saving document as <i>user\work\xml\graphics\update\nomasterelements.odp</i> with default presentation document name.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements.odp") , "impress8") = TRUE then
+ '/// Closing document. ///
+ call hCloseDocument
+ '/// Unpacking the compressed (ZIP) archive.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\") )
+ '/// Verifying the well-formness of styles.xml, content.xml and meta.xml.
+ '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\styles.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\meta.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements\content.xml")) = TRUE then
+ '/// Opening exported document (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\nomasterelements.odp")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ else
+ warnlog "One of the XML files not well formed!"
+ end if
+ end if
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
+testcase t_some_header_footer
+ Dim sDrawName as string
+ Dim sElementName as string
+ Dim sAttributeSearch(4) as string
+ Dim sAttributeValue as string
+ Dim i as integer
+ Dim iChildsOfAutomaticStyles as integer
+ Dim iLoopSearch as integer
+ printlog "+- Presentation: someheaderfooter_varible.odp"
+ '/// Opening <i>xml\required\input\graphics\header_footer\someheaderfooter_varible.odp</i>.
+ call hFileOpen (gTesttoolPath & ConvertPath("xml\required\input\graphics\header_footer\someheaderfooter_varible.odp"))
+ '/// Saving document as <i>user\work\xml\graphics\update\someheaderfooter_varible.odp</i> with default presentation document name.
+ if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible.odp") , "impress8") = TRUE then
+ '/// Closing document. ///
+ call hCloseDocument
+ '/// Unpacking the compressed (ZIP) archive.
+ UnpackStorage( gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible.odp") , gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\") )
+ '/// Verifying the well-formness of styles.xml, content.xml and meta.xml.
+ '///+ Only if the three XML files are well formed the next checks (GPF-check, attribute-search) will be started.
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\styles.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\meta.xml")) = TRUE then
+ if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\content.xml")) = TRUE then
+ '/// Opening exported document (GPF check). ///
+ call hFileOpen (gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible.odp")
+ sleep(2)
+ '/// Closing document. ///
+ call hCloseDocument
+ sleep(2)
+ '/// Opening user\work\xml\graphics\update\noheaderfooter\content.xml with SAX-parser.
+ SAXReadFile(gOfficePath & ConvertPath("user\work\xml\graphics\update\someheaderfooter_varible\content.xml"))
+ '/// <ol>
+ '///+<li> Parsing to office:document-content
+ For iLoopSearch = 1 to 2
+ SAXSeekElement("office:document-content")
+ '///+ Parsing to office:body
+ SAXSeekElement("office:body")
+ '///+ Parsing to office:presentation
+ SAXSeekElement("office:presentation")
+ '///+ Parsing to draw:page
+ SAXSeekElement("draw:page")
+ '///+ In second loop enter <i>presentation:notes</i> node
+ if iLoopSearch = 2 then
+ SAXSeekElement("presentation:notes")
+ end if
+ '///+ Get value of draw:style-name
+ sDrawName = ""
+ sDrawName = SAXGetAttributeValue ("draw:style-name")
+ '///+ Get back to the top of DOM
+ SAXSeekElement("/")
+ '///+<li> Parsing to office:document-content
+ SAXSeekElement("office:document-content")
+ '///+ Parsing to office:automatic-styles
+ SAXSeekElement("office:automatic-styles")
+ '///+ Look where the style:style element is where the style:name is the same as it was for draw:name
+ iChildsOfAutomaticStyles = SAXGetChildCount
+ 'The count of style:style nodes is normaly 7 but the 8th is a text:list-style where
+ 'the searched attributes won't be included.
+ for i = 1 to (iChildsOfAutomaticStyles-1)
+ SAXSeekElement("style:style" , i)
+ sElementName = SAXGetAttributeValue("style:name")
+ if sElementName = sDrawName then
+ '///+ If found the named attribute (e.g. dp1) parsing to style:drawing-page-properties.
+ SAXSeekElement("style:drawing-page-properties")
+ exit for
+ end if
+ if i = iChildsOfAutomaticStyles then
+ '///+ If the style:name is not found a warnlog will be written into the log and the test will be stopped.
+ warnlog "Failed! The style:style='" & sDrawName & "' has not been found in the automatic-styles! Test will be aborted here!"
+ SAXRelease()
+ goto endsub
+ end if
+ 'Go one node to the parent node.
+ SAXSeekElement(0)
+ next i
+ if iLoopSearch = 1 then
+ '///+Parsing to <ol>
+ '///+ <li>presentation:display-footer</li>
+ '///+ <li>presentation:footer-decl</li>
+ '///+ <li>presentation:display-page-number</li>
+ '///+ <li>presentation:display-date-time</li></ol>
+ sAttributeSearch(1) = "presentation:display-footer"
+ sAttributeSearch(2) = "presentation:display-page-number"
+ sAttributeSearch(3) = "presentation:display-date-time"
+ for i = 1 to 3
+ sAttributeValue = SAXGetAttributeValue(sAttributeSearch(i))
+ '/// Verifying that the value of <i>presentation:display-footer</i> attribute is 'false'.
+ if i = 1 then
+ if sAttributeValue <> "false" then
+ warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'false'!"
+ else
+ printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'false'."
+ end if
+ else
+ '///+ Verifying that the values of <i>presentation:display-page-number</i> and <i>presentation:display-date-time</i> attribute are 'true'.
+ if sAttributeValue <> "true" then
+ warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'true'!"
+ else
+ printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'true'."
+ end if
+ end if
+ next i
+ '///+ Get back to the top of DOM
+ SAXSeekElement("/")
+ end if
+ if iLoopSearch = 2 then
+ '///+Parsing to second page-style attributes <ol>
+ '///+ <li>presentation:display-header</li>
+ '///+ <li>presentation:display-footer</li>
+ '///+ <li>presentation:display-page-number</li>
+ '///+ <li>presentation:display-date-time</li></ol>
+ sAttributeSearch(1) = "presentation:display-header"
+ sAttributeSearch(2) = "presentation:display-footer"
+ sAttributeSearch(3) = "presentation:display-page-number"
+ sAttributeSearch(4) = "presentation:display-date-time"
+ for i = 1 to 4
+ sAttributeValue = SAXGetAttributeValue(sAttributeSearch(i))
+ '/// Verifying that the value of <i>presentation:display-page-number</i> and <i>presentation:display-date-time</i> attributes is 'false'.
+ if i = 3 OR i = 4 then
+ if sAttributeValue <> "false" then
+ warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'false'!"
+ else
+ printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'false'."
+ end if
+ else
+ '///+ Verifying that the values of <i>presentation:display-header</i> and <i>presentation:display-footer</i> attribute are 'true'.
+ if sAttributeValue <> "true" then
+ warnlog "Failed! The value of '" & sAttributeSearch(i) & "' is NOT 'true'!"
+ else
+ printlog "Passed. The value of '" & sAttributeSearch(i) & "' is 'true'."
+ end if
+ end if
+ next i
+ end if
+ next iLoopSearch
+ SAXRelease()
+ else
+ warnlog "One of the XML files not well formed!"
+ end if
+ end if
+ end if
+ else
+ warnlog "It was not possible to save the document as XML!"
+ end if
+endcase
+
+'-------------------------------------------------------------------------
+
diff --git a/testautomation/xml/required/input/graphics/alien_attributes/alien_attributes_presentation.odp b/testautomation/xml/required/input/graphics/alien_attributes/alien_attributes_presentation.odp
new file mode 100644
index 000000000000..14c85af3e193
--- /dev/null
+++ b/testautomation/xml/required/input/graphics/alien_attributes/alien_attributes_presentation.odp
Binary files differ
diff --git a/testautomation/xml/required/input/graphics/header_footer/allheaderfooter_fixed.odp b/testautomation/xml/required/input/graphics/header_footer/allheaderfooter_fixed.odp
new file mode 100644
index 000000000000..f7b4f585ce9a
--- /dev/null
+++ b/testautomation/xml/required/input/graphics/header_footer/allheaderfooter_fixed.odp
Binary files differ
diff --git a/testautomation/xml/required/input/graphics/header_footer/noheaderfooter.odp b/testautomation/xml/required/input/graphics/header_footer/noheaderfooter.odp
new file mode 100644
index 000000000000..2aed7413b526
--- /dev/null
+++ b/testautomation/xml/required/input/graphics/header_footer/noheaderfooter.odp
Binary files differ
diff --git a/testautomation/xml/required/input/graphics/header_footer/nomasterelements.odp b/testautomation/xml/required/input/graphics/header_footer/nomasterelements.odp
new file mode 100644
index 000000000000..46b9d05f8067
--- /dev/null
+++ b/testautomation/xml/required/input/graphics/header_footer/nomasterelements.odp
Binary files differ
diff --git a/testautomation/xml/required/input/graphics/header_footer/someheaderfooter_varible.odp b/testautomation/xml/required/input/graphics/header_footer/someheaderfooter_varible.odp
new file mode 100644
index 000000000000..16591a31f54d
--- /dev/null
+++ b/testautomation/xml/required/input/graphics/header_footer/someheaderfooter_varible.odp
Binary files differ
diff --git a/testautomation/xml/required/oasis_graphics_update.bas b/testautomation/xml/required/oasis_graphics_update.bas
new file mode 100644
index 000000000000..bc5745161294
--- /dev/null
+++ b/testautomation/xml/required/oasis_graphics_update.bas
@@ -0,0 +1,58 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : OASIS OpenDocument Fileformat Test (Presentation and Drawing)
+'*
+'\***********************************************************************************
+
+sub main
+ printlog "-------------------------------------------------------------------"
+ printlog "- OASIS OpenDocument file format Test (Presentation and Drawing) -"
+ printlog "-------------------------------------------------------------------"
+
+ use "xml\required\includes\oasis_graphics_01.inc"
+
+ call hStatusIn ("XML" , "oasis_graphics_update.bas")
+ call talien_attributes
+ call t_all_header_footer
+ call t_no_header_footer
+ call t_no_header_footer_master_elements
+ call t_some_header_footer
+ call hStatusOut
+end sub
+
+'-------------------------------------------------------------------------
+
+sub LoadIncludeFiles
+ use "global\system\includes\master.inc"
+ use "global\system\includes\gvariabl.inc"
+ use "global\tools\includes\optional\t_xml2.inc"
+ Call GetUseFiles
+end sub
+
diff --git a/testautomation/xml/tools/includes/itools1.inc b/testautomation/xml/tools/includes/itools1.inc
new file mode 100644
index 000000000000..762856de69cf
--- /dev/null
+++ b/testautomation/xml/tools/includes/itools1.inc
@@ -0,0 +1,60 @@
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : Internet- and XML Tools
+'*
+'***************************************************************************************
+'*
+' #1 hGetXMLRoot
+'*
+'\***********************************************************************************
+function hGetXMLRoot ( XMLFileName as string ) as boolean
+'/// <i>hGetXML</i>
+'/// +checks the initial XML-tag in the StarOffice-XML-document. This function is CASE SENSITIVE!
+'/// +INPUT : <Filename as string>
+'/// +RETURN : TRUE, FALSE
+ Dim FileNum as Integer
+ Dim xmlZeile as String
+
+ hGetXMLRoot = FALSE
+ FileNum = FreeFile
+
+ Open XMLFileName For Input As #FileNum
+ Do until EOF(#FileNum) = TRUE
+ Line input #FileNum, xmlZeile
+ xmlZeile = Trim ( xmlZeile )
+ if xmlZeile = "<?xml version=" & CHR$(34) & "1.0" & CHR$(34) & " encoding=" & CHR$(34) & "UTF-8" & CHR$(34) & "?>" then
+ hGetXMLRoot = TRUE
+ Exit Function
+ end if
+ Loop
+ Close #FileNum
+end function
+
+'-------------------------------------------------------------------------
+
diff --git a/testautomation/xml/tools/includes/xmltool1.inc b/testautomation/xml/tools/includes/xmltool1.inc
new file mode 100755
index 000000000000..134fc59490b9
--- /dev/null
+++ b/testautomation/xml/tools/includes/xmltool1.inc
@@ -0,0 +1,103 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'/************************************************************************
+'*
+'* owner : wolfram.garten@oracle.com
+'*
+'* short description : XML Tools
+'*
+'\***********************************************************************************
+
+sub CreateWorkXMLExportDir ( DirName as string )
+
+ '/*** <i>CreateWorkXMLExportDir</i> creates in the StarOffice/work-
+ '/*** +directory a directory. If the same name exists the content (files only)
+ '/*** +will be deleted.
+
+ Dim OutputPath as string
+ Dim Isliste(200) as string
+ Dim iCurrentFile as integer
+ dim iFileCount as integer
+
+ printlog "Checking work-dir & creating '" & gOfficePath & ConvertPath(DirName) & "'."
+ if ( FileExists( gOfficePath & ConvertPath( DirName ) ) ) then
+
+ OutputPath = gOfficePath & ConvertPath( DirName )
+ IsListe(0) = 0
+ GetFileList ( OutputPath , "*", IsListe() )
+ iFileCount = KillFileList ( IsListe() )
+
+ for iCurrentFile = 1 to iFileCount
+ warnlog IsListe( iCurrentFile ) & " could not be deleted!"
+ next iCurrentFile
+
+ else
+
+ app.mkDir( gOfficePath & ConvertPath(DirName))
+
+ endif
+
+end sub
+
+'-------------------------------------------------------------------------------
+
+sub hEnablePrettyPrinting ( optional bDisablePrettyPrinting )
+
+ '/// <i>hEnablePrettyPrinting</i> enables the pretty printing (=better
+ '/// +formated view) in XML file export. It takes >10 percent more time
+ '/// +to save files!!! OPTIONAL parameter is used to DISABLE it.
+
+ ToolsOptions
+ Kontext "ExtrasOptionenDLG"
+ if ( ExtrasOptionenDlg.exists( 1 ) ) then
+
+ call hToolsOptions("loadsave","general")
+
+ Kontext "TabSpeichern"
+ if IsMissing( bDisablePrettyPrinting ) then
+
+ if ( NoPrettyPrinting.IsChecked() ) then
+ NoPrettyPrinting.Uncheck()
+ printlog "- XML pretty printing enabled ( xmltool1.inc )"
+ endif
+
+ else
+
+ if ( Not NoPrettyPrinting.IsChecked() ) then
+ NoPrettyPrinting.Check()
+ printlog "- XML pretty printing disabled ( xmltool1.inc )"
+ endif
+
+ endif
+ Kontext "ExtrasOptionenDLG"
+ hCloseDialog( ExtrasOptionenDLG, "ok" )
+ else
+ warnlog( "hEnablePrettyPrinting(): Tools/Options dialog not open" )
+ endif
+
+end sub
+
+