Filbasert skripting
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 |
---|---|
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 |
---|---|
${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 |
---|---|
Q5.answer.content.size() | Returnerer størrelsen til filsvaret. |
Q5.answer.fileName | Returnerer filnavnet til filsvaret. |
Q5.answer.contentType | Returnerer filens innholdstype. |