KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > xml > fastinfoset > stax > events > NamespaceBase


1 /*
2  * Fast Infoset ver. 0.1 software ("Software")
3  *
4  * Copyright, 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
5  *
6  * Software is licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License. You may
8  * obtain a copy of the License at:
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15  * License for the specific language governing permissions and limitations.
16  *
17  * Sun supports and benefits from the global community of open source
18  * developers, and thanks the community for its important contributions and
19  * open standards-based technology, which Sun has adopted into many of its
20  * products.
21  *
22  * Please note that portions of Software may be provided with notices and
23  * open source licenses from such communities and third parties that govern the
24  * use of those portions, and any licenses granted hereunder do not alter any
25  * rights and obligations you may have under such open source licenses,
26  * however, the disclaimer of warranty and limitation of liability provisions
27  * in this License will apply to all Software in this distribution.
28  *
29  * You acknowledge that the Software is not designed, licensed or intended
30  * for use in the design, construction, operation or maintenance of any nuclear
31  * facility.
32  *
33  * Apache License
34  * Version 2.0, January 2004
35  * http://www.apache.org/licenses/
36  *
37  */

38
39 package com.sun.xml.fastinfoset.stax.events;
40
41 import javax.xml.stream.events.Namespace;
42 import javax.xml.stream.events.XMLEvent;
43 import javax.xml.namespace.QName JavaDoc;
44 import com.sun.xml.fastinfoset.util.Util;
45
46 public class NamespaceBase extends AttributeBase implements Namespace{
47     //J2SE1.5.0 javax.xml.XMLConstants
48
static final String JavaDoc DEFAULT_NS_PREFIX = "";
49     static final String JavaDoc XML_NS_URI = "http://www.w3.org/XML/1998/namespace";
50     static final String JavaDoc XML_NS_PREFIX = "xml";
51     static final String JavaDoc XMLNS_ATTRIBUTE_NS_URI = "http://www.w3.org/2000/xmlns/";
52     static final String JavaDoc XMLNS_ATTRIBUTE = "xmlns";
53     static final String JavaDoc W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema";
54     static final String JavaDoc W3C_XML_SCHEMA_INSTANCE_NS_URI = "http://www.w3.org/2001/XMLSchema-instance";
55     
56     //is this namespace default declaration?
57
private boolean defaultDeclaration = false;
58     
59     /** a namespace attribute has a form: xmlns:NCName="URI reference" */
60     public NamespaceBase(String JavaDoc namespaceURI) {
61         super(XMLNS_ATTRIBUTE, "", namespaceURI);
62         setEventType(NAMESPACE);
63     }
64
65   /**
66    * Create a new Namespace
67    * @param prefix prefix of a namespace is the local name for an attribute
68    * @param namespaceURI the uri reference of a namespace is the value for an attribute
69    * @return Namespace object
70    */

71     public NamespaceBase(String JavaDoc prefix, String JavaDoc namespaceURI){
72         super(XMLNS_ATTRIBUTE, prefix, namespaceURI);
73         setEventType(NAMESPACE);
74         if (Util.isEmptyString(prefix)) {
75             defaultDeclaration=true;
76         }
77     }
78     
79     void setPrefix(String JavaDoc prefix){
80         if(prefix == null)
81             setName(new QName JavaDoc(XMLNS_ATTRIBUTE_NS_URI,DEFAULT_NS_PREFIX,XMLNS_ATTRIBUTE));
82         else// new QName(uri, localpart, prefix)
83
setName(new QName JavaDoc(XMLNS_ATTRIBUTE_NS_URI,prefix,XMLNS_ATTRIBUTE));
84     }
85     
86     public String JavaDoc getPrefix() {
87         if (defaultDeclaration) return "";
88         return super.getLocalName();
89     }
90     
91     
92   /**
93    * set Namespace URI reference (xmlns:prefix = "uri")
94    * @param uri the uri reference of a namespace is the value for an attribute
95    */

96     void setNamespaceURI(String JavaDoc uri) {
97         setValue(uri);
98     }
99     public String JavaDoc getNamespaceURI() {
100         return getValue();
101     }
102     
103
104     public boolean isNamespace(){
105         return true;
106     }
107     
108     public boolean isDefaultNamespaceDeclaration() {
109         return defaultDeclaration;
110     }
111     
112
113 }
114
Popular Tags