Added XSLTTemplate, functions that add it to transform area and documentation for that function (#144)
Co-authored-by: widlam <mikolaj.widla@gmail.com> Reviewed-on: #144 Reviewed-by: Adam Bem <bema@noreply.example.com> Co-authored-by: Mikolaj Widla <widlam@noreply.example.com> Co-committed-by: Mikolaj Widla <widlam@noreply.example.com>
This commit is contained in:
		
							
								
								
									
										14
									
								
								Frontend/assets/samples/XSLTTemplate.xslt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								Frontend/assets/samples/XSLTTemplate.xslt
									
									
									
									
									
										Normal 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> | ||||
| @@ -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 | ||||
| *  | ||||
|   | ||||
| @@ -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 => { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user