<!--***********************************************************
 *
 * 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.
 *
 ***********************************************************-->



<!ENTITY nFO "http://www.w3.org/1999/XSL/Format">
<!ENTITY nXLink "http://www.w3.org/1999/xlink">
<!ENTITY nSVG "http://www.w3.org/2000/svg">
<!ENTITY nMath "http://www.w3.org/1998/Math/MathML">

<!-- StarOffice namespace names and prefixes -->

<!ENTITY nOpenOffice "http://openoffice.org/2000">
<!ENTITY nOpenOffice2001 "http://openoffice.org/2001">

<!ENTITY nOffice "&nOpenOffice;/office">
<!ENTITY nStyle "&nOpenOffice;/style">
<!ENTITY nText "&nOpenOffice;/text">
<!ENTITY nTable "&nOpenOffice;/table">
<!ENTITY nMeta "&nOpenOffice;/meta">
<!ENTITY nScript "&nOpenOffice;/script">
<!ENTITY nDraw "&nOpenOffice;/drawing">
<!ENTITY nChart "&nOpenOffice;/chart">
<!ENTITY nNumber "&nOpenOffice;/datastyle">
<!ENTITY nDr3D "&nOpenOffice;/dr3d">
<!ENTITY nForm "&nOpenOffice;/form">
<!ENTITY nConfig "&nOpenOffice2001;/config">
<!ENTITY nPresentation "&nOpenOffice2001;/presentation">

<!-- dublin core namespace name and prefic -->
<!ENTITY nDC "http://purl.org/dc/elements/1.1/">
