InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IIDXMLDOMNode.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Ryan Gano
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IIDXMLDOMNode_h__
25 #define __IIDXMLDOMNode_h__
26 
27 class ISAXServices;
29 class IIDXMLDOMNList;
30 class IIDXMLDOMDocument;
31 
32 // Forward declare this in the proper namespace
33 namespace BIB_NAMESPACE {
34  class CAXENodeDOM;
35 }
36 
63 {
64 public:
66  typedef enum {
81 
82  virtual ~IIDXMLDOMNode() {}
83 
118  virtual IIDXMLDOMNode *CloneNode(bool deepClone) = 0;
119 
126  virtual bool16 IsValid() const = 0;
127 
139  virtual IIDXMLDOMNode::kNodeTypes GetNodeType() const = 0;
140 
165  virtual bool16 GetLocalName(WideString& localName) const = 0;
166 
188  virtual bool16 GetNamespaceURI(WideString& namespaceURI) const = 0;
189 
205  virtual bool16 GetNodeName(WideString& name) const = 0;
206 
221  virtual bool16 GetNodeValue(WideString& value) const = 0;
222 
236  virtual void SetNodeValue(const WideString& val) = 0;
237 
262  virtual bool16 GetPrefix(WideString& prefix) const = 0;
263 
274  virtual void SetPrefix(const WideString& prefix) = 0;
275 
289  virtual IIDXMLDOMNamedNodeMap *GetAttributes() const = 0;
290 
302  virtual bool16 HasChildNodes() const = 0;
303 
322  virtual IIDXMLDOMNList *GetChildNodes() const = 0;
323 
333  virtual IIDXMLDOMNode *GetFirstChild() const = 0;
334 
344  virtual IIDXMLDOMNode *GetLastChild() const = 0;
345 
355  virtual IIDXMLDOMNode *GetNextSibling() const = 0;
356 
366  virtual IIDXMLDOMNode *GetPreviousSibling() const = 0;
367 
380  virtual IIDXMLDOMNode *GetParentNode() const = 0;
381 
382  /*
383  Owner document
384 
385  Get the owner document for this node. This is also the
386  CAXEDocumentDOM object used to create new nodes. When this
387  node is a CAXEDocumentDOM or a CAXEDocTypeDOM which is not
388  used with any document yet, false is returned.
389 
390  @param owner An output parameter that is assigned
391  with the owner document node, if
392  there is one, otherwise it is left
393  unchanged.
394 
395  @return 'true' if there is an owner document,
396  'false' otherwise.
397 
398  */
399  virtual IIDXMLDOMDocument *GetOwnerDocument() const = 0;
400 
420  virtual void InsertBefore(IIDXMLDOMNode* newNode, IIDXMLDOMNode* whichNode) = 0;
421 
438  virtual void AppendChild(IIDXMLDOMNode *newChild) = 0;
439 
456  virtual void ReplaceChild(IIDXMLDOMNode *newChild, IIDXMLDOMNode *oldChild) = 0;
457 
458  /*
459  Remove child node
460 
461  Removes the child node from the list of children
462 
463  @param oldChild Child node to remove from child list
464 
465  @return The node removed
466  */
467  virtual IIDXMLDOMNode *RemoveChild(IIDXMLDOMNode* oldChild) = 0;
468 
472  virtual BIB_NAMESPACE::CAXENodeDOM GetAXEObject() = 0;
473 };
474 
475 #endif