1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_XMLExporter" script:language="StarBasic">
4
5
6'*************************************************************************
7'
8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9'
10' Copyright 2000, 2010 Oracle and/or its affiliates.
11'
12' OpenOffice.org - a multi-platform office productivity suite
13'
14' This file is part of OpenOffice.org.
15'
16' OpenOffice.org is free software: you can redistribute it and/or modify
17' it under the terms of the GNU Lesser General Public License version 3
18' only, as published by the Free Software Foundation.
19'
20' OpenOffice.org is distributed in the hope that it will be useful,
21' but WITHOUT ANY WARRANTY; without even the implied warranty of
22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23' GNU Lesser General Public License version 3 for more details
24' (a copy is included in the LICENSE file that accompanied this code).
25'
26' You should have received a copy of the GNU Lesser General Public License
27' version 3 along with OpenOffice.org.  If not, see
28' <http://www.openoffice.org/license.html>
29' for a copy of the LGPLv3 License.
30'
31'*************************************************************************
32*****
33'*************************************************************************
34
35
36
37' Be sure that all variables are dimensioned:
38option explicit
39
40
41' REQUIRED VARIABLES for interface/service tests:
42
43' Required for  com.sun.star.lang.XInitialization:
44  Global aInitArgs() As Variant
45
46' Required for  com.sun.star.document.XFilter:
47  Global oFilterDescriptor As Variant
48
49' Required for  com.sun.star.document.XExporter:
50  Global oSrcDocument As Object
51
52
53Sub CreateObj()
54
55'*************************************************************************
56' COMPONENT:
57' sc.XMLExporter
58'*************************************************************************
59On Error Goto ErrHndl
60    Dim initArgs(0) As Object
61    Dim oMSF As Object
62    Dim filter As Variant
63    Dim printXML As Boolean
64    Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8 As Variant
65    Dim expString As String
66    Dim oSheets As Object
67    Dim oSheet As Object
68
69    printXML = true
70    expString = "NewNameOfSheet"
71    oMSF = getProcessServiceManager()
72    oDoc = utils.createDocument("scalc", cObjectName)
73    oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML))
74
75    Tag1 = Array("office:document")
76    Tag2 = Array("office:meta")
77    Tag3 = Array("office:settings")
78    Tag4 = Array("office:script")
79    Tag5 = Array("office:styles")
80    Tag6 = Array("office:body")
81    Tag7 = Array("table:table")
82    Tag8 = Array("table:table", "table:name", expString)
83    filter = Array( _
84                Array("TagExists", Tag1, Tag8), _
85                Array("TagEnclosed", Tag2, Tag1), _
86                Array("TagEnclosed", Tag3, Tag1), _
87                Array("TagEnclosed", Tag4, Tag1), _
88                Array("TagEnclosed", Tag5, Tag1), _
89                Array("TagEnclosed", Tag6, Tag1), _
90                Array("TagEnclosed", Tag7, Tag6) _
91             )
92
93    oDocHandler.initialize(filter)
94
95    initArgs(0) = oDocHandler
96    aInitArgs = initArgs()
97    oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Calc.XMLExporter", initArgs())
98
99    oSheets = oDoc.getSheets()
100    oSheet = oSheets.getByIndex(0)
101    oSheet.setName(expString)
102
103    oObj.setSourceDocument(oDoc)
104
105    Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue
106    aFilterDescr(0).Name = "FilterName"
107    aFilterDescr(0).Value = "scalc: StarOffice XML (spreadsheet)"
108    oFilterDescriptor = aFilterDescr()
109
110    oSrcDocument = oDoc
111
112Exit Sub
113ErrHndl:
114    Test.Exception()
115End Sub
116
117Global oDocHandler As Object
118
119Function checkFilter() As Boolean
120    checkFilter = oDocHandler.getByName("XMLIsCorrect")
121    Out.Log(oDocHandler.getByName("XMLCode"))
122End Function
123</script:module>
124