We relaunched the TWiki.org project with an expanded TWiki charter, and we invite you to participate! The TWiki.org Code of Conduct agreement took effect on 27 Oct 2008. We ask existing twiki.org users to opt-in. You need to opt-in to participate in the Blog, Codev, Plugins and TWiki webs. -- PeterThoeny - 27 Oct 2008
You are here: TWiki> Plugins Web>AttrsContrib (21 Sep 2006, PeterThoeny)
Tags:
development1Add my vote for this tag create new tag
, view all tags
Note: This package has been absorbed into the TWiki codebase as TWiki::Attrs, as of TWiki-4. No new releases will be made here.

Common attributes parser code module, for use by Plugins authors.

Summary of Contents

Provides a simple and consistent interface for creation and management of lists of standard TWiki-syntax attribute value lists, as used in tags.

Detailed Documentation

Package TWiki::Contrib::Attrs

Class of attribute sets, designed for parsing and storing attribute values from a TWiki tag e.g. %TAG{fred="bad" "sad" joe="mad"}%

An attribute set is a map containing an entry for each parameter. The default parameter (unnamed quoted string) is named __default__ in the map. Attributes declared later in the string will override those of the same name defined earlier. Escaping quotes is not supported.

The parser is forgiving; it will handle standard TWiki syntax (parameter values double-quoted) but also single-quoted values, unquoted spaceless values, spaces around the =, and commas as well as spaces separating values.

new ($string) => Attrs object ref

$string String containing attribute specification
Parse a standard attribute string containing name=value pairs and create a new attributes object. The value may be a word or a quoted string. If there is an error during parsing, the parse will complete but $this->{__error__} will be set in the new object.

Example:

use TWiki::Contrib::Attrs;
my $attrs = new TWiki::Contrib::Attrs('the="time has come", "the walrus" said to=speak of='many things');
In this example:
  • the will be time has come
  • __default__ will be the walrus
  • said will be on
  • to will be speak
  • of will be many things

get( $key) => value

$key Attribute name
Get an attr value; return undef if not set

isEmpty() => boolean

Return false if attribute set is not empty.

remove($key) => value

$key Attribute to remove
Remove an attr value from the map, return old value. After a call to remove the attribute is no longer defined.

toString() => string

Generate a printed form for the map, using standard attribute syntax, with only the single-quote extension syntax observed (no {} brackets, though).

Settings

  • Name of the perl package
    • Set STUB = TWiki::Contrib::Attrs
    • Set SHORTDESCRIPTION = Common attributes parser code module, for use by Plugins authors. Deprecated, do not use in TWiki-4

Installation Instructions

  • Download the ZIP file from the Plugin web (see below)
  • Unzip AttrsContrib.zip in your twiki installation directory. Content:
File: Description:
data/TWiki/AttrsContrib.txt  
lib/TWiki/Contrib/Attrs.pm  
lib/TWiki/Contrib/AttrsContrib/test.zip  
lib/TWiki/Contrib/AttrsContrib/build.pl  
AttrsContrib_installer.pl Install script

Plugin Info

Author: TWiki:Main/CrawfordCurrie http://www.c-dot.co.uk
Copyright ©: 2001, Motorola Corp, All Rights Reserved
License: GPL
Dependencies: None
Change History:  
14/08/04 Separated out from SharedCode module
Home: http://TWiki.org/cgi-bin/view/Plugins/AttrsContrib
Feedback: http://TWiki.org/cgi-bin/view/Plugins/AttrsContribDev

Related Topics: TWikiPreferences

-- TWiki:Main/CrawfordCurrie - 14:12:23 30 August 2004

Topic attachments
I Attachment Action Size Date Who Comment
zipzip AttrsContrib.zip manage 6.6 K 16 Aug 2004 - 11:54 CrawfordCurrie  
Topic revision: r7 - 21 Sep 2006 - 05:32:58 - PeterThoeny
 
TWIKI.NET
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback