Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

QName.h

00001 /*
00002  *   Copyright 2003-2004 The Apache Software Foundation.
00003  *
00004  *   Licensed under the Apache License, Version 2.0 (the "License");
00005  *   you may not use this file except in compliance with the License.
00006  *   You may obtain a copy of the License at
00007  *
00008  *       http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  *   Unless required by applicable law or agreed to in writing, software
00011  *   distributed under the License is distributed on an "AS IS" BASIS,
00012  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  *   See the License for the specific language governing permissions and
00014  *   limitations under the License.
00015  *
00016  *
00017  * @author Roshan Weerasuriya (roshan@jkcs.slt.lk)
00018  *
00019  */
00020 
00021 
00022 #if !defined(AXIS_QNAME_H__INCLUDED_)
00023 #define AXIS_QNAME_H__INCLUDED_
00024 
00025 #include <axis/server/GDefine.h>
00026 
00027 /*
00028  *    Qualified name according to "Namespaces in XML" specification.
00029  *    
00030  *    QName      ::=  (Prefix ':')? LocalPart          <br>
00031  *    Prefix      ::=  NCName                          <br>
00032  *    LocalPart ::=  NCName                            <br>
00033  *    NCName      ::=  (Letter | '_') (NCNameChar)*  ;  
00034  *    An XML Name, minus the ":"                       <br>
00035  *    NCNameChar ::=  Letter | Digit | '.' | '-' | '_' etc.   <br>
00036  *    The Prefix provides the namespace prefix part of the qualified name,
00037  *    and must 
00038  *    be associated with a namespace URI reference in a namespace declaration. 
00039  *    The LocalPart provides the local part of the qualified name. 
00040  *    Note that the prefix functions only as a placeholder 
00041  *    for a namespace name. 
00042  *    Applications should use the namespace name, not the prefix, 
00043  *    in constructing 
00044  *    names whose scope extends beyond the containing document.
00045  *
00046  *    
00047  *    @brief    Qualified name according to "Namespaces in XML" specification
00048  */
00049 
00050 #define NAMESPACESEPARATOR 0x03 /* Heart */
00051 
00052 class QName  
00053 {
00054 public:
00055     const XML_Ch* uri;
00056     const XML_Ch* localname;
00057 
00058 public:
00059     QName();
00060     virtual ~QName();
00061     void SplitQNameString(const XML_Ch* qname, XML_Ch sep);
00062     void MergeQNameString(XML_Ch sep);
00063 };
00064 
00065 #endif 
00066 
00067 

Generated on Fri Apr 9 12:21:29 2004 for axiscpp by doxygen1.2.18