| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> |
| <script:module xmlns:script="http://openoffice.org/2000/script" script:name="sw_XMLExporter" script:language="StarBasic"> |
| |
| |
| '************************************************************************* |
| ' |
| ' Licensed to the Apache Software Foundation (ASF) under one |
| ' or more contributor license agreements. See the NOTICE file |
| ' distributed with this work for additional information |
| ' regarding copyright ownership. The ASF licenses this file |
| ' to you under the Apache License, Version 2.0 (the |
| ' "License"); you may not use this file except in compliance |
| ' with the License. You may obtain a copy of the License at |
| ' |
| ' http://www.apache.org/licenses/LICENSE-2.0 |
| ' |
| ' Unless required by applicable law or agreed to in writing, |
| ' software distributed under the License is distributed on an |
| ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ' KIND, either express or implied. See the License for the |
| ' specific language governing permissions and limitations |
| ' under the License. |
| ' |
| '************************************************************************* |
| |
| |
| |
| |
| |
| ' Be sure that all variables are dimensioned: |
| option explicit |
| |
| |
| ' REQUIRED VARIABLES for interface/service tests: |
| |
| ' Required for com.sun.star.lang.XInitialization: |
| Global aInitArgs() As Variant |
| |
| ' Required for com.sun.star.document.XFilter: |
| Global oFilterDescriptor As Variant |
| |
| ' Required for com.sun.star.document.XExporter: |
| Global oSrcDocument As Object |
| |
| |
| Sub CreateObj() |
| |
| '************************************************************************* |
| ' COMPONENT: |
| ' sw.XMLExporter |
| '************************************************************************* |
| On Error Goto ErrHndl |
| Dim initArgs(0) As Object |
| Dim oMSF As Object |
| Dim filter As Variant |
| Dim printXML As Boolean |
| Dim Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 As Variant |
| Dim expString As String |
| Dim oText As Object |
| Dim oCursor As Object |
| |
| printXML = true |
| expString = "XMLExporter" |
| oMSF = getProcessServiceManager() |
| oDoc = utils.createDocument("swriter", cObjectName) |
| oDocHandler = oMSF.createInstanceWithArguments("basichelper.DocumentHandler", Array(printXML)) |
| |
| Tag1 = Array("office:document") |
| Tag2 = Array("office:meta") |
| Tag3 = Array("office:settings") |
| Tag4 = Array("office:script") |
| Tag5 = Array("office:styles") |
| Tag6 = Array("office:body") |
| Tag7 = Array("text:p") |
| filter = Array( _ |
| Array("TagExists", Tag1), _ |
| Array("TagEnclosed", Tag2, Tag1), _ |
| Array("TagEnclosed", Tag3, Tag1), _ |
| Array("TagEnclosed", Tag4, Tag1), _ |
| Array("TagEnclosed", Tag5, Tag1), _ |
| Array("TagEnclosed", Tag6, Tag1), _ |
| Array("CharsEnclosed", Tag7, expString) _ |
| ) |
| |
| oDocHandler.initialize(filter) |
| |
| initArgs(0) = oDocHandler |
| aInitArgs = initArgs() |
| oObj = oMSF.createInstanceWithArguments("com.sun.star.comp.Writer.XMLExporter", initArgs()) |
| |
| oText = oDoc.getText() |
| oCursor = oText.createTextCursor() |
| oText.insertString(oCursor, expString, false) |
| |
| oObj.setSourceDocument(oDoc) |
| |
| Dim aFilterDescr(0) As New com.sun.star.beans.PropertyValue |
| aFilterDescr(0).Name = "FilterName" |
| aFilterDescr(0).Value = "swriter: StarOffice XML (text)" |
| oFilterDescriptor = aFilterDescr() |
| |
| oSrcDocument = oDoc |
| |
| Exit Sub |
| ErrHndl: |
| Test.Exception() |
| End Sub |
| |
| Global oDocHandler As Object |
| |
| Function checkFilter() As Boolean |
| checkFilter = oDocHandler.getByName("XMLIsCorrect") |
| Out.Log(oDocHandler.getByName("XMLCode")) |
| End Function |
| </script:module> |