]> git.donarmstrong.com Git - flightcrew.git/blob - src/FlightCrew/Validators/AllowedChildrenValidator.h
update changelog, target experimental
[flightcrew.git] / src / FlightCrew / Validators / AllowedChildrenValidator.h
1 /************************************************************************
2 **
3 **  Copyright (C) 2010  Strahinja Markovic
4 **
5 **  This file is part of FlightCrew.
6 **
7 **  FlightCrew is free software: you can redistribute it and/or modify
8 **  it under the terms of the GNU Lesser General Public License as published
9 **  by the Free Software Foundation, either version 3 of the License, or
10 **  (at your option) any later version.
11 **
12 **  FlightCrew is distributed in the hope that it will be useful,
13 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 **  GNU Lesser General Public License for more details.
16 **
17 **  You should have received a copy of the GNU Lesser General Public License
18 **  along with FlightCrew.  If not, see <http://www.gnu.org/licenses/>.
19 **
20 *************************************************************************/
21
22 #pragma once
23 #ifndef ALLOWEDCHILDRENVALIDATOR_H
24 #define ALLOWEDCHILDRENVALIDATOR_H
25
26 #include "XmlValidator.h"
27 #include <QName.h>
28
29 namespace xe = XercesExt;
30
31 namespace FlightCrew
32 {
33
34 class AllowedChildrenValidator : public XmlValidator
35 {
36
37 protected:
38
39     std::vector< Result > ValidateAllowedChildren( const xe::QName &parent_qname,
40                                                    const std::vector< xe::QName > &allowed_children,
41                                                    const xc::DOMDocument &document );
42
43     Result NotAllowedChildResult( const xc::DOMNode &child );
44 };
45
46 } // namespace FlightCrew
47
48 #endif // ALLOWEDCHILDRENVALIDATOR_H