/* Implementation for NSXMLDTDNode for GNUStep Copyright (C) 2008 Free Software Foundation, Inc. Written by: Richard Frith-Macdonald 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. */ #import "common.h" #define GSInternal NSXMLDTDNodeInternal #import "NSXMLPrivate.h" #import "GSInternal.h" GS_PRIVATE_INTERNAL(NSXMLDTDNode) @implementation NSXMLDTDNode - (void) dealloc { if (GS_EXISTS_INTERNAL) { } [super dealloc]; } - (NSXMLDTDNodeKind) DTDKind { return internal->DTDKind; } - (id) initWithKind: (NSXMLNodeKind)kind options: (NSUInteger)theOptions { if (NSXMLEntityDeclarationKind == kind || NSXMLElementDeclarationKind == kind || NSXMLNotationDeclarationKind == kind) { /* Create holder for internal instance variables so that we'll have * all our ivars available rather than just those of the superclass. */ GS_CREATE_INTERNAL(NSXMLDTDNode) } return [super initWithKind: kind options: theOptions]; } - (id) initWithXMLString: (NSString*)string { // internal->node = xmlNewDtd(NULL,NULL,NULL); // TODO: Parse the string and get the info to create this... [self notImplemented: _cmd]; return nil; } - (BOOL) isExternal { if ([self systemID]) { return YES; } return NO; } - (NSString*) notationName { return StringFromXMLStringPtr(MY_DTD->name); } - (NSString*) publicID { return StringFromXMLStringPtr(MY_DTD->ExternalID); } - (void) setDTDKind: (NSXMLDTDNodeKind)kind { internal->DTDKind = kind; } - (void) setNotationName: (NSString*)notationName { MY_DTD->name = XMLSTRING(notationName); } - (void) setPublicID: (NSString*)publicID { MY_DTD->ExternalID = XMLSTRING(publicID); } - (void) setSystemID: (NSString*)systemID { MY_DTD->ExternalID = XMLSTRING(systemID); } - (NSString*) systemID { return StringFromXMLStringPtr(MY_DTD->SystemID); } @end