The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=encoding utf8

=head1 NAME

Net::Domain::SMD::File - SMD info contained in a file

=head1 INHERITANCE

 Net::Domain::SMD::File
   is a Net::Domain::SMD

=head1 SYNOPSIS

  # end-user route to collect the info
  my $tmch  = Net::Domain::TMCH->new(%options);
  my $smdf  = $tmch->smd($filename);

  # used by TMCH internally via ::SMD
  my $smd  = Net::Domain::SMD::Schema->new(%options);
  my $smdf = $smd->read($fn);

  # used by ::SMD internally as
  my $smdf = Net::Domain::SMD->fromFile($fn, schemas => $smd->schemas);

  # See Net::Domain::SMD for generic interface

=head1 DESCRIPTION

Draft RFC L<http://tools.ietf.org/html/draft-lozano-tmch-func-spec-06>
SMD information is packaged.  This object represents one file in wrapped
format.

See L<documentation in the base class|Net::Domain::SMD/"DESCRIPTION">.
 
=head1 METHODS

See L<documentation in the base class|Net::Domain::SMD/"METHODS">.
 
=head2 Constructors

See L<documentation in the base class|Net::Domain::SMD/"Constructors">.
 
=over 4

=item Net::Domain::SMD::File-E<gt>B<fromFile>(FILENAME, OPTIONS)

 -Option --Default
  schemas  <required>

=over 2

=item schemas => SCHEMAS

=back

=item Net::Domain::SMD::File-E<gt>B<fromNode>(NODE, OPTIONS)

See L<Net::Domain::SMD/"Constructors">

=item Net::Domain::SMD::File-E<gt>B<new>(OPTIONS)

 -Option  --Defined in      --Default
  data      Net::Domain::SMD  <required>
  filename                    <required>
  payload   Net::Domain::SMD  <required>

=over 2

=item data => HASH

=item filename => FILENAME

=item payload => XML-NODE

=back

=back

=head2 Attributes

See L<documentation in the base class|Net::Domain::SMD/"Attributes">.
 
=over 4

=item $obj-E<gt>B<filename>()

=item $obj-E<gt>B<labels>()

Returns a list of u-labels.

=item $obj-E<gt>B<marks>()

Returns the marks named in the "Marks" field.  The name insinuates that
this field may contains multiple values, but the format of this field
is not described in the spec.

=item $obj-E<gt>B<payload>()

See L<Net::Domain::SMD/"Attributes">

=back

=head2 XML content access

See L<documentation in the base class|Net::Domain::SMD/"XML content access">.
 
=over 4

=item $obj-E<gt>B<certificates>(OPTIONS)

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<courts>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<from>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<fromTime>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<issuer>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<trademarks>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<treaties>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<until>()

See L<Net::Domain::SMD/"XML content access">

=item $obj-E<gt>B<untilTime>()

See L<Net::Domain::SMD/"XML content access">

=back

=head2 Helpers

See L<documentation in the base class|Net::Domain::SMD/"Helpers">.
 
=over 4

=item $obj-E<gt>B<date2time>(STRING)

=item Net::Domain::SMD::File-E<gt>B<date2time>(STRING)

See L<Net::Domain::SMD/"Helpers">

=back

=head2 File header access

The SMD-file contains a header, wrapping the XML content.  The next
methods provide access to that header information.

=over 4

=item $obj-E<gt>B<smdID>()

=back

=head1 SEE ALSO

This module is part of Net-Domain-TMCH distribution version 0.15,
built on November 07, 2013.  Development was supported by NIC.at, the Austrian
Domainname Registry.

 Website: F<http://perl.overmeer.net/net-domain-tmch/>

The documentation and interface style is consistent with a large set of
modules, belonging to the L<XML::Compile> suite.

=head1 LICENSE

Copyrights 2013 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://www.perl.com/perl/misc/Artistic.html>