/* * Copyright 1999-2002,2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * $Id: NotationImpl.cpp 176278 2005-01-07 14:38:22Z amassari $ */ #include "NotationImpl.hpp" #include "DOM_DOMException.hpp" #include "DOM_Node.hpp" XERCES_CPP_NAMESPACE_BEGIN /** * Notations are how the Document Type Description (DTD) records hints * about the format of an XML "unparsed entity" -- in other words, * non-XML data bound to this document type, which some applications * may wish to consult when manipulating the document. A Notation * represents a name-value pair, with its nodeName being set to the * declared name of the notation. *
* Notations are also used to formally declare the "targets" of * Processing Instructions. *
* Note that the Notation's data is non-DOM information; the DOM only * records what and where it is. *
* See the XML 1.0 spec, sections 4.7 and 2.6, for more info. *
* Level 1 of the DOM does not support editing Notation contents. * * @author Rania Y. Khalaf * @author Joseph Kesselman * @since PR-DOM-Level-1-19980818. */ NotationImpl::NotationImpl(DocumentImpl *ownerDoc, const DOMString &nName) : NodeImpl(ownerDoc) { name = nName.clone(); } NotationImpl::NotationImpl(const NotationImpl &other, bool /*deep*/) : NodeImpl(other) { name = other.name.clone(); } NotationImpl::~NotationImpl() { } NodeImpl *NotationImpl::cloneNode(bool deep) { return new NotationImpl(*this, deep); } DOMString NotationImpl::getNodeName() { return name; } short NotationImpl::getNodeType() { return DOM_Node::NOTATION_NODE; } // Notation nodes do not have a parent NodeImpl * NotationImpl::getParentNode() { return 0; } DOMString NotationImpl::getPublicId() { return publicId.clone(); } DOMString NotationImpl::getSystemId() { return systemId.clone(); } void NotationImpl::setPublicId(const DOMString &arg) { if(isReadOnly()) throw DOM_DOMException( DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null); publicId = arg.clone(); } void NotationImpl::setSystemId(const DOMString &arg) { if(isReadOnly()) throw DOM_DOMException( DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR,null); systemId = arg.clone(); } XERCES_CPP_NAMESPACE_END