Skip to content

XML

Serialization and parsing helpers for invoice XML.

ToXml (trait)

to_xml

Serialize to compact XML

Convert an invoice type to XML.

ToXml::to_xml(&self) -> Result<String, InvoiceXmlError>
# use FinalizedInvoice.xml() or SignedInvoice.xml()
FfiResult_FfiString fatoora_invoice_to_xml(FfiFinalizedInvoice* invoice);
FfiResult_FfiString fatoora_signed_invoice_xml(FfiSignedInvoice* signed);

to_xml_with_format

Serialize with format

Convert to XML with explicit format option.

ToXml::to_xml_with_format(&self, format: XmlFormat) -> Result<String, InvoiceXmlError>
# not exposed directly
/* not exposed directly */

FinalizedInvoice

xml

Get finalized invoice XML
FinalizedInvoice::to_xml(&self) -> Result<String, InvoiceXmlError>
FinalizedInvoice.xml() -> str
FfiResult_FfiString fatoora_invoice_to_xml(FfiFinalizedInvoice* invoice);

SignedInvoice

xml

Get signed invoice XML
SignedInvoice::xml(&self) -> &str
SignedInvoice.xml() -> str
FfiResult_FfiString fatoora_signed_invoice_xml(FfiSignedInvoice* signed);

parse_finalized_invoice_xml / parse_finalized_invoice_xml_file

parse finalized invoice

Parse finalized invoice XML
parse_finalized_invoice_xml(xml: &str) -> Result<FinalizedInvoice, ParseError>
parse_finalized_invoice_xml_file(path: impl AsRef<Path>) -> Result<FinalizedInvoice, ParseError>
parse_finalized_invoice_xml(xml: str) -> FinalizedInvoice
parse_finalized_invoice_xml_file(path: str) -> FinalizedInvoice
FfiResult_FfiFinalizedInvoice fatoora_parse_finalized_invoice_xml(const char* xml);
FfiResult_FfiFinalizedInvoice fatoora_parse_finalized_invoice_xml_file(const char* path);

parse_signed_invoice_xml / parse_signed_invoice_xml_file

parse signed invoice

Parse signed invoice XML
parse_signed_invoice_xml(xml: &str) -> Result<SignedInvoice, ParseError>
parse_signed_invoice_xml_file(path: impl AsRef<Path>) -> Result<SignedInvoice, ParseError>
parse_signed_invoice_xml(xml: str) -> SignedInvoice
parse_signed_invoice_xml_file(path: str) -> SignedInvoice
FfiResult_FfiSignedInvoice fatoora_parse_signed_invoice_xml(const char* xml);
FfiResult_FfiSignedInvoice fatoora_parse_signed_invoice_xml_file(const char* path);

Types

Types

  • InvoiceXml<T> wraps an InvoiceView for serialization.
  • InvoiceXmlError reports serialization failures.
  • ParseError reports XML parsing failures and missing/invalid fields.

See also: Validation Guide