Extensions

NAME

Syndicate::Extensions - Extension registration registry

DESCRIPTION

Central registry for feed format extensions. Extensions register parse/generate callbacks that run automatically during RSS item parsing and XML generation.

Note: All RSS parsers (RSS 0.91, RSS 1.0, RSS 2.0) unconditionally load the DublinCore, MediaRSS, and ITunes extensions at compile time. There is currently no opt-out mechanism to disable individual extensions.

EXPORTED SUBS

register-ext(:&parse, :&generate)

Register an extension. &parse receives an XML::Element and a mutable hash of attributes. &generate receives an XML::Element and the item object.

remove-last-ext

Removes the most recently registered extension. Designed for test teardown only. Must not be called concurrently with run-parsers or run-generators.

run-parsers($elem, %attrs)

Runs all registered parse callbacks. Called during RSS item parsing. The extension snapshot is read atomically; concurrent calls to remove-last-ext during parsing are unsupported.

run-generators($xml, $item)

Runs all registered generate callbacks. Called during RSS item XML output. Same atomic-read caveat as run-parsers.

Syndicate v0.0.6

Syndication feed parser and generator

Authors

  • Sasha Abbott

License

CC0-1.0

Dependencies

XMLJSON::Fast:auth<zef:timo>DateTime::GrammarDateTime::FormatHTTP::Tiny:auth<zef:jjatria>IO::Socket::SSLURI

Test Dependencies

Provides

  • Syndicate
  • Syndicate::Atom
  • Syndicate::Atom::Item
  • Syndicate::Builder::Entry
  • Syndicate::Builder::Feed
  • Syndicate::Discovery
  • Syndicate::Extension::DublinCore
  • Syndicate::Extension::ITunes
  • Syndicate::Extension::MediaRSS
  • Syndicate::Extensions
  • Syndicate::Feed
  • Syndicate::FeedResult
  • Syndicate::Format
  • Syndicate::Item
  • Syndicate::JSONFeed
  • Syndicate::JSONFeed::Item
  • Syndicate::Parse
  • Syndicate::RSS
  • Syndicate::RSS::Common
  • Syndicate::RSS::Item
  • Syndicate::RSS::Item::Common
  • Syndicate::RSS::V0_91
  • Syndicate::RSS::V0_91::Item
  • Syndicate::RSS::V1_0
  • Syndicate::RSS::V1_0::Item
  • Syndicate::Stats
  • Syndicate::Utils

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite β€” the markup and publishing tools behind this site.