1*cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?> 2*cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3*cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sm_XMLMetaImporter" script:language="StarBasic"> 4*cdf0e10cSrcweir 5*cdf0e10cSrcweir 6*cdf0e10cSrcweir'************************************************************************* 7*cdf0e10cSrcweir' 8*cdf0e10cSrcweir' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9*cdf0e10cSrcweir' 10*cdf0e10cSrcweir' Copyright 2000, 2010 Oracle and/or its affiliates. 11*cdf0e10cSrcweir' 12*cdf0e10cSrcweir' OpenOffice.org - a multi-platform office productivity suite 13*cdf0e10cSrcweir' 14*cdf0e10cSrcweir' This file is part of OpenOffice.org. 15*cdf0e10cSrcweir' 16*cdf0e10cSrcweir' OpenOffice.org is free software: you can redistribute it and/or modify 17*cdf0e10cSrcweir' it under the terms of the GNU Lesser General Public License version 3 18*cdf0e10cSrcweir' only, as published by the Free Software Foundation. 19*cdf0e10cSrcweir' 20*cdf0e10cSrcweir' OpenOffice.org is distributed in the hope that it will be useful, 21*cdf0e10cSrcweir' but WITHOUT ANY WARRANTY; without even the implied warranty of 22*cdf0e10cSrcweir' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23*cdf0e10cSrcweir' GNU Lesser General Public License version 3 for more details 24*cdf0e10cSrcweir' (a copy is included in the LICENSE file that accompanied this code). 25*cdf0e10cSrcweir' 26*cdf0e10cSrcweir' You should have received a copy of the GNU Lesser General Public License 27*cdf0e10cSrcweir' version 3 along with OpenOffice.org. If not, see 28*cdf0e10cSrcweir' <http://www.openoffice.org/license.html> 29*cdf0e10cSrcweir' for a copy of the LGPLv3 License. 30*cdf0e10cSrcweir' 31*cdf0e10cSrcweir'************************************************************************* 32*cdf0e10cSrcweir'************************************************************************* 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir 36*cdf0e10cSrcweir' Be sure that all variables are dimensioned: 37*cdf0e10cSrcweiroption explicit 38*cdf0e10cSrcweir 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests: 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir' Required for com.sun.star.xml.sax.XDocumentHandler 43*cdf0e10cSrcweir Global vXMLData As Variant 44*cdf0e10cSrcweir 45*cdf0e10cSrcweir' Required for procedure CheckImport 46*cdf0e10cSrcweir Global sTitle, sName, sValue As String 47*cdf0e10cSrcweir 48*cdf0e10cSrcweir' Required for com.sun.star.document.XImporter: 49*cdf0e10cSrcweir Global oSrcDocument As Object 50*cdf0e10cSrcweir 51*cdf0e10cSrcweir 52*cdf0e10cSrcweir 53*cdf0e10cSrcweirSub CreateObj() 54*cdf0e10cSrcweir 55*cdf0e10cSrcweir'************************************************************************* 56*cdf0e10cSrcweir' COMPONENT: 57*cdf0e10cSrcweir' sm.XMLMetaImporter 58*cdf0e10cSrcweir'************************************************************************* 59*cdf0e10cSrcweirOn Error Goto ErrHndl 60*cdf0e10cSrcweir oDoc = utils.createDocument("smath", cObjectName) 61*cdf0e10cSrcweir oObj = createUnoService("com.sun.star.comp.Math.XMLMetaImporter") 62*cdf0e10cSrcweir 63*cdf0e10cSrcweir oSrcDocument = oDoc 64*cdf0e10cSrcweir oObj.setTargetDocument(oDoc) 65*cdf0e10cSrcweir 66*cdf0e10cSrcweir sTitle = "XMLMetaImporter Title" 67*cdf0e10cSrcweir sName = "XMLMetaImporter" 68*cdf0e10cSrcweir sValue = "XMLMetaImporter_Value" 69*cdf0e10cSrcweir vXMLData = Array( _ 70*cdf0e10cSrcweir Array("start", "office:document-meta", _ 71*cdf0e10cSrcweir "xmlns:office", "CDATA", "http://openoffice.org/2000/office", _ 72*cdf0e10cSrcweir "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta", _ 73*cdf0e10cSrcweir "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink", _ 74*cdf0e10cSrcweir "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"), _ 75*cdf0e10cSrcweir Array("start", "office:meta"), _ 76*cdf0e10cSrcweir Array("start", "dc:title"), _ 77*cdf0e10cSrcweir Array("chars", sTitle), _ 78*cdf0e10cSrcweir Array("end", "dc:title"), _ 79*cdf0e10cSrcweir Array("start", "meta:user-defined", _ 80*cdf0e10cSrcweir "meta:name", "CDATA", sName), _ 81*cdf0e10cSrcweir Array("chars", sValue), _ 82*cdf0e10cSrcweir Array("end", "meta:user-defined"), _ 83*cdf0e10cSrcweir Array("end", "office:meta"), _ 84*cdf0e10cSrcweir Array("end", "office:document-meta")) 85*cdf0e10cSrcweirExit Sub 86*cdf0e10cSrcweirErrHndl: 87*cdf0e10cSrcweir Test.Exception() 88*cdf0e10cSrcweirEnd Sub 89*cdf0e10cSrcweir 90*cdf0e10cSrcweirFunction CheckImport() As Boolean 91*cdf0e10cSrcweir out.log("checking of import...") 92*cdf0e10cSrcweir Dim res As Boolean 93*cdf0e10cSrcweir Dim i As Integer 94*cdf0e10cSrcweir Dim docInfo As Object 95*cdf0e10cSrcweir Dim fieldValue, fieldName, title as String 96*cdf0e10cSrcweir docInfo = oDoc.getDocumentInfo() 97*cdf0e10cSrcweir res = false 98*cdf0e10cSrcweir For i = 0 to docInfo.getUserFieldCount() - 1 99*cdf0e10cSrcweir fieldName = docInfo.getUserFieldName(i) 100*cdf0e10cSrcweir fieldValue = docInfo.getUserFieldValue(i) 101*cdf0e10cSrcweir out.log("Field name: " + fieldName + " Value: " + fieldValue) 102*cdf0e10cSrcweir If (fieldName = sName) and (fieldValue = sValue) then 103*cdf0e10cSrcweir res = true 104*cdf0e10cSrcweir EndIf 105*cdf0e10cSrcweir Next i 106*cdf0e10cSrcweir 107*cdf0e10cSrcweir title = docInfo.getPropertyValue("Title") 108*cdf0e10cSrcweir out.log("Title: " + title) 109*cdf0e10cSrcweir res = res and (title = sTitle) 110*cdf0e10cSrcweir out.log("checking result: " + res) 111*cdf0e10cSrcweir CheckImport() = res 112*cdf0e10cSrcweirEnd Function 113*cdf0e10cSrcweir</script:module> 114