<?xml version='1.0' encoding='UTF-8' ?>

<!--
 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 % common SYSTEM "common.dtd">
%common;

<!-- <faq> is the root element -->
<!ELEMENT faq (parentdocument?, title, description?, summary?,
seealso*, (section | categories))>

<!ATTLIST faq metafile   CDATA        #REQUIRED
              all-in-one (yes | no ) "no"
              upgrade    CDATA        #IMPLIED
>

<!ELEMENT categories (categoryfile*)>

<!ELEMENT categoryfile (#PCDATA)>

<!ELEMENT description %Inline;>
