NAME

Quiq::Zugferd - Generiere/Akzeptiere XML einer ZUGFeRD-Rechnung

BASE CLASS

Quiq::Hash

ENVIRONMENT

$ZUGFERD_DIR

(Default-)Verzeichnis mit den ZUGFeRD XSD-Dateien und dem ZUGFeRD XML-Template.

DESCRIPTION

WORK IN PROGRESS

Die Klasse kapselt das ZUGFeRD 2.3(Factur-X Version 1.0.07) XML Schema BASIC sowie ein XML-Template zu diesem Schema, das alle ELemente und Attribute umfasst. Das Template kann als XML (Text) oder als Datenstruktur (Hash) in verschiedenen Varianten (leer, mit Beispielwerten, mit Platzhaltern) genutzt werden.

EXAMPLES

Zeige ZUGFeRD XML und Datenstruktur als Zeichenkette:

$ perl -MQuiq::Zugferd -E 'say Quiq::Zugferd->new->doc' # XML, kommentiert
$ perl -MQuiq::Zugferd -E 'say Quiq::Zugferd->new->doc("hash")'

(Tipp: XML-Ausgabe in Datei speichern und mit Emacs oder vi mit "Syntax Highlighting" lesen)

Zeige das ZUGFeRD XML:

$ perl -MQuiq::Zugferd -E 'say Quiq::Zugferd->new->xml' # ohne Werte
$ perl -MQuiq::Zugferd -E 'say Quiq::Zugferd->new->xml("placeholders")'
$ perl -MQuiq::Zugferd -E 'say Quiq::Zugferd->new->xml("values")'

Zeige das ZUGFeRD XML als Hash:

$ perl -MQuiq::Zugferd -MQuiq::Dumper -E 'say Quiq::Dumper->dump(Quiq::Zugferd->new->hash)'

$ perl -MQuiq::Zugferd -MQuiq::Dumper -E 'say Quiq::Dumper->dump(Quiq::Zugferd->new->hash)'

METHODS

Konstruktor

new() - Instantiiere Objekt

Synopsis

$zug = $class->new(@opt);

Options

--xsdDir=DIR (Default: $ENV{'ZUGFERD_DIR'} || ModuleDir)

Verzeichnis mit den ZUGFeRD Schema-Dateien

--xmlTemplateFile=FILE.xml (Default: "$ENV{'ZUGFERD_DIR'}\

/zugferd_basic.xml") ZUGFeRD-Template

Returns

Object

Description

Instantiiere ein Objekt der Klasse und liefere dieses zurück.

Objektmethoden

doc() - Liefere ZUGFeRD Doku

Synopsis

$str = $zug->doc;
$str = $zug->doc($type);

Arguments

$type (Default: 'xml')

Art der Dokumentation:

'xml'

ZUGFeRD XML mit Beispielwerten und Kommentaren

'hash'

ZUGFeRD Hash mit Beispielwerten

'paths'

Liste der Zugriffspfade im Hash.

Returns

(String) Doku

Example

ZUGFeRD XML mit Beispielwerten und Kommentaren:

$ perl -MQuiq::Zugferd -E 'print Quiq::Zugferd->new->doc('xml')'

ZUGFeRD Hash mit Beispielwerten:

$ perl -MQuiq::Zugferd -E 'print Quiq::Zugferd->new->doc('hash')'

Zugriffspfade im ZUGFeRD Hash:

$ perl -MQuiq::Zugferd -E 'print Quiq::Zugferd->new->doc('paths')'

hash() - Liefere ZUGFeRD XML Template als Hash

Synopsis

$h = $zug->hash;
$h = $zug->hash($variant);

Arguments

$variant (Default: 'placeholders')
'empty'

Ohne Werte

'placeholders'

Mit Platzhaltern

'values'

Mit Beispielwerten

Returns

Hash-Referenz

Description

Wandele das ZUGFeRD XML Template in einen Hash und liefere eine Referenz auf diesen Hash zurück.

hashToXml() - Wandele (ZUGFeRD) Hash nach XML

Synopsis

$xml = $zug->hashToXml($h);

Returns

(String) XML

Description

Wandele den Hash nach XML und liefere dieses zurück.

Example

$ perl -MQuiq::Zugferd -E '$zug = Quiq::Zugferd->new; $h = $zug->asHash; print $zug->hashToXml($h)'

xml() - Liefere ZUGFeRD XML Template als Zeichenkette

Synopsis

$xml = $zug->xml;
$xml = $zug->xml($variant);

Arguments

$variant (Default: 'empty')

Variante des Hashs:

'empty'

Ohne Werte

'placeholders'

Mit Platzhaltern

'values'

Mit Beispielwerten

Returns

(String) XML

VERSION

1.223

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2024 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.