Filbasert skripting

Filbasert skripting

English

Filbasert skripting kan være fordelaktig i f.eks. skjema, tekstgeneratorer, integrasjoner og i kode-orienterte aktiviteter i prosesser. På denne siden finner du noen eksempelskript samt egenskapene til fil-Objektene i Compose (som også er listet i Objekt-egenskaper tilgjengelig i kodevinduet-dokumentasjonen).

Egenskap

Beskrivelse

Egenskap

Beskrivelse

value

Value representerer en forekomst av et filsvar-Objekt i filbasert skripting. For forespørsel-variabler i integrasjoner brukes navnet til variabelen istedenfor value.

Funksjoner for generelle filsvar:

value.fileName value.contentType value.content.size()

Funksjoner for tekst-baserte filsvar: 

value.encoding value.textReader value.getTextReader("ISO-8859-1")

Funksjoner for XML-baserte filsvar:

value.encoding value.textReader value.getTextReader("ISO-8859-1") value.XMLElements value.XMLStreamReader value.getXMLStreamReader("UTF-8")

Funksjoner for PDF-baserte filsvar:

value.pdfVersion

variablename

myFileVariable.contentAsBase64Encoded myFileVariable.contentAsBytes

Under er noen eksempelskript for fil-Objekter:

Eksempel 1

// Tekst-baserte filer, spesifikke operasjoner reader = value.getTextReader("ISO-8859-1"); def val = reader.readLine() (val.contains("application.base.url") && value.encoding.equals("ISO-8859-1")) // PDF-baserte filer, spesifikke operasjoner (value.content.size() > 70000 && value.pdfVersion.equals("1.3") && value.fileName.equals("test.pdf") && value.contentType.equals("application/pdf"))

Eksempel 2

def line; def reader = value.textReader; while ((line = reader.readLine()) != null) { if(line.contains("Test Value")) { return true; } } return false;

Eksempel 3

reader = value.getTextReader("UTF-8"); line = reader.read(); while(line!= -1){ line= reader.read(); }

Eksempel 4 – Lese gjennom XML-filer

// XMLStreamReader def xmlStreamReader = value.XMLStreamReader; while (xmlStreamReader.hasNext()) { if (xmlStreamReader.getEventType() == xmlStreamReader.START_ELEMENT) { if (xmlStreamReader.getLocalName().equals("information")) { return true; } } else if (xmlStreamReader.getEventType() == xmlStreamReader.CHARACTERS) { if (xmlStreamReader.getText().equals("test")) { return true; } } xmlStreamReader.next() } return false; // XML-elementer def reader = value.XMLElements; def nodeList = reader.getElementsByTagName("title"); if (nodeList.item(0).getFirstChild().getNodeValue().equals("TestValue")) { return true; } return false;

Filbasert kodesyntaks for tekstgeneratorer

Egenskap

Beskrivelse

Egenskap

Beskrivelse

${form.Q5.answer.fileName}

Henter filnavnet fra svaret til et filopplastingsspørsmål i et skjema.

${form.Q5.answer.contentType}

Henter innholdstypen.

${form.Q5.answer.encoding}

Henter kodingen.

<% if (form.Q5.answer instanceof FileObj) { //for alle fil-Objekt vil denne være sann } if (form.Q5.answer instanceof TextBasedFileObj) { //for tekst-baserte fil-Objekt vil denne være sann } if (form.Q5.answer instanceof BinaryFileObj) { //for binære fil-Objekt vil denne være sann } if (form.Q5.answer instanceof PDFFileObj) { //for PDF-filer vil denne være sann } if (form.Q5.answer instanceof XMLFileObj) { //for XML-filer vil denne være sann } if (form.Q5.answer instanceof TextFileObj) { //for alle tekst-filer vil denne være sann } %>

Filsvaret sjekkes for filtype.

Valideringsskript-syntaks for filsvar i skjemabyggeren

Egenskap

Beskrivelse

Egenskap

Beskrivelse

Q5.answer.content.size()

Returnerer størrelsen til filsvaret.

Q5.answer.fileName

Returnerer filnavnet til filsvaret.

Q5.answer.contentType

Returnerer filens innholdstype.