<?xml version="1.0"?>
<!--
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.
-->
<chapter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" 
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xsi:schemaLocation="http://docbook.org/ns/docbook ../../content/dtd/docbook.xsd"
    xmlns="http://docbook.org/ns/docbook">
    <title>The Human Resource Application.</title>
  <para>
    The human resource application is supporting you to ...WIP, to be completed...
  </para>
  
  <section>
    <title>Human resource in Apache OFBiz, an overview.</title>
    <para>
      WIP, to be completed...
    </para>
    
  </section>
  
   <xi:include href="../data/helpdata/HELP_HR.xml" />
   <xi:include href="../data/helpdata/HELP_HR_main.xml" />
   <xi:include href="../data/helpdata/HELP_HR_training.xml" />
     
    <!-- xi:include href="../data/helpdata/HELP_HUMANRES_employees.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_employees_positions.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_performance_review.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_skills.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_recruitment.xml" /-->
    <!--xi:include href="../data/helpdata/HELP_HUMANRES_employment_applications.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_resumes.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_leave.xml" />
    <xi:include href="../data/helpdata/HELP_HUMANRES_global_HR_settings.xml" /-->
</chapter>
