Changes for version 0.01.15
- verify now uses $_ per default, if only one argument is given.
- matches() introduced as an alias for dverify(). It exported per default.
- renamed matches() to is()
- Added Locale::Maketext localization.
- Accessible via $Data::Type::lh->maketext( )
- Served through Data::Type::L18N packages. [Note] In first line, this is for international error reports. This should help promptig ie. Webusers in front of an cgi-form.
- Renamed everything from Type:: to Data::Type:: Filter:: to Data::Type::Filter:: Facet:: to Data::Type::Facet
- [Note] Now we don't pollute anyones namespace. Everything is beneath C<Data::Type>.
- C<Data::Type::IType::UNIVERSAL> got C<alias()> method which returns the exported name of that type.
- 'summary()' is the new name of 'testplan()' (which was 'complains()'). 'testplan' is removed from the export symbols and 'summary() was added instead
- C<pass> and C<fail> renamed to C<ok> and C<nok> (more intuitive).
- Renamed type "OS::PATH" export name to "PATH"
- Removed 'alias()' method from IType::UNIVERSAL because export() does the same.
- Renamed Data::Type::IType::UNIVERSAL to Data::Type::IType.
- C<summary()>
- now returns Data::Type::Entry objects instead of simple aref.
- new usage: ( VALUE, ENTRY || [ ENTRY, ... ] )
- t/describe.t renamed to t/summary.t
- removed C<nok()>
- C<ok> now takes a bool argument if awaiting success/fail
- Usage changed: C<verify( $value, $test )> C<dverify( $value, $test )>
- Data::Type::Exception now has public C<catched> which holds the array of preceding exceptions which induced it.
- @Data::Type::err holds the list of negative exceptions when C<dverify> alias C<is> fails. Syntactic sugar:
- unless( shift and is BIO::DNA ) { print Dumper \@Data::Type::err; }
- LOCALE
- Types suffix the l18n language code: TYPE::DE for "de" (german).
- [Note] You would need an implicit Data::Type::L18N::de package. Only C<type export> names with a correspondent ::L18N::xx package should be allowed. This may not make sense when no localization is needed, but it will prevent consufion.
- Data::Type::l18n_list() returns the implemented localized packages
- FACETS
- move C<Data::Type::Facet::Proxy> to C<Data::Type::Facet>
- now every Facet isa C<Data::Type::IFacet> (empty)
- API
- renamed C<verify> to C<valid>
- Data::Type::Facet::match has new usage
- Data::Type->filter now wants list of [ 'filtername', @args ]
- Data::Type::Object::*->test and Data::Type::Filter::*->test now doesnt take any args. Instead Data::Type::value is consequently used.
- added C<isnt> as an alias for C<no is( TYPE )>
- Relaced 'IType' with 'Interface', so we got 'Data::Type::Interface' instead of 'Data::Type::IType' Replaced 'IFacet' with 'Facet::Interface', so we now have 'Data::Type::Facet::Interface'
- REGEXPS
- Every regex now lives in $Data::Type::Regex::registry
- Dynamic regex generation via coderef support (with arguments).
- Access via C<Data::Type::Regex->request( )>. This is a step further to facadeless gateway to Regexp::Common (Hopefully will save a lot maintainance time).
- moved Data::Type::Exception related objects to Data/Type/Exception.pm
- added the HTML type (thanks to HMTM::Lint)
Documentation
the manual overview
frequently asked questions
frequently occuring problems
Point to point recipes how to get things done
Modules
robust, extensible data- and valuetype system
types from databases
types from databases
the standard set of data types
set of data types from the W3C XML Schema spec
base classes for exceptions
a subelement of a type
cleans values before subjecting to facets
inspects members of foreign objects
regex based data types made easy
bind variables to datatypes
Provides
in Type/Exception.pm
in Type/Collection.pm
in Type/Collection/DB.pm
in Type/Collection/Perl.pm
in Type/Collection/Perl6.pm
in Type/Collection/Perl6.pm
in Type/Collection/Perl.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type.pm
in Type.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Collection/Std.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Facet.pm
in Type/Facet.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Field.pm
in Type/Field.pm
in Type/Field.pm
in Type/Filter.pm
in Type/Filter.pm
in Type/Filter.pm
in Type/Filter.pm
in Type/Filter.pm
in Type.pm
in Type.pm
in Type.pm
in Type.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Bio.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/DB.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/DB.pm
in Type/Collection/DB.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Bio.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/DB.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/DB.pm
in Type/Collection/DB.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Bio.pm
in Type/Collection/DB.pm
in Type/Collection/Std.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/DB.pm
in Type/Collection/W3C.pm
in Type/Collection/DB.pm
in Type/Collection/DB.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/W3C.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/DB.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/DB.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type/Collection/Std.pm
in Type.pm
in Type/Collection/Bio.pm
in Type/Collection/DB.pm
in Type/Collection/Std.pm