void combineBases(
string
$base, string
$link)
|
|
We have other methods which will traverse the DOM and work out the different xml:base declarations we need to be aware of. We then need to combine them.
If a declaration starts with a protocol then we restart the string. If it starts with a / then we add on to the domain name. Otherwise we simply tag it on to the end.
Parameters:
string|array|false getCategory(
string
$call, array
$arguments)
|
|
There is no single way of declaring a category in RSS1 or Atom as there is in RSS2.
Instead the usual approach is to use the dublin core namespace to declare categories. For example delicious use both: <dc:subject>PEAR</dc:subject> and: <taxo:topics><rdf:Bag> <rdf:li resource="http://del.icio.us/tag/PEAR" /></rdf:Bag></taxo:topics> to declare a categorisation of 'PEAR'.
We need to be sensitive to this where possible. For the initial implementation we will simply extract all dc:subject entries as that is common across Atom and RSS1.
Overridden in child classes as:
- XML_Feed_Parser_RSS2::getCategory()
- The category element is a simple text construct which can occur any number of times. We allow access by offset or access to an array of results.
Parameters:
string processXHTMLAttributes(
DOMElement
$node)
|
|
We need a couple of methods to access XHTML content stored in feeds.
This is because we dereference all xml:base references before returning the element. This method handles the attributes.
Parameters:
string traverseNode(
DOMElement
$node)
|
|
We need a couple of methods to access XHTML content stored in feeds.
This is because we dereference all xml:base references before returning the element. This method recurs through the tree descending from the node and builds our string
Parameters: