Element.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*
  2. From SVG-DOM, via Core-DOM:
  3. http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-745549614
  4. interface Element : Node {
  5. readonly attribute DOMString tagName;
  6. DOMString getAttribute(in DOMString name);
  7. void setAttribute(in DOMString name,
  8. in DOMString value)
  9. raises(DOMException);
  10. void removeAttribute(in DOMString name)
  11. raises(DOMException);
  12. Attr getAttributeNode(in DOMString name);
  13. Attr setAttributeNode(in Attr newAttr)
  14. raises(DOMException);
  15. Attr removeAttributeNode(in Attr oldAttr)
  16. raises(DOMException);
  17. NodeList getElementsByTagName(in DOMString name);
  18. // Introduced in DOM Level 2:
  19. DOMString getAttributeNS(in DOMString namespaceURI,
  20. in DOMString localName);
  21. // Introduced in DOM Level 2:
  22. void setAttributeNS(in DOMString namespaceURI,
  23. in DOMString qualifiedName,
  24. in DOMString value)
  25. raises(DOMException);
  26. // Introduced in DOM Level 2:
  27. void removeAttributeNS(in DOMString namespaceURI,
  28. in DOMString localName)
  29. raises(DOMException);
  30. // Introduced in DOM Level 2:
  31. Attr getAttributeNodeNS(in DOMString namespaceURI,
  32. in DOMString localName);
  33. // Introduced in DOM Level 2:
  34. Attr setAttributeNodeNS(in Attr newAttr)
  35. raises(DOMException);
  36. // Introduced in DOM Level 2:
  37. NodeList getElementsByTagNameNS(in DOMString namespaceURI,
  38. in DOMString localName);
  39. // Introduced in DOM Level 2:
  40. boolean hasAttribute(in DOMString name);
  41. // Introduced in DOM Level 2:
  42. boolean hasAttributeNS(in DOMString namespaceURI,
  43. in DOMString localName);
  44. };
  45. */
  46. #import <Foundation/Foundation.h>
  47. /** objc won't allow this: @class Node;*/
  48. #import "Node.h"
  49. @class Attr;
  50. #import "Attr.h"
  51. @class NodeList;
  52. #import "NodeList.h"
  53. @interface Element : Node
  54. @property(nonatomic,strong,readonly) NSString* tagName;
  55. -(NSString*) getAttribute:(NSString*) name;
  56. -(void) setAttribute:(NSString*) name value:(NSString*) value;
  57. -(void) removeAttribute:(NSString*) name;
  58. -(Attr*) getAttributeNode:(NSString*) name;
  59. -(Attr*) setAttributeNode:(Attr*) newAttr;
  60. -(Attr*) removeAttributeNode:(Attr*) oldAttr;
  61. -(NodeList*) getElementsByTagName:(NSString*) name;
  62. // Introduced in DOM Level 2:
  63. -(NSString*) getAttributeNS:(NSString*) namespaceURI localName:(NSString*) localName;
  64. // Introduced in DOM Level 2:
  65. -(void) setAttributeNS:(NSString*) namespaceURI qualifiedName:(NSString*) qualifiedName value:(NSString*) value;
  66. // Introduced in DOM Level 2:
  67. -(void) removeAttributeNS:(NSString*) namespaceURI localName:(NSString*) localName;
  68. // Introduced in DOM Level 2:
  69. -(Attr*) getAttributeNodeNS:(NSString*) namespaceURI localName:(NSString*) localName;
  70. // Introduced in DOM Level 2:
  71. -(Attr*) setAttributeNodeNS:(Attr*) newAttr;
  72. // Introduced in DOM Level 2:
  73. -(NodeList*) getElementsByTagNameNS:(NSString*) namespaceURI localName:(NSString*) localName;
  74. // Introduced in DOM Level 2:
  75. -(BOOL) hasAttribute:(NSString*) name;
  76. // Introduced in DOM Level 2:
  77. -(BOOL) hasAttributeNS:(NSString*) namespaceURI localName:(NSString*) localName;
  78. #pragma mark - Objective-C init methods (not in SVG Spec - you're supposed to use SVGDocument's createXXX methods instead)
  79. - (id)initWithLocalName:(NSString*) n attributes:(NSMutableDictionary*) attributes;
  80. - (id)initWithQualifiedName:(NSString*) n inNameSpaceURI:(NSString*) nsURI attributes:(NSMutableDictionary*) attributes;
  81. @end