<!--
#The root configuration node is called <opencms> for all OpenCms configurations.
-->
<!ELEMENTopencms (importexport, staticexport)>
<!--
#<importexport> configuration:
#
#In this node the import and export options are configured.
#If you are installing a fresh OpenCms system without migrating
#content from old OpenCms versions, you usually do not need any special
#configuration.
-->
<!ELEMENTimportexport (
importexporthandlers,
import )>
<!--
#List of import / export handlers.
#When content is imported, the manifest.xml is analyzed and the
#appropriate handler for the import format is selected.
-->
<!ELEMENTimportexporthandlers (importexporthandler+)>
<!ELEMENTimportexporthandler EMPTY>
<!ATTLISTimportexporthandler class CDATA #REQUIRED>
<!--
#<import> node options.
#There are several options to ensure backward compatibility.
-->
<!ELEMENTimport (
overwrite?,
convert?,
oldwebappurl?,
importversions+,
immutables*,
principaltranslations*,
ignoredproperties*)>
<!--
#If this flag is set to "false" then imports > v2 (that should have resource UUIDs
#in the manifest) will move colliding resources to /system/lost-found/. Otherwise
#colliding resources will be overwritten. v1 and v2 imports (without resource
#UUIDs in the manifest) are forced to overwrite colliding resources, no matter
#how this flag is set.
-->
<!ELEMENToverwrite (#PCDATA)>
<!--
#This flag controls if editabled content of older versions is automatically
#conterted to the current version upon import. For example, content of type
#"page" from 5.0 is converted into "xmlpage" in 6.0.
-->
<!ELEMENTconvert (#PCDATA)>
<!--
#Convert file content from 4.x to 5.x style during import
#This is needed for the correct content conversion of the import.
#Enter the URL of the OpenCms web application from which the content was exported,
#e.g. http://localhost:8080/opencms/opencms/ for a standard local Tomcat installation.
-->
<!ELEMENToldwebappurl (#PCDATA)>
<!--
#List of import class names.
#This is only required if you must import OpenCms content created with older OpenCms
#versions. The format of the export has changed with new
#OpenCms versions being released. Each export file has a "stamp" in the
#manifest.xml that signals which export version of OpenCms was used.
#In order to import resources from older installations, you must enabled
#the corrospondig classes in this configuration node.
-->
<!ELEMENTimportversions (importversion+)>
<!ELEMENTimportversion EMPTY>
<!ATTLISTimportversion class CDATA #REQUIRED>
<!--
#Import immutable resources:
#Certain system resources should usually not be changed and be "immutable"
#during an import. This is especially true for the main folders in the /system/
#directory as locking and changing these will take very long during the import.
#Changes to these folders usually happen only accidentally and so should not be imported
#to another system.
-->
<!ELEMENTimmutables (resource*)>
<!ELEMENTresource EMPTY>
<!ATTLISTresource uri CDATA #REQUIRED>
<!--
#Import principal (ie. user/group) name translation:
#In case the user names in the import differ from the user names configured
#in the importing system, you can use this feature to translate the names from the
#import to other names in your system.
-->
<!ELEMENTprincipaltranslations (principaltranslation*)>
<!ELEMENTprincipaltranslation EMPTY>
<!ATTLISTprincipaltranslation type (USER|user|GROUP|group) #REQUIRED from CDATA #REQUIRED to CDATA #REQUIRED>
<!--
#List of properties which are ignored (ie. not imported) when resources are imported.
-->
<!ELEMENTignoredproperties (property*)>
<!ELEMENTproperty EMPTY>
<!ATTLISTproperty name CDATA #REQUIRED>
<!--
#<staticexport> Configuration:
#
#Settings for the static export.
#The attribute "enabled" controls if the static export is enabled,
#if it is set to "false" nothing is ever exported, if set to "true"
#it works according the the selected <mode> setting.
-->
<!ELEMENTstaticexport (
staticexporthandler,
exportpath,
defaultpropertyvalue,
defaultsuffixes?,
exportheaders?,
requestheaders?,
rendersettings)>
<!ATTLISTstaticexport enabled (TRUE|true|FALSE|false) #REQUIRED>
<!--
#The fully qualified class name of a concrete implementation of the
#org.opencms.staticexport.I_CmsStaticExportHandler interface.
#The default handler is "CmsOnDemandStaticExportHandler",
#which is most suitable for dynamic sites that use the static export
#as optimization for non-dynamic content.
#Another handler is the "CmsAfterPublishStaticExportHandler",
#which exports all changes immediately after something is published.
#
#The default 2 possible values for this node are:
#org.opencms.staticexport.CmsOnDemandStaticExportHandler
#selects export "on demand" mode
# org.opencms.staticexport.CmsAfterPublishStaticExportHandler
#selects export "after publish" mode
-->
<!ELEMENTstaticexporthandler (#PCDATA)>
<!--
#The path in the "real" FS to write the static exported pages to.
#This is relative to the web application root path.
-->
<!ELEMENTexportpath (#PCDATA)>
<!--
#The default value of the "export" property for resources where searching for
#the property value of the resource returns "null".
-->
<!ELEMENTdefaultpropertyvalue (#PCDATA)>
<!--
#A list of suffixes where the export property default is "true",
#even if the default property value (see above) is "false".
-->
<!ELEMENTdefaultsuffixes (suffix+)>
<!ELEMENTsuffix EMPTY>
<!ATTLISTsuffix key CDATA #REQUIRED>
<!--
#A list of http headers which can be used when exporting plain resources (e.g. binary
#files like pdf).
-->
<!ELEMENTexportheaders (header+)>
<!ELEMENTheader (#PCDATA)>
<!--
#A list of http headers are used while sending the internal requests during the static export.
#If none of those headers are defined, the default settings (language and encoding) of OpenCms are used.
-->
<!ELEMENTrequestheaders (acceptlanguage?, acceptcharset?, remoteaddr?)>
<!ELEMENTacceptlanguage (#PCDATA)>
<!ELEMENTacceptcharset (#PCDATA)>
<!ELEMENTremoteaddr (#PCDATA)>
<!--
#The render settings control how template based resources are written to
#(i.e. "rendered") the "real" FS.
-->
<!ELEMENTrendersettings (
rfs-prefix,
vfs-prefix,
userelativelinks,
exporturl,
plainoptimization,
testresource,
resourcestorender)>
<!--
#The rfs prefix is used to adjust the links to
#resources that have been written to the "real" file system.
#Usually, a dynmaic resource has the web application and servlet names
#in the path to the link, e.g. "/opencms/opencms". If a resource is static exported,
#it is not longer delivered through the OpenCms servlet and thus thus path needs
#to be adjusted.
#
#This node supports variable replacement since the values can depend on the configuration:
#
#${EXPORT_PATH} is replaced with the value of the <exportpath> node, e.g. "export"
#${CONTEXT_NAME} is replaced with the name of the webapp context, e.g. "opencms"
#${SERVLET_NAME} is replaces with the name of the OpenCms servlet, e.g. "opencms"
-->
<!ELEMENTrfs-prefix (#PCDATA)>
<!--
#The vfs prefix is used to adjust the links to
#resources that are still served dynamically by OpenCms.
#Usually this is something like "/opencms/opencms".
#However, in some advanced setups that also use static export
#(e.g. if you use Apache httpd and mod_proxy)
#this prefix needs to be adjusted.
#
#This node supports the same variables as the <rfs-prefix> node.
-->
<!ELEMENTvfs-prefix (#PCDATA)>
<!--
#Controls if the links in the static exported pages should be written as
#absolute or relative links.
-->
<!ELEMENTuserelativelinks (#PCDATA)>
<!--
#Setting for "after-publish" or "full-static-render" mode:
#The url given here is internally called to export template resources,
#i.e. a http request to this machine is done to generate them.
#Usually this should be a request to the server itself, i.e. localhost.
#
#This node supports the same variables as the <rfs-prefix> node.
-->
<!ELEMENTexporturl (#PCDATA)>
<!--
#Setting for "after-publish" mode:
#Usually a complete dependency check is made after publish for all template
#resources. If this is set to "true" (the default), this check is skipped
#if only on-template resources (i.e. images, plain text files) where published.
#If you have build a navigation that also depends on these files, you must
#set this to "false" or the navigation might not be updated.
-->
<!ELEMENTplainoptimization (#PCDATA)>
<!ELEMENTtestresource EMPTY>
<!ATTLISTtestresource uri CDATA #REQUIRED>
<!--
#A list of resources in the vfs that are rendered in "after-publish" mode,
#or if a full static export is done. This is a list of regular expressions.
#Only resources that match one of the given regular expressions are rendered.
#The intention is to speed up the dependency check by excluding folders
#like "/system".
-->
<!ELEMENTresourcestorender (regex+)>
<!ELEMENTregex (#PCDATA)>