ProtoObjectObjectSCXMLElementWrapper
| xmlElement |
| instance | class |
|---|---|
compatibility
initialize
parts
private
|
instance creation |
| xmlElement |
|---|
|
| compatibility |
|---|
| attributeAt: name |
^xmlElement attributeAt: name |
| elements |
^xmlElement elements |
| initialize |
|---|
| initializeFromXMLElement: anElement |
xmlElement _ anElement |
| parts |
|---|
| allElements |
| result | result _ OrderedCollection new. self allElementsIn: xmlElement addTo: result. ^ result |
| elementWithId: aString |
^ self elementWithId: aString ifNone: [self error: 'No such element.'] |
| elementWithId: aString ifNone: aBlock |
^self allElements detect: [:each | (each attributeAt: 'id' ifAbsent: []) = aString] ifNone: aBlock |
| elementsWithClass: aString |
^ self allElements select: [:each | (each attributeAt: 'class' ifAbsent: []) = aString] |
| xmlElement |
^xmlElement |
| private |
|---|
| allElementsIn: element addTo: result |
result add: element. element elementsDo: [:subElement | self allElementsIn: subElement addTo: result] |
| allElementsWithTag: tagName in: element addTo: result |
element name = tagName ifTrue: [result add: element] ifFalse: [element elementsDo: [:subElement | self allElementsWithTag: tagName in: subElement addTo: result]] |
| elementWithId: id containsText: aString |
^self xmlElement: (self elementWithId: id) containsText: aString |
| xmlElement: element containsText: aString |
^ (element contents anySatisfy: [:each | each isText and: [each string includesSubstring: aString caseSensitive: true]]) or: [element elements anySatisfy: [:e | self xmlElement: e containsText: aString]] |
| testing |
|---|
| containsText: aString |
^self xmlElement: xmlElement containsText: aString |
| instance creation |
|---|
| fromXMLElement: anElement |
^ self new initializeFromXMLElement: anElement |