<?xml version="1.0"?>
<!--
Skin configuration file. This file contains details of your project, which will
be used to configure the chosen XMLBeans skin.
-->
<!DOCTYPE skinconfig [
	<!ENTITY % links.att 'name CDATA #REQUIRED'>
	<!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
	<!ELEMENT skinconfig (disable-search?, disable-print-link?, disable-pdf-link?, disable-xml-link?, disable-compliance-links?, searchsite-domain?, searchsite-name?, project-name, project-url, project-logo, group-name?, group-url?, group-logo?, host-url?, host-logo?, year?, vendor?, trail?, toc?, credits?)*>
	<!ELEMENT credits (credit*)>
	<!ELEMENT credit (name, url, image?, width?, height?)>
	<!-- id uniquely identifies the tool, and role indicates its function -->
	<!ATTLIST credit
	id CDATA #IMPLIED
		role CDATA #IMPLIED
>
	<!ELEMENT disable-search (#PCDATA)>
	<!ELEMENT disable-print-link (#PCDATA)>
	<!ELEMENT disable-pdf-link (#PCDATA)>
	<!ELEMENT disable-xml-link (#PCDATA)>
	<!ELEMENT disable-compliance-links (#PCDATA)>
	<!ELEMENT searchsite-domain (#PCDATA)>
	<!ELEMENT searchsite-name (#PCDATA)>
	<!ELEMENT project-name (#PCDATA)>
	<!ELEMENT project-url (#PCDATA)>
	<!ELEMENT project-logo (#PCDATA)>
	<!ELEMENT group-name (#PCDATA)>
	<!ELEMENT group-url (#PCDATA)>
	<!ELEMENT group-logo (#PCDATA)>
	<!ELEMENT host-url (#PCDATA)>
	<!ELEMENT host-logo (#PCDATA)>
	<!ELEMENT year (#PCDATA)>
	<!ELEMENT vendor (#PCDATA)>
	<!ELEMENT trail (link1, link2, link3)>
	<!ELEMENT link1 EMPTY>
	<!-- Seems we can't use param entity refs until this is DTDified -->
	<!ATTLIST link1
	name CDATA #REQUIRED
		href CDATA #IMPLIED
>
	<!ELEMENT link2 EMPTY>
	<!ATTLIST link2
	name CDATA #REQUIRED
		href CDATA #IMPLIED
>
	<!ELEMENT link3 EMPTY>
	<!ATTLIST link3
	name CDATA #REQUIRED
		href CDATA #IMPLIED
>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT url (#PCDATA)>
	<!ELEMENT image (#PCDATA)>
	<!ELEMENT width (#PCDATA)>
	<!ELEMENT height (#PCDATA)>
	<!ELEMENT toc EMPTY>
	<!ATTLIST toc
	level CDATA #IMPLIED
>
]>
<skinconfig>
	<!-- Do we want to disable the Google search box? -->
	<disable-search>false</disable-search>
	<!-- Do we want to disable the print link? -->
	<disable-print-link>true</disable-print-link>
	<!-- Do we want to disable the PDF link? -->
	<disable-pdf-link>false</disable-pdf-link>
	<!-- Do we want to disable the xml source link? -->
	<disable-xml-link>true</disable-xml-link>
	<!-- Do we want to disable w3c compliance links? -->
	<disable-compliance-links>false</disable-compliance-links>
	<searchsite-domain>xml.apache.org</searchsite-domain>
	<searchsite-name>Apache XML</searchsite-name>
	<!-- mandatory project logo
       skin: XMLBeans-site renders it at the top -->
	<project-name>XMLBeans</project-name>
	<project-url>http://xml.apache.org/xmlbeans/</project-url>
	<project-logo>images/project-logo.gif</project-logo>
	<!-- optional group logo
       skin: XMLBeans-site renders it at the top-left corner -->
	<group-name>Apache XML</group-name>
	<group-url>http://xml.apache.org/</group-url>
	<group-logo>images/group-logo.gif</group-logo>
	<!-- optional host logo (e.g. sourceforge logo)
       skin: XMLBeans-site renders it at the bottom-left corner -->
	<host-url/>
	<host-logo/>
	<!-- The following are used to construct a copyright statement -->
	<year>2003</year>
	<vendor>The Apache Software Foundation.</vendor>
	<!-- Some skins use this to form a 'breadcrumb trail' of links. If you don't
  want these, set the attributes to blank. The DTD purposefully requires them.
  -->
	<trail>
		<link1 name="apache" href="http://www.apache.org/"/>
		<link2 name="xml.apache" href="http://xml.apache.org/"/>
		<link3 name="xmlbeans" href="http://xml.apache.org/xmlbeans"/>
	</trail>
	<!-- Configure how many "section" levels need to be included in the
  generated Table of Contents (TOC). By default, if no toc element is provided
  below, then 2 levels are included. Level 0 does not generate any TOC at all.
  -->
	<toc level="2"/>
	<!-- Credits are typically rendered as a set of small clickable images in the
  page footer -->
	<credits>
		<credit>
			<name>Built with Forrest</name>
			<url>http://xml.apache.org/forrest/</url>
			<image>images/built-with-forrest-button.png</image>
			<width>88</width>
			<height>31</height>
		</credit>
	</credits>
</skinconfig>
