mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 16:30:41 +00:00
Add skeletal NSXML work as requested.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27824 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
2f24254d4f
commit
910deff1a6
21 changed files with 2553 additions and 4 deletions
148
Headers/Foundation/NSXMLDTDNode.h
Normal file
148
Headers/Foundation/NSXMLDTDNode.h
Normal file
|
@ -0,0 +1,148 @@
|
|||
/* Interface for NSXMLDTDNode for GNUStep
|
||||
Copyright (C) 2008 Free Software Foundation, Inc.
|
||||
|
||||
Written by: Richard Frith-Macdonald <rfm@gnu.org>
|
||||
Created: September 2008
|
||||
|
||||
This file is part of the GNUstep Base Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 3 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02111 USA.
|
||||
*/
|
||||
|
||||
#ifndef __NSXMLDTDNode_h_GNUSTEP_BASE_INCLUDE
|
||||
#define __NSXMLDTDNode_h_GNUSTEP_BASE_INCLUDE
|
||||
#import <GNUstepBase/GSVersionMacros.h>
|
||||
|
||||
#import <Foundation/NSXMLNode.h>
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* The kind of DTD node.
|
||||
*/
|
||||
enum {
|
||||
NSXMLEntityGeneralKind = 1,
|
||||
NSXMLEntityParsedKind,
|
||||
NSXMLEntityUnparsedKind,
|
||||
NSXMLEntityParameterKind,
|
||||
NSXMLEntityPredefined,
|
||||
NSXMLAttributeCDATAKind,
|
||||
NSXMLAttributeIDKind,
|
||||
NSXMLAttributeIDRefKind,
|
||||
NSXMLAttributeIDRefsKind,
|
||||
NSXMLAttributeEntityKind,
|
||||
NSXMLAttributeEntitiesKind,
|
||||
NSXMLAttributeNMTokenKind,
|
||||
NSXMLAttributeNMTokensKind,
|
||||
NSXMLAttributeEnumerationKind,
|
||||
NSXMLAttributeNotationKind,
|
||||
NSXMLElementDeclarationUndefinedKind,
|
||||
NSXMLElementDeclarationEmptyKind,
|
||||
NSXMLElementDeclarationAnyKind,
|
||||
NSXMLElementDeclarationMixedKind,
|
||||
NSXMLElementDeclarationElementKind
|
||||
};
|
||||
typedef NSUInteger NSXMLDTDNodeKind;
|
||||
|
||||
/**
|
||||
* Represents the nodes whose types are present only in DTDs.<br />
|
||||
* Object values for the different nodes are:
|
||||
* <deflist>
|
||||
* <term>Entity declaration</term>
|
||||
* <desc>The string that that entity resolves to eg "<"</desc>
|
||||
* <term>Attribute declaration</term>
|
||||
* <desc>The default value, if any</desc>
|
||||
* <term>Element declaration</term>
|
||||
* <desc>The validation string</desc>
|
||||
* <term>Notation declaration</term>
|
||||
* <desc>nil</desc>
|
||||
* </deflist>
|
||||
*/
|
||||
@interface NSXMLDTDNode : NSXMLNode
|
||||
{
|
||||
@protected
|
||||
NSXMLDTDNodeKind _DTDKind;
|
||||
NSString *_name;
|
||||
NSString *_notationName;
|
||||
NSString *_publicID;
|
||||
NSString *_systemID;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns what kind of DTD node this is.
|
||||
*/
|
||||
- (NSXMLDTDNodeKind) DTDKind;
|
||||
|
||||
/** <init />
|
||||
* Initialises the receiver based on the contents of the supplied XML.
|
||||
*/
|
||||
- (id) initWithXMLString: (NSString*)string;
|
||||
|
||||
/**
|
||||
* Returns YES if the system id is set, NO otherwise.<br />
|
||||
* Is valid only for entities and notations.
|
||||
*/
|
||||
- (BOOL) isExternal;
|
||||
|
||||
/**
|
||||
* Returns the notation name.
|
||||
*/
|
||||
- (NSString*) notationName;
|
||||
|
||||
/**
|
||||
* Returns the public id.
|
||||
*/
|
||||
- (NSString*) publicID;
|
||||
|
||||
/**
|
||||
* Sets what kind of DTD node this is.
|
||||
*/
|
||||
- (void) setDTDKind: (NSXMLDTDNodeKind)kind;
|
||||
|
||||
/**
|
||||
* Sets the notation name if the receiver is an entity.
|
||||
*/
|
||||
- (void) setNotationName: (NSString*)notationName;
|
||||
|
||||
/**
|
||||
* Sets the public id of this node.<br />
|
||||
* This identifier should be in the default catalog or in a location
|
||||
* given by the XML_CATALOG_FILES environment variable.<br />
|
||||
* When the public id is set the system id must also be set.<br />
|
||||
* This is valid only for entities and notations.
|
||||
*/
|
||||
- (void) setPublicID: (NSString*)publicID;
|
||||
|
||||
/**
|
||||
* Sets the system ID ... a URL referring to the DTD document.
|
||||
*/
|
||||
- (void) setSystemID: (NSString*)systemID;
|
||||
|
||||
/**
|
||||
* Returns the system ID.
|
||||
*/
|
||||
- (NSString*) systemID;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*__NSXMLDTDNode_h_GNUSTEP_BASE_INCLUDE */
|
Loading…
Add table
Add a link
Reference in a new issue