KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > enhydra > apache > xerces > validators > common > XMLAttributeDecl


1 /*
2  * The Apache Software License, Version 1.1
3  *
4  *
5  * Copyright (c) 2000 The Apache Software Foundation. All rights
6  * reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * 1. Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in
17  * the documentation and/or other materials provided with the
18  * distribution.
19  *
20  * 3. The end-user documentation included with the redistribution,
21  * if any, must include the following acknowledgment:
22  * "This product includes software developed by the
23  * Apache Software Foundation (http://www.apache.org/)."
24  * Alternately, this acknowledgment may appear in the software itself,
25  * if and wherever such third-party acknowledgments normally appear.
26  *
27  * 4. The names "Xerces" and "Apache Software Foundation" must
28  * not be used to endorse or promote products derived from this
29  * software without prior written permission. For written
30  * permission, please contact apache@apache.org.
31  *
32  * 5. Products derived from this software may not be called "Apache",
33  * nor may "Apache" appear in their name, without prior written
34  * permission of the Apache Software Foundation.
35  *
36  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47  * SUCH DAMAGE.
48  * ====================================================================
49  *
50  * This software consists of voluntary contributions made by many
51  * individuals on behalf of the Apache Software Foundation and was
52  * originally based on software copyright (c) 1999, International
53  * Business Machines, Inc., http://www.apache.org. For more
54  * information on the Apache Software Foundation, please see
55  * <http://www.apache.org/>.
56  */

57
58 package org.enhydra.apache.xerces.validators.common;
59
60 import org.enhydra.apache.xerces.utils.QName;
61 import org.enhydra.apache.xerces.validators.datatype.DatatypeValidator;
62
63 /**
64  * @version $Id: XMLAttributeDecl.java,v 1.1.1.1 2003/03/10 16:34:44 taweili Exp $
65  */

66 public class XMLAttributeDecl {
67
68     //
69
// Constants
70
//
71

72     // dtd
73

74     public static final int TYPE_CDATA = 0;
75     public static final int TYPE_ENTITY = 1;
76     public static final int TYPE_ENUMERATION = 2;
77     public static final int TYPE_ID = 3;
78     public static final int TYPE_IDREF = 4;
79     public static final int TYPE_NMTOKEN = 5;
80     public static final int TYPE_NOTATION = 6;
81
82     // schema
83

84     public static final int TYPE_SIMPLE = 7;
85
86     public static final int TYPE_ANY_ANY = 8;
87     public static final int TYPE_ANY_OTHER = 9;
88     //"Local" is treated as a member of the list
89
//public static final int TYPE_ANY_LOCAL = 10;
90
public static final int TYPE_ANY_LIST = 11;
91
92     // default types in DTD
93
public static final int DEFAULT_TYPE_IMPLIED = 1;
94     public static final int DEFAULT_TYPE_REQUIRED = 2;
95     public static final int DEFAULT_TYPE_PROHIBITED = 4;
96     public static final int DEFAULT_TYPE_DEFAULT = 8;
97     public static final int DEFAULT_TYPE_FIXED = 16;
98     public static final int DEFAULT_TYPE_REQUIRED_AND_FIXED = DEFAULT_TYPE_REQUIRED | DEFAULT_TYPE_FIXED;
99
100     // "use" of Schema attributes
101
public static final int USE_TYPE_OPTIONAL = DEFAULT_TYPE_IMPLIED;
102     public static final int USE_TYPE_REQUIRED = DEFAULT_TYPE_REQUIRED;
103     public static final int USE_TYPE_PROHIBITED = DEFAULT_TYPE_PROHIBITED;
104     // value constraints of Schema attributes
105
public static final int VALUE_CONSTRAINT_DEFAULT = DEFAULT_TYPE_DEFAULT;
106     public static final int VALUE_CONSTRAINT_FIXED = DEFAULT_TYPE_FIXED;
107
108     // schema: attribte wildcard processContents property, share the defaultType field
109
public static final int PROCESSCONTENTS_STRICT = 1024;
110     public static final int PROCESSCONTENTS_LAX = 2048;
111     public static final int PROCESSCONTENTS_SKIP = 4096;
112
113
114     //
115
// Data
116
//
117

118     // basic information
119

120     public QName name = new QName();
121
122     // simple types
123

124     public DatatypeValidator datatypeValidator;
125
126     // Att types, e.g. ID, IDREF, NOTATION, NMTOKEN,
127

128     public int type;
129
130     public boolean list;
131
132     // values
133
public int enumeration;
134
135     // For DTD, this variable stores "#IMPLIED", "#REQUIRED" and "#FIXED" etc.
136
// For Schema, this variable stored the options among "use", "default" and "fixed"
137
// via binary '|'
138
public int defaultType;
139
140     public String JavaDoc defaultValue;
141
142     //
143
// Constructors
144
//
145

146     public XMLAttributeDecl() {
147         clear();
148     }
149
150     public XMLAttributeDecl(XMLAttributeDecl attributeDecl) {
151         setValues(attributeDecl);
152     }
153
154     //
155
// Public methods
156
//
157

158     public void clear() {
159         name.clear();
160         datatypeValidator = null;
161         type = -1;
162         list = false;
163         enumeration = -1;
164         defaultType = DEFAULT_TYPE_IMPLIED;
165         defaultValue = null;
166     }
167
168     public void setValues(XMLAttributeDecl attributeDecl) {
169         name.setValues(attributeDecl.name);
170         datatypeValidator = attributeDecl.datatypeValidator;
171         type = attributeDecl.type;
172         list = attributeDecl.list;
173         enumeration = attributeDecl.enumeration;
174         defaultType = attributeDecl.defaultType;
175         defaultValue = attributeDecl.defaultValue;
176     }
177
178     //
179
// Object methods
180
//
181

182     public int hashCode() {
183         // TODO
184
return super.hashCode();
185     }
186
187     public boolean equals(Object JavaDoc object) {
188         // TODO
189
return super.equals(object);
190     }
191
192 } // class XMLAttributeDecl
193
Popular Tags