1 /*
2     This file is part of KDE Schema Parser.
3 
4     Copyright (c) 2006 Cornelius Schumacher <schumacher@kde.org>
5 
6     This program is free software; you can redistribute it and/or modify
7     it under the terms of the GNU Lesser General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10 
11     This program is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     GNU Lesser General Public License for more details.
15 
16     You should have received a copy of the GNU Lesser General Public License
17     along with this program; if not, write to the Free Software
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19 */
20 #ifndef ATTRIBUTEGROUP_H
21 #define ATTRIBUTEGROUP_H
22 
23 #include <schema/xmlelement.h>
24 #include <schema/attribute.h>
25 #include <common/qname.h>
26 
27 #include <kode_export.h>
28 
29 namespace XSD
30 {
31 
32 class SCHEMA_EXPORT AttributeGroup : public XmlElement
33 {
34 public:
35     typedef QList<AttributeGroup> List;
36 
37     AttributeGroup();
38     AttributeGroup(const AttributeGroup &other);
39     ~AttributeGroup();
40 
41     AttributeGroup &operator=(const AttributeGroup &other);
42 
43     void setReference(const QName &reference);
44     QName reference() const;
45 
46     void setAttributes(const Attribute::List &attributes);
47     Attribute::List attributes() const;
48 
49 private:
50     class Private;
51     Private *d;
52 };
53 
54 }
55 
56 #endif
57