InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ISAXAttributes.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 __ISAXAttributes_h__
25 #define __ISAXAttributes_h__
26 
27 #include "IPMUnknown.h"
28 #include <vector>
29 #include "XMLParserID.h"
30 
31 class ISAXServices;
32 
33 
87 class ISAXAttributes : public IPMUnknown
88 {
89 public:
90  enum { kDefaultIID = IID_ISAXATTRIBUTES };
91 
92  typedef std::vector< std::pair<WideString, WideString> > NamespaceDecl;
93 
108  virtual void Adopt(const char** attributes, bool16 namespaced, ISAXServices* owner, const NamespaceDecl& namespaceDecls) = 0;
109 
120  virtual int32 GetLength() const = 0;
121 
129  virtual void AttributeHandled(uint32 index) = 0;
130 
149  virtual bool16 GetURI(uint32 index, WideString& uri) const = 0;
150 
170  virtual bool16 GetLocalName(uint32 index, WideString& localName) const = 0;
171 
191  virtual bool16 GetQName(uint32 index, WideString& qName) const = 0;
192 
221  virtual bool16 GetType(uint32 index, WideString& attributeType) const = 0;
222 
242  virtual bool16 GetValue(uint32 index, WideString& attributeValue) const = 0;
243 
256  virtual bool16 GetIndex(const WideString& uri, const WideString& localPart, uint32& index) const = 0;
257 
268  virtual bool16 GetIndex(const WideString& qName, uint32& index) const = 0;
269 
288  virtual bool16 GetType(const WideString& uri, const WideString& localPart, WideString& attributeType) const = 0;
289 
305  virtual bool16 GetType(const WideString& qName, WideString& attributeType) const = 0;
306 
322  virtual bool16 GetValue(const WideString& uri, const WideString& localPart, WideString& attributeValue) const = 0;
323 
337  virtual bool16 GetValue(const WideString& qName, WideString& attributeValue) const = 0;
338 
339 
342  virtual bool16 HasAttribute(const PMString& key) const = 0;
343  virtual bool16 HasAttribute(const WideString& key) const = 0;
344 
345  virtual PMString GetAttributeString(const PMString& key, const PMString& defaultValue = "") const = 0;
346  virtual WideString GetAttributeString(const WideString& key, const WideString* defaultValue = nil) const = 0;
347 
348  virtual bool16 GetAttributeBool(const PMString& key, bool16 defaultValue = kFalse) const = 0;
349  virtual bool16 GetAttributeBool(const WideString& key, bool16 defaultValue = kFalse) const = 0;
350 
351  virtual int32 GetAttributeInt(const PMString& key, int32 defaultValue = 0) const = 0;
352  virtual int32 GetAttributeInt(const WideString& key, int32 defaultValue = 0) const = 0;
353 
354 };
355 
356 #endif