SetFile Method Documentation

Purpose:

The SetFile method is designed to store XML content in a database by saving it as a file and returning the file's unique identifier.

How it Works:

  • The method takes XML content as input.
  • It writes the XML content to a file.
  • The file is saved in the database, and its file ID is returned for future reference.

Usage Example:

Consider the following XSLT transformation that calls the SetFile method:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
               xmlns:ixf="http://www.ixPath.com/Function"
               xmlns:xs="http://www.w3.org/2001/XMLSchema"
               xmlns:ix="localFunction"
               xmlns:fn="http://www.w3.org/2005/xpath-functions"
               version="2.0">

   <xsl:output method="xml" indent="yes"/>

   <!-- Start of the Transformation -->
   <xsl:template match="/">
       <iXDOC>
           <!-- Define the XML content you want to save -->
           <xsl:variable name="xmlContent">
               <MyXML>
                   <XML>
                       <iXDoc>
                           <Invoice>
                               <InvoiceHeader>
                                   <InvoiceNumber>123456</InvoiceNumber>
                                   <InvoiceDate>2019-01-01</InvoiceDate>
                                   <InvoiceDueDate>2019-01-31</InvoiceDueDate>
                                   <InvoiceCurrency>USD</InvoiceCurrency>
                                   <InvoiceTotal>1000.00</InvoiceTotal>
                                   <InvoiceTax>100.00</InvoiceTax>
                                   <InvoiceNet>900.00</InvoiceNet>
                                   <InvoicePaid>0.00</InvoicePaid>
                                   <InvoiceBalance>900.00</InvoiceBalance>
                                   <InvoiceStatus>Open</InvoiceStatus>
                                   <InvoiceTerms>Net 30</InvoiceTerms>
                                   <InvoiceNotes>Thank you for your business!</InvoiceNotes>
                               </InvoiceHeader>
                               <!-- Additional Invoice Items -->
                           </Invoice>
                       </iXDoc>
                   </XML>
               </MyXML>
           </xsl:variable>

           <!-- Call the SetFile method and pass the XML content -->
           <xsl:variable name="fileId" select="ixf:SetFile($xmlContent)"/>

           <!-- Output the ID of the saved file -->
           <returnedFiles>
               <fileId>
                   <xsl:value-of select="$fileId"/>
               </fileId>
           </returnedFiles>
       </iXDOC>
   </xsl:template>

</xsl:stylesheet>

Output:

The method will return the unique ID of the file saved in the database, which can be accessed as shown in the XSLT example.

Tags:
Created by Outhman Moustaghfir on 2024/09/24 16:54
    
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian