# HG changeset patch # User Sergey # Date 1255441885 -14400 # Node ID 9dd67fa91ee319891c8fbfcad69550c348fb7c7a # Parent 7f00786f8210a1e87be2cca27d78f4c69735480a small fix in the dom schema works under text schema diff -r 7f00786f8210 -r 9dd67fa91ee3 Lib/IMPL/DOM/Schema/Property.pm --- a/Lib/IMPL/DOM/Schema/Property.pm Mon Oct 05 00:48:49 2009 +0400 +++ b/Lib/IMPL/DOM/Schema/Property.pm Tue Oct 13 17:51:25 2009 +0400 @@ -28,7 +28,7 @@ sub CTOR { my ($this,%args) = @_; - $this->RequiredMessage($args{RequiredMessage} || 'A property %Schema.name% is required'); + $this->RequiredMessage($args{RequiredMessage} || 'A property %Schema.name% is required in the %Node.qname%'); } sub Validate { @@ -40,7 +40,9 @@ if (! $nodeProp->nodeValue) { return new IMPL::DOM::Schema::ValidationError( - Message => + Message => $this->RequiredMessage, + Node => $node, + Schema => $this ); } return $this->SUPER::Validate($nodeProp); diff -r 7f00786f8210 -r 9dd67fa91ee3 Lib/IMPL/Text/Schema.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Lib/IMPL/Text/Schema.pm Tue Oct 13 17:51:25 2009 +0400 @@ -0,0 +1,60 @@ +package IMPL::Text::Schema; +use strict; +use warnings; + +use base qw(IMPL::DOM::Schema); + +__PACKAGE__->PassThroughArgs; + +1; + +__END__ + +=pod + +=head1 SINOPSYS + + + + + + + + + + + + + + + + + + + +=head1 DESCRIPTION + +Схема текстового файла, которую можно использовать для разбора содержимого +текстового файла. + +Схема текстового файла состоит из выражений. +1. Регулярное выражение является выражением +2. Строковое значение является выражением. +3. Выражения объединенные логическими операторами также выражение. + +Допускаются следующие операторы +1. Повтор +2. + +=head1 METHODS + +=over + +=item C<<$schema->compile()>> + +Возвращает объект для разбора текста. + +=back + + +=cut