Merge branch 'master' of gitea.release11.com:R11/release11-tools

This commit is contained in:
2023-04-19 13:36:01 +02:00
9 changed files with 92 additions and 27 deletions

View File

@@ -0,0 +1,14 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:b="http://www.release11.com/book" xmlns:p="http://www.release11.com/person"
xmlns:l="http://www.release11.com/library">
<xsl:template match="/">
<Library>
<ReaderCount>
<xsl:value-of select="count(//p:person)" />
</ReaderCount>
<BookCount>
<xsl:value-of select="count(/l:library/l:bookList/b:book)" />
</BookCount>
</Library>
</xsl:template>
</xsl:stylesheet>

View File

@@ -84,6 +84,24 @@ function fillDefaultXML(element) {
}
}
/**
* The `fillDefaultXSLT()` function fetches a default XSLT template from the server and sets the value of the element with id "transformArea" to the fetched template.
*
* @function
* @name fillDefaultXSLT
* @kind function
* @returns {void}
*/
function fillDefaultXSLT() {
const serverAddress = window.location.protocol + "//" + window.location.hostname + ":8086";
fetch(serverAddress + "/assets/samples/XSLTTemplate.xslt")
.then( response => response.text() )
.then( (XSTLTemplate) => {
document.getElementById('transformArea').value = XSTLTemplate;
} )
}
/**
* It sets default content for the element an changes it's color to grey
*
@@ -244,9 +262,12 @@ function performRequest(endpoint, checkXML, checkTransform) {
if (!empty) {
restRequest(port, endpoint, xmlData, transformData).then(function (result) {
document.getElementById("resultArea").value = result.result;
document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor);
document.getElementById("procinfo").innerText = ' Computed using ' + result.processor
if (result.type)
document.getElementById("procinfo").innerText += ". Returned: " + result.type;
if (result.status = "OK") {
document.getElementById("procinfo").innerText = document.getElementById("procinfo").innerText.concat(" in ", result.time, "ms");
document.getElementById("procinfo").innerText += " in " + result.time + "ms";
procinfo.style.color = "#30aa58";
} else {
procinfo.style.color = "#aa3030";

View File

@@ -25,7 +25,7 @@
<option value="libxml">libXML</option>
</select>
<select name="versions" id="versions" style="display: none;">
<option class="hideable libxml xalan"value="1.0">1.0</option>
<option class="hideable libxml xalan" value="1.0">1.0</option>
<option class="hideable saxon" value="2.0">2.0</option>
<option class="hideable saxon" value="3.0">3.0</option>
<option class="hideable saxon" value="3.1">3.1</option>
@@ -51,7 +51,14 @@
onfocus="clearDefaultContent(this, 'Insert XML here');"></textarea>
<br><br>
<label for="transformArea"><b>Insert your XSLT:</b></label>
<div class="display-space-between">
<label for="transformArea"><b>Insert your XSLT:</b></label>
<div>
<button class="action-button active" id="defaultXSLTButton" style="padding: 3px 10px;"
onclick="fillDefaultXSLT()">Insert default XSLT
</button>
</div>
</div>
<textarea id="transformArea" name="transformArea" rows="15"
class="textarea-300 bordered-field vertically-resizeable max-width"
onblur="setDefaultContent(this, 'Insert XSLT here');"
@@ -1144,7 +1151,7 @@
<script>
function processTooltip() {
if (getProcessor() == "xalan" || getProcessor() == "libxml") {
document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0 functions";
document.getElementById("processorTooltipInfo").innerText = "Supports XSLT 1.0";
@@ -1158,9 +1165,9 @@
var triggerList = document.getElementsByClassName("collapseTrigger");
for (i = 0; i < triggerList.length; i++) {
triggerList[i].addEventListener("click", function () {
var collapsible = this.parentElement;
var collapsibleData = this.nextElementSibling;
if (collapsibleData.style.maxHeight > "0px") {
@@ -1197,7 +1204,7 @@
//Handle clicks in whole form and set info in tooltip
setDefaultContent(document.getElementById("xmlArea"), 'Insert XML here');
setDefaultContent(document.getElementById("transformArea"), 'Insert XSLT here');
// refreshTooltip();
processTooltip();
tool.addEventListener('click', event => {