InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IXMLNodeTarget.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Daniel Guenther
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 // Note:
24 //
25 //========================================================================================
26 
27 #ifndef _IXMLNodeTarget_
28 #define _IXMLNodeTarget_
29 //________________________________________________________________________________________________
30 // INCLUDES
31 //________________________________________________________________________________________________
32  #include "IPMUnknown.h"
33  #include "ShuksanID.h"
34  #include "NodeID.h"
35 #include "K2Vector.h"
36 #include "XMediaUIID.h"
37 #include "XMLID.h"
38 #include "XMLReference.h"
39 #include "XMLAttributeReference.h"
40 
41 //________________________________________________________________________________________________
42 // CLASS DECLARATION
43 //________________________________________________________________________________________________
53 class IXMLNodeTarget : public IPMUnknown
54  {
55  //____________________________________________________________________________________________
56  // Data Types
57  //____________________________________________________________________________________________
58  public:
59  enum { kDefaultIID = IID_IXMLNODETARGET };
60 
63  { kRemoveDescendents
65  };
66 
67 
68  //____________________________________________________________________________________________
69  // Member functions
70  //____________________________________________________________________________________________
71  public:
72  //................................................................................
73  // Utilities
74  //................................................................................
75 
79 // virtual void Initialize (IDataBase*) = 0;
80 
85  virtual int32 Location (const XMLAttributeReference&) const = 0;
86 
91  virtual int32 Location (const XMLReference&) const = 0;
92 
96  virtual int32 CommentLocation (const XMLReference&) const = 0;
97 
101  virtual int32 PILocation(const XMLReference&) const = 0;
102 
106  virtual int32 AllLocation(const XMLReference&) const = 0;
107 
108  //................................................................................
109  // (Add to / Remove from) the XML target
110  //................................................................................
111 
115  virtual void AddAttribute (const XMLAttributeReference& newItem) = 0;
116 
120  virtual void RemoveAttribute (const XMLAttributeReference& itemToRemove) = 0;
121 
122 
126  virtual void AddElement (const XMLReference& newItem) = 0;
127 
131  virtual void RemoveElement (const XMLReference& itemToRemove) = 0;
132 
133 
137  virtual void AddComment (const XMLReference& newItem) = 0;
138 
142  virtual void RemoveComment (const XMLReference& itemToRemove) = 0;
143 
144 
148  virtual void AddPI (const XMLReference& newItem) = 0;
149 
153  virtual void RemovePI (const XMLReference& itemToRemove) = 0;
154 
155 
159  virtual void AddNonAttribute (const XMLReference& newItem) = 0;
160 
164  virtual void RemoveNonAttribute (const XMLReference& itemToRemove) = 0;
165 
166 
170  virtual void Clear (void) = 0;
171 
173  virtual void ClearNonAttributes(void) = 0;
174 
178  virtual void ClearElements () = 0;
179 
181  virtual void ClearComments(void) = 0;
182 
184  virtual void ClearPIs(void) = 0;
185 
189  virtual void ClearAttributes () = 0;
190 
191 
196  virtual const K2Vector<XMLAttributeReference>& GetAttributeNodeList () const = 0;
197 
201  virtual void SetAttributeNodeList (const K2Vector<XMLAttributeReference>&) = 0;
202 
206  virtual void SetAttributeNodeList (const XMLAttributeReference&) = 0;
207 
210  virtual int32 GetAttributeCount() const = 0;
211 
216  virtual const XMLAttributeReference& GetNthAttribute(int32 index) const = 0;
217 
218 
223  virtual const K2Vector<XMLReference>& GetElementNodeList () const = 0;
224 
228  virtual void GetFilteredElementNodeList (XMLNodeFilterType, K2Vector<XMLReference>& sortedList) const = 0;
229 
233  virtual void SetElementNodeList (const K2Vector<XMLReference>&) = 0;
234 
237  virtual void SetElementNodeList (const XMLReference&) = 0;
238 
242  virtual int32 GetElementCount() const = 0;
243 
248  virtual const XMLReference& GetNthElement(int32 index) const = 0;
249 
250 
254  virtual const K2Vector<XMLReference>& GetCommentNodeList () const = 0;
255 
259  virtual void SetCommentNodeList (const K2Vector<XMLReference>&) = 0;
260 
264  virtual void SetCommentNodeList (const XMLReference&) = 0;
265 
269  virtual int32 GetCommentCount() const = 0;
270 
275  virtual const XMLReference& GetNthComment(int32 index) const = 0;
276 
277 
281  virtual const K2Vector<XMLReference>& GetPINodeList () const = 0;
282 
286  virtual void SetPINodeList (const K2Vector<XMLReference>&) = 0;
287 
291  virtual void SetPINodeList (const XMLReference&) = 0;
292 
296  virtual int32 GetPICount() const = 0;
297 
302  virtual const XMLReference& GetNthPI(int32 index) const = 0;
303 
304 
308  virtual const K2Vector<XMLReference>& GetAllNodeList() const = 0;
309 
314  virtual void SetAllNodeList (const K2Vector<XMLReference>&) = 0;
315 
320  virtual void SetAllNodeList (const XMLReference&) = 0;
321 
326 
330  virtual int32 GetAllCount() const = 0;
331 
336  virtual const XMLReference& GetNthNode(int32 index) const = 0;
337 
338 
342  virtual IDataBase* GetDataBase() const = 0;
343 
346  virtual bool16 HasContent(void) const = 0;
347 
352  virtual void Initialize (IDataBase* db) = 0;
353  };
354 
355 #endif // _IXMLNodeTarget_