Restructured frontend, unified source of csses
Reviewed-on: R11/release11-tools-web#4
| Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB | 
| @@ -3,9 +3,10 @@ | |||||||
| <head> | <head> | ||||||
|     <title>R11 MockedServices</title> |     <title>R11 MockedServices</title> | ||||||
|     <meta charset="utf-8"> |     <meta charset="utf-8"> | ||||||
|     <link rel="stylesheet" href="css/fontello.css" type="text/css"> |     <link rel="stylesheet" href="http://localhost:8086/assets/css/common/fontello.css" type="text/css"> | ||||||
|     <link rel="stylesheet" href="css/main.css" type="text/css"> |     <link rel="stylesheet" href="http://localhost:8086/assets/css/mock-service/main.css" type="text/css"> | ||||||
|     <link rel="stylesheet" href="css/common.css" type="text/css"> |     <!-- <link rel="stylesheet" href="css/common.css" type="text/css"> --> | ||||||
|  |     <link rel="stylesheet" href="http://localhost:8086/assets/css/mock-service/common.css" type="text/css"> | ||||||
|     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> |     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> | ||||||
| </head> | </head> | ||||||
| <body> | <body> | ||||||
| @@ -246,4 +247,4 @@ | |||||||
|     <script type="text/javascript" src="/js/historyloader.js"></script> |     <script type="text/javascript" src="/js/historyloader.js"></script> | ||||||
|     <script type="text/javascript" src="/js/fiddle.js"></script> |     <script type="text/javascript" src="/js/fiddle.js"></script> | ||||||
| </body> | </body> | ||||||
| </html> | </html> | ||||||
							
								
								
									
										11
									
								
								Frontend/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,11 @@ | |||||||
|  | FROM nginx:stable-alpine | ||||||
|  |  | ||||||
|  | COPY ./tools/ /usr/share/nginx/html/tools/ | ||||||
|  | COPY ./assets/ /usr/share/nginx/html/assets/ | ||||||
|  | COPY ./index.html /usr/share/nginx/html | ||||||
|  | #COPY ./logo.png /usr/share/nginx/html | ||||||
|  | #COPY ./styles.css /usr/share/nginx/html | ||||||
|  | #COPY ./common.css /usr/share/nginx/html | ||||||
|  | #COPY ./favicon.ico /usr/share/nginx/html | ||||||
|  |  | ||||||
|  | EXPOSE 80 | ||||||
							
								
								
									
										6
									
								
								Frontend/assets/css/common/common.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,6 @@ | |||||||
|  | @import url('https://necolas.github.io/normalize.css/8.0.1/normalize.css'); | ||||||
|  | @import url('r11addons.css'); | ||||||
|  | @import url('r11tables.css'); | ||||||
|  | @import url('r11tool.css'); | ||||||
|  | @import url('r11tooltip.css'); | ||||||
|  | @import url('r11modal.css'); | ||||||
| Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										6
									
								
								Frontend/assets/css/mock-service/common.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,6 @@ | |||||||
|  | @import url('https://necolas.github.io/normalize.css/8.0.1/normalize.css'); | ||||||
|  | @import url('r11addons.css'); | ||||||
|  | @import url('r11tables.css'); | ||||||
|  | @import url('r11tool.css'); | ||||||
|  | @import url('r11tooltip.css'); | ||||||
|  | @import url('r11modal.css'); | ||||||
							
								
								
									
										4
									
								
								Frontend/assets/css/mock-service/main.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,4 @@ | |||||||
|  | .overflowedTableContent { | ||||||
|  |     max-height: 750px; | ||||||
|  |     overflow: scroll; | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								Frontend/assets/css/tools/font/fontello.eot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										14
									
								
								Frontend/assets/css/tools/font/fontello.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,14 @@ | |||||||
|  | <?xml version="1.0" standalone="no"?> | ||||||
|  | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||||||
|  | <svg xmlns="http://www.w3.org/2000/svg"> | ||||||
|  | <metadata>Copyright (C) 2021 by original authors @ fontello.com</metadata> | ||||||
|  | <defs> | ||||||
|  | <font id="fontello" horiz-adv-x="1000" > | ||||||
|  | <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" /> | ||||||
|  | <missing-glyph horiz-adv-x="1000" /> | ||||||
|  | <glyph glyph-name="plus" unicode="" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q23 0 38-16t16-38z" horiz-adv-x="785.7" /> | ||||||
|  |  | ||||||
|  | <glyph glyph-name="cancel" unicode="" d="M724 112q0-22-15-38l-76-76q-16-15-38-15t-38 15l-164 165-164-165q-16-15-38-15t-38 15l-76 76q-16 16-16 38t16 38l164 164-164 164q-16 16-16 38t16 38l76 76q16 16 38 16t38-16l164-164 164 164q16 16 38 16t38-16l76-76q15-15 15-38t-15-38l-164-164 164-164q15-15 15-38z" horiz-adv-x="785.7" /> | ||||||
|  | </font> | ||||||
|  | </defs> | ||||||
|  | </svg> | ||||||
| After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Frontend/assets/css/tools/font/fontello.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								Frontend/assets/css/tools/font/fontello.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										
											BIN
										
									
								
								Frontend/assets/css/tools/font/fontello.woff2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										59
									
								
								Frontend/assets/css/tools/fontello.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,59 @@ | |||||||
|  | @font-face { | ||||||
|  |     font-family: 'fontello'; | ||||||
|  |     src: url('font/fontello.eot?49304387'); | ||||||
|  |     src: url('font/fontello.eot?49304387#iefix') format('embedded-opentype'), | ||||||
|  |          url('font/fontello.woff2?49304387') format('woff2'), | ||||||
|  |          url('font/fontello.woff?49304387') format('woff'), | ||||||
|  |          url('font/fontello.ttf?49304387') format('truetype'), | ||||||
|  |          url('font/fontello.svg?49304387#fontello') format('svg'); | ||||||
|  |     font-weight: normal; | ||||||
|  |     font-style: normal; | ||||||
|  |   } | ||||||
|  |   /* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ | ||||||
|  |   /* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ | ||||||
|  |   /* | ||||||
|  |   @media screen and (-webkit-min-device-pixel-ratio:0) { | ||||||
|  |     @font-face { | ||||||
|  |       font-family: 'fontello'; | ||||||
|  |       src: url('../font/fontello.svg?49304387#fontello') format('svg'); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   */ | ||||||
|  |     | ||||||
|  |    [class^="icon-"]:before, [class*=" icon-"]:before { | ||||||
|  |     font-family: "fontello"; | ||||||
|  |     font-style: normal; | ||||||
|  |     font-weight: normal; | ||||||
|  |     speak: never; | ||||||
|  |     | ||||||
|  |     display: inline-block; | ||||||
|  |     text-decoration: inherit; | ||||||
|  |     width: 1em; | ||||||
|  |     margin-right: .2em; | ||||||
|  |     text-align: center; | ||||||
|  |     /* opacity: .8; */ | ||||||
|  |     | ||||||
|  |     /* For safety - reset parent styles, that can break glyph codes*/ | ||||||
|  |     font-variant: normal; | ||||||
|  |     text-transform: none; | ||||||
|  |     | ||||||
|  |     /* fix buttons height, for twitter bootstrap */ | ||||||
|  |     line-height: 1em; | ||||||
|  |     | ||||||
|  |     /* Animation center compensation - margins should be symmetric */ | ||||||
|  |     /* remove if not needed */ | ||||||
|  |     margin-left: .2em; | ||||||
|  |     | ||||||
|  |     /* you can be more comfortable with increased icons size */ | ||||||
|  |     /* font-size: 120%; */ | ||||||
|  |     | ||||||
|  |     /* Font smoothing. That was taken from TWBS */ | ||||||
|  |     -webkit-font-smoothing: antialiased; | ||||||
|  |     -moz-osx-font-smoothing: grayscale; | ||||||
|  |     | ||||||
|  |     /* Uncomment for 3D effect */ | ||||||
|  |     /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ | ||||||
|  |   } | ||||||
|  |     | ||||||
|  |   .icon-plus:before { content: '\e801'; } /* '' */ | ||||||
|  |   .icon-cancel:before { content: '\e802'; } /* '' */ | ||||||
| Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB | 
| Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB | 
							
								
								
									
										31
									
								
								Frontend/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,31 @@ | |||||||
|  | <!DOCTYPE html> | ||||||
|  | <html> | ||||||
|  |  | ||||||
|  | <head> | ||||||
|  |     <meta charset="UTF-8"> | ||||||
|  |     <link rel="stylesheet" href="assets/css/frame.css"> | ||||||
|  |     <!-- <link rel="stylesheet" href="common.css"> --> | ||||||
|  |     <link rel="shortcut icon" href="assets/images/favicon.ico" type="image/x-icon">   | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <body> | ||||||
|  |     <div id="header"> | ||||||
|  |         <h1 id="logo"><a href="http://release11.com/"><img src="assets/images/logo.png" alt="Release11"></a></h1> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  |     <div id="content"> | ||||||
|  |         <div id="toolList"> | ||||||
|  |             <ul id="toolList"> | ||||||
|  |                 <li id="toolListRow"><a href="http://localhost:8097/" target="iframe">REST Mock</a></li> | ||||||
|  |                 <li id="toolListRow"><a href="./tools/xpath.html" target="iframe">XPath</a></li> | ||||||
|  |                 <li id="toolListRow"><a href="./tools/xslt.html" target="iframe">XSLT</a></li> | ||||||
|  |                 <li id="toolListRow"><a href="./tools/xsd.html" target="iframe">XSD</a></li> | ||||||
|  |             </ul> | ||||||
|  |             <div id="copyright">Copyright © 2023<br><a href="http://release11.com/">Release11 Sp. z. o. o.</a></div> | ||||||
|  |         </div> | ||||||
|  |         <iframe id="frame" name="iframe" src="http://localhost:8097/" frameborder="0"></iframe> | ||||||
|  |     </div> | ||||||
|  |  | ||||||
|  | </body> | ||||||
|  |  | ||||||
|  | </html> | ||||||
| @@ -4,9 +4,9 @@ | |||||||
| <head> | <head> | ||||||
|     <!-- <link rel="stylesheet" href="../common.css"> --> |     <!-- <link rel="stylesheet" href="../common.css"> --> | ||||||
|     <!-- <link rel="stylesheet" href="styles.css"> --> |     <!-- <link rel="stylesheet" href="styles.css"> --> | ||||||
|     <script src="jquery-3.6.0.slim.min.js"></script> |     <script src="../assets/scripts/tools/jquery-3.6.0.slim.min.js"></script> | ||||||
|     <link rel="stylesheet" href="new_css/r11form.css"> |     <link rel="stylesheet" href="../assets/css/tools/r11form.css"> | ||||||
|     <script src="scripts.js"></script> |     <script src="../assets/scripts/tools/scripts.js"></script> | ||||||
|     <meta charset="utf-8" /> |     <meta charset="utf-8" /> | ||||||
| </head> | </head> | ||||||
| 
 | 
 | ||||||
| @@ -3205,4 +3205,4 @@ | |||||||
| 
 | 
 | ||||||
| </body> | </body> | ||||||
| 
 | 
 | ||||||
| </html> | </html> | ||||||
| @@ -3,8 +3,8 @@ | |||||||
| 
 | 
 | ||||||
| <head> | <head> | ||||||
|     <!-- <link rel="stylesheet" href="styles.css"> --> |     <!-- <link rel="stylesheet" href="styles.css"> --> | ||||||
|     <link rel="stylesheet" href="new_css/r11form.css"> |     <link rel="stylesheet" href="../assets/css/tools/r11form.css"> | ||||||
|     <script src="scripts.js"></script> |     <script src="../assets/scripts/tools/scripts.js"></script> | ||||||
|     <meta charset="utf-8" /> |     <meta charset="utf-8" /> | ||||||
| </head> | </head> | ||||||
| 
 | 
 | ||||||
| @@ -168,4 +168,4 @@ | |||||||
| 
 | 
 | ||||||
| </body> | </body> | ||||||
| 
 | 
 | ||||||
| </html> | </html> | ||||||
| @@ -3,8 +3,8 @@ | |||||||
| 
 | 
 | ||||||
| <head> | <head> | ||||||
|     <!-- <link rel="stylesheet" href="styles.css"> --> |     <!-- <link rel="stylesheet" href="styles.css"> --> | ||||||
|     <link rel="stylesheet" href="new_css/r11form.css"> |     <link rel="stylesheet" href="../assets/css/tools/r11form.css"> | ||||||
|     <script src="scripts.js"></script> |     <script src="../assets/scripts/tools/scripts.js"></script> | ||||||
|     <meta charset="utf-8" /> |     <meta charset="utf-8" /> | ||||||
| </head> | </head> | ||||||
| 
 | 
 | ||||||
| @@ -1224,4 +1224,4 @@ | |||||||
| 
 | 
 | ||||||
| </body> | </body> | ||||||
| 
 | 
 | ||||||
| </html> | </html> | ||||||
| @@ -1,10 +0,0 @@ | |||||||
| FROM nginx:stable-alpine |  | ||||||
|  |  | ||||||
| COPY ./Frontend/ /usr/share/nginx/html/Frontend/ |  | ||||||
| COPY ./index.html /usr/share/nginx/html |  | ||||||
| COPY ./logo.png /usr/share/nginx/html |  | ||||||
| COPY ./styles.css /usr/share/nginx/html |  | ||||||
| COPY ./common.css /usr/share/nginx/html |  | ||||||
| COPY ./favicon.ico /usr/share/nginx/html |  | ||||||
|  |  | ||||||
| EXPOSE 80 |  | ||||||
| @@ -1,25 +0,0 @@ | |||||||
| <!DOCTYPE html> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <link rel="stylesheet" href="r11form.css"> |  | ||||||
|     <!-- <script src="scripts.js"></script> --> |  | ||||||
| </head> |  | ||||||
|  |  | ||||||
| <body> |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     <div class="collapsibleList"> |  | ||||||
|         <button class="section-button collapseTrigger">Node-Set</button> |  | ||||||
|         <div class="collapsibleContent"> |  | ||||||
|             [1.0] <a href="#" onClick="return false;" class="collapseTrigger"><code>fn:last()</code></a> |  | ||||||
|             <div class="collapsibleContent"> |  | ||||||
|                 Returns the position of the last node in the context list <br> |  | ||||||
|                 <code>Link do dokumentacji W3C: <a href="https://www.w3.org/TR/1999/REC-xpath-19991116/#section-Node-Set-Functions" target="_parent">Node-Set-Functions</code></a> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| </body> |  | ||||||
| @@ -1,3 +0,0 @@ | |||||||
| .container { |  | ||||||
|      |  | ||||||
| } |  | ||||||
| @@ -1,100 +0,0 @@ | |||||||
| html, body { |  | ||||||
|     margin: 0px; |  | ||||||
|     height: 100%; |  | ||||||
|     min-height: 100%; |  | ||||||
|     font-family: 'Nunito', sans-serif; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| select { |  | ||||||
|     font-size: 16px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| button#requestButton { |  | ||||||
|     width: 100%; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| div#content { |  | ||||||
|     width: 100%; |  | ||||||
|     min-height: 100%; |  | ||||||
|     display: flex; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| div#fields { |  | ||||||
|     float: left; |  | ||||||
|     width: 55%; |  | ||||||
|     margin-left: 8px; |  | ||||||
|     margin-right: 8px; |  | ||||||
|     height: 100%; |  | ||||||
|     margin-bottom: 60px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| p { |  | ||||||
|     margin: 1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| label { |  | ||||||
|     font-size: 20px; |  | ||||||
|     color: rgb(44, 44, 44); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| textarea { |  | ||||||
|     width: 99.4%; |  | ||||||
|     resize: vertical; |  | ||||||
|     color: #6b6b6b; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| textarea#resultArea { |  | ||||||
|     width: 99.4%; |  | ||||||
|     resize: vertical; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| span#procinfo { |  | ||||||
|     color: #30aa58; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| p#tooltipText { |  | ||||||
|     width: 200px; |  | ||||||
|     height: 150px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| div#tooltip { |  | ||||||
|     margin-top: 160px; |  | ||||||
|     float: right; |  | ||||||
|     width: 40%; |  | ||||||
|     height: 100%; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .collapsible { |  | ||||||
|     width: 100%; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .collapsible.active { |  | ||||||
|     background-color: rgb(129, 129, 129) !important; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .collapsibleData { |  | ||||||
|     transition: max-height .2s ease-out; |  | ||||||
|     max-height: 0px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .docTable td, .docTable th{ |  | ||||||
|     border-spacing: 0px; |  | ||||||
|     padding: 0px 10px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .docTable td { |  | ||||||
|     background-color: rgba(155, 165, 160, 0.342); |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .docTable th { |  | ||||||
|     background-color: #3bc4f1; |  | ||||||
|     text-align: left; |  | ||||||
|     color: white; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .collapsibleDataMini{ |  | ||||||
|     /* border-radius: 10px; */ |  | ||||||
|     border: solid rgba(137, 146, 142, 0.267); |  | ||||||
|     border-width: 0px 0px 0px 3px; |  | ||||||
|     margin-left: 10px; |  | ||||||
| } |  | ||||||
| @@ -1,540 +0,0 @@ | |||||||
| <!DOCTYPE html> |  | ||||||
| <html> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <!-- <link rel="stylesheet" href="styles.css"> --> |  | ||||||
|     <link rel="stylesheet" href="new_css/r11form.css"> |  | ||||||
|     <script src="scripts.js"></script> |  | ||||||
| </head> |  | ||||||
|  |  | ||||||
| <body onload="init();"> |  | ||||||
|     <div class="container"> |  | ||||||
|         <div id="tool" class="tool"> |  | ||||||
|             <div class="tool-context"> |  | ||||||
|                 <div class="headline"> |  | ||||||
|                     <h1>Online XSLT tester <span class="versionInfo"><span class="version-span">v0.4</span></span></h1> |  | ||||||
|                 </div> |  | ||||||
|                 <label for="processors">Select XSLT processor:</label> |  | ||||||
|                 <select name="processors" id="processors"> |  | ||||||
|                     <option value="saxon">Saxon</option> |  | ||||||
|                     <option value="xalan">Xalan</option> |  | ||||||
|                 </select> |  | ||||||
|                 <span id="processorTooltipInfo">procInfo</span><br> |  | ||||||
|                 <br> |  | ||||||
|  |  | ||||||
|                 <label for="xmlArea"><b>Insert your XML:</b></label> |  | ||||||
|                 <textarea id="xmlArea" name="xmlArea" rows="15" |  | ||||||
|                     class="textarea-300 bordered-field vertically-resizeable max-width" |  | ||||||
|                     onblur="setDefaultContent(this, 'Insert XML here');" |  | ||||||
|                     onfocus="clearDefaultContent(this, 'Insert XML here');"></textarea> |  | ||||||
|                 <br><br> |  | ||||||
|  |  | ||||||
|                 <label for="transformArea"><b>Insert your XSLT:</b></label> |  | ||||||
|                 <textarea id="transformArea" name="transformArea" rows="15" |  | ||||||
|                     class="textarea-300 bordered-field vertically-resizeable max-width" |  | ||||||
|                     onblur="setDefaultContent(this, 'Insert XSLT here');" |  | ||||||
|                     onfocus="clearDefaultContent(this, 'Insert XSLT here');"></textarea> |  | ||||||
|                 <br> |  | ||||||
|                 <button id="requestButton" class="max-width block-label action-button active" |  | ||||||
|                     onclick="performRequest('xsltpost', true, true)">Execute XSLT transform</button> |  | ||||||
|                 <br><br> |  | ||||||
|  |  | ||||||
|                 <label for="resultArea"><b>Transform result:<span id="procinfo"></span></b></label> |  | ||||||
|                 <textarea id="resultArea" name="resultArea" rows="10" |  | ||||||
|                     class="textarea-300 bordered-field vertically-resizeable max-width"></textarea> |  | ||||||
|  |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|         <div class="tooltip tooltip-window"> |  | ||||||
|             <h2>What is XSLT?</h2> |  | ||||||
|             <p>XSLT is a language for transforming XML documents into other documents such as XML, HTML and many |  | ||||||
|                 other.<br></p> |  | ||||||
|             <span id="collapsible-lists"> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none" style="border: none">XSLT 1.0 vs |  | ||||||
|                         2.0 |  | ||||||
|                         vs 3.0</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|                         <p><b>XSLT 2.0 introduced a host of new features:</b><br> |  | ||||||
|                             - Strong typing and all XSD types<br> |  | ||||||
|                             - The ability to define and write own functions<br> |  | ||||||
|                             - node-set() - replaces XSLT's 1.0 Result Tree Fragment, creating fully functional tree<br> |  | ||||||
|                             - New functions and operators:<br> |  | ||||||
|                             - - XPath 2.0<br> |  | ||||||
|                             - - String processing and regular expressions<br> |  | ||||||
|                             - - Grouping (for-each-group function) |  | ||||||
|                             - - String processing<br> |  | ||||||
|                             - - Sequence type<br> |  | ||||||
|                         </p> |  | ||||||
|                         <p><b>XSLT 3.0 further improved the formula:</b><br> |  | ||||||
|                             - Streaming tranformations (previously file had to be loaded to memory to be processed)<br> |  | ||||||
|                             - Packages - improve the modularity of large stylesheets<br> |  | ||||||
|                             - Improved error handling (for example <code><xsl:try></code>)<br> |  | ||||||
|                             - Support for maps and arrays, enabling XSLT to handle JSON as well as XML<br> |  | ||||||
|                             - Functions can now be arguments to other (higher-order) functions |  | ||||||
|                         </p> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|  |  | ||||||
|                 <h2><span id="tooltipFunctionInfo">XSLT 1.0, 2.0 & 3.0 functions</span></h2> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none">Templates</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|  |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Defining-Template-Rules" |  | ||||||
|                             target="_blank"><code><xsl:template></code></a> - defines a set of rules to be |  | ||||||
|                         applied to |  | ||||||
|                         specified node.<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Applying-Template-Rules" |  | ||||||
|                             target="_blank"><code><xsl:apply-templates></code></a> - applies a template rule to |  | ||||||
|                         the |  | ||||||
|                         current element or to element's child nodes.<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#apply-imports" |  | ||||||
|                             target="_blank"><code><xsl:apply-imports></code></a> - Applies a template rule from |  | ||||||
|                         an |  | ||||||
|                         imported style sheet<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Applying-Template-Rules" |  | ||||||
|                             target="_blank"><code><xsl:apply-templates></code></a> - Applies a template rule to |  | ||||||
|                         the |  | ||||||
|                         current element or to the current element's child nodes<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#named-templates" |  | ||||||
|                             target="_blank"><code><xsl:call-template></code></a> - Calls a named template |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-next-match" |  | ||||||
|                                 target="_blank"><code><xsl:next-match></code></a> - overrides another template |  | ||||||
|                             rule |  | ||||||
|                             (considers all other template rules of lower import precedence/priority)<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-mode" |  | ||||||
|                                 target="_blank"><code><xsl:mode></code></a> - Allows properties of a mode to be |  | ||||||
|                             defined<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-override" |  | ||||||
|                                 target="_blank"><code><xsl:override></code></a> - Allows using package to |  | ||||||
|                             override |  | ||||||
|                             selected components from a used package<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-package" |  | ||||||
|                                 target="_blank"><code><xsl:package></code></a> - Defines a set of stylesheet |  | ||||||
|                             modules |  | ||||||
|                             that can be compiled as a unit<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="https://www.w3.org/TR/xslt-30/#element-accept" |  | ||||||
|                                 target="_blank"><code><xsl:accept></code></a> - Allows a package to restrict the |  | ||||||
|                             visibility of components exposed by a package<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a |  | ||||||
|                                 href="http://www.w3.org/TR/xslt-30/#element-global-context-item" |  | ||||||
|                                 target="_blank"><code><xsl:global-context-item></code></a> - Declares whether a |  | ||||||
|                             global context item is required, and if so, to declare its required type</span> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none">Repetition and Conditional |  | ||||||
|                         processing</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#for-each" |  | ||||||
|                             target="_blank"><code><xsl:for-each></code></a> - Loops through each node in a |  | ||||||
|                         specified |  | ||||||
|                         node set<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Conditional-Processing" |  | ||||||
|                             target="_blank"><code><xsl:if></code></a> - Contains a template that will be applied |  | ||||||
|                         only if a specified condition is true<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Conditional-Processing-with-xsl:choose" |  | ||||||
|                             target="_blank"><code><xsl:choose></code></a> - Used in conjunction with <when> |  | ||||||
|                         and |  | ||||||
|                         <otherwise> to express multiple conditional tests<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Conditional-Processing-with-xsl:choose" |  | ||||||
|                             target="_blank"><code><xsl:when></code></a> - Specifies an action for the |  | ||||||
|                         <choose> element<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Conditional-Processing-with-xsl:choose" |  | ||||||
|                             target="_blank"><code><xsl:otherwise></code></a> - Specifies a default |  | ||||||
|                         action for the <choose> element<br> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-for-each-group" |  | ||||||
|                                 target="_blank"><code><xsl:for-each-group></code></a> - Groups |  | ||||||
|                             elements and performs operations once for each group<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-iterate" |  | ||||||
|                                 target="_blank"><code><xsl:iterate></code></a> - Used to iterate |  | ||||||
|                             over a sequence, with the option to set parameters for use in the next |  | ||||||
|                             iteration<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-break" |  | ||||||
|                                 target="_blank"><code><xsl:break></code></a> - Causes premature |  | ||||||
|                             completion before the entire input sequence has been processed<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-next-iteration" |  | ||||||
|                                 target="_blank"><code><xsl:next-iteration></code></a> - The |  | ||||||
|                             contents |  | ||||||
|                             are a set of xsl:with-param elements defining the values of the iteration |  | ||||||
|                             parameters to be used on the next iteration<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-on-completion" |  | ||||||
|                                 target="_blank"><code><xsl:on-completion></code></a> - Defines |  | ||||||
|                             processing to be carried out when the input sequence is exhausted<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-fork" |  | ||||||
|                                 target="_blank"><code><xsl:fork></code></a> - The result of the |  | ||||||
|                             xsl:fork instruction is the sequence formed by concatenating the results of |  | ||||||
|                             evaluating each of its contained instructions, in order<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-on-empty" |  | ||||||
|                                 target="_blank"><code><xsl:on-empty></code></a> - Outputs the |  | ||||||
|                             enclosed content only if the containing sequence generates no "ordinary" |  | ||||||
|                             content<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-on-non-empty" |  | ||||||
|                                 target="_blank"><code><xsl:on-non-empty></code></a> - Outputs the |  | ||||||
|                             enclosed content only if the containing sequence also generates "ordinary" |  | ||||||
|                             content<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-try" |  | ||||||
|                                 target="_blank"><code><xsl:try></code></a> - Allows recovery from |  | ||||||
|                             dynamic errors occurring within the expression it wraps<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-catch" |  | ||||||
|                                 target="_blank"><code><xsl:catch></code></a> - In conjunction |  | ||||||
|                             with |  | ||||||
|                             xsl:try, handles dynamic errors<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-context-item" |  | ||||||
|                                 target="_blank"><code><xsl:context-item></code></a> - Used to |  | ||||||
|                             declare |  | ||||||
|                             the initial context item for a template<br></span> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none">Creating result tree</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#creating-attributes" |  | ||||||
|                             target="_blank"><code><xsl:attribute></code></a> - Adds an attribute<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#attribute-sets" |  | ||||||
|                             target="_blank"><code><xsl:attribute-set></code></a> - Defines a named set of |  | ||||||
|                         attributes<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#copying" |  | ||||||
|                             target="_blank"><code><xsl:copy></code></a> - Creates a copy of the current node |  | ||||||
|                         (without |  | ||||||
|                         child nodes and attributes)<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#number" |  | ||||||
|                             target="_blank"><code><xsl:number></code></a> - Determines the integer position of |  | ||||||
|                         the |  | ||||||
|                         current node and formats a number<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#value-of" |  | ||||||
|                             target="_blank"><code><xsl:value-of></code></a> - Extracts the value of a selected |  | ||||||
|                         node<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Creating-Text" |  | ||||||
|                             target="_blank"><code><xsl:text></code></a> - Writes literal text to the output<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Creating-Comments" |  | ||||||
|                             target="_blank"><code><xsl:comment></code></a> - Creates a comment node in the result |  | ||||||
|                         tree<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Creating-Processing-Instructions" |  | ||||||
|                             target="_blank"><code><xsl:processing-instruction></code></a> - Writes a processing |  | ||||||
|                         instruction to the output<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#key" |  | ||||||
|                             target="_blank"><code><xsl:key></code></a> - |  | ||||||
|                         Declares a named key that can be used in the |  | ||||||
|                         style sheet with the key() function<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#format-number" |  | ||||||
|                             target="_blank"><code><xsl:decimal-format></code></a> - Defines the characters and |  | ||||||
|                         symbols to be used when converting numbers into strings, with the format-number() function<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#strip" |  | ||||||
|                             target="_blank"><code><xsl:preserve-space></code></a> - Defines the elements for |  | ||||||
|                         which |  | ||||||
|                         white space should be preserved<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#strip" |  | ||||||
|                             target="_blank"><code><xsl:strip-space></code></a> - Defines the elements for which |  | ||||||
|                         white |  | ||||||
|                         space should be removed<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#sorting" |  | ||||||
|                             target="_blank"><code><xsl:sort></code></a> - Sorts the output<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#output" |  | ||||||
|                             target="_blank"><code><xsl:output></code></a> - Defines the format of the output |  | ||||||
|                         document<br> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-perform-sort" |  | ||||||
|                                 target="_blank"><code><xsl:for-each-group></code></a> - Sorts given |  | ||||||
|                             sequence<br></span> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-result-document" |  | ||||||
|                                 target="_blank"><code><xsl:result-document></code></a> - Creates a final result |  | ||||||
|                             tree<br></span> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-character-map" |  | ||||||
|                                 target="_blank"><code><xsl:character-map></code></a> - Allows a specific |  | ||||||
|                             character |  | ||||||
|                             appearing in the final result tree to be substituted by a specified string of |  | ||||||
|                             characters<br></span> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-character-map" |  | ||||||
|                                 target="_blank"><code><xsl:output-character></code></a> - Defines characters and |  | ||||||
|                             their replacements to be used by character-map<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-merge" |  | ||||||
|                                 target="_blank"><code><xsl:merge></code></a> - Merges two or more pre-sorted |  | ||||||
|                             input |  | ||||||
|                             files<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-merge-action" |  | ||||||
|                                 target="_blank"><code><xsl:merge-action></code></a> - Defines action to be |  | ||||||
|                             carried |  | ||||||
|                             out on each merged group<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-merge-key" |  | ||||||
|                                 target="_blank"><code><xsl:merge-key></code></a> - Used to define the merge keys |  | ||||||
|                             on |  | ||||||
|                             which the input sequences are sorted<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-merge-source" |  | ||||||
|                                 target="_blank"><code><xsl:merge-source></code></a> - Describes the input source |  | ||||||
|                             for |  | ||||||
|                             an xsl:merge instruction<br></span> |  | ||||||
|                         <!-- <span name="collapse2">[v3.0] <a href="  " target="_blank"><code><  ></code></a> - <br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="  " target="_blank"><code><  ></code></a> - <br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="  " target="_blank"><code><  ></code></a> - <br></span> --> |  | ||||||
|  |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none">Stylesheet structure</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#stylesheet-element" |  | ||||||
|                             target="_blank"><code><xsl:stylesheet></code></a> - Defines the root element of a |  | ||||||
|                         style |  | ||||||
|                         sheet<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#stylesheet-element" |  | ||||||
|                             target="_blank"><code><xsl:transform></code></a> - Defines the root element of a |  | ||||||
|                         style |  | ||||||
|                         sheet<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#import" |  | ||||||
|                             target="_blank"><code><xsl:import></code></a> - Imports the contents of one style |  | ||||||
|                         sheet |  | ||||||
|                         into another. Note: An imported style sheet has lower precedence than the importing style |  | ||||||
|                         sheet<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#include" |  | ||||||
|                             target="_blank"><code><xsl:include></code></a> - Includes the contents of one style |  | ||||||
|                         sheet |  | ||||||
|                         into another. Note: An included style sheet has the same precedence as the including style |  | ||||||
|                         sheet<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#literal-result-element" |  | ||||||
|                             target="_blank"><code><xsl:namespace-alias></code></a> - Replaces a namespace in the |  | ||||||
|                         style sheet to a different namespace in the output<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Creating-Elements-with-xsl:element" |  | ||||||
|                             target="_blank"><code><xsl:element></code></a> - Creates an element node in the |  | ||||||
|                         output |  | ||||||
|                         document<br> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none">Variables and |  | ||||||
|                         Parameters</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#variables" |  | ||||||
|                             target="_blank"><code><xsl:param></code></a> - Declares a local or global |  | ||||||
|                         parameter<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#variables" |  | ||||||
|                             target="_blank"><code><xsl:variable></code></a> - Declares a local or global |  | ||||||
|                         variable<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#section-Passing-Parameters-to-Templates" |  | ||||||
|                             target="_blank"><code><xsl:with-param></code></a> - Defines the value of a parameter |  | ||||||
|                         to |  | ||||||
|                         be passed into a template<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#copy-of" |  | ||||||
|                             target="_blank"><code><xsl:copy-of></code></a> - Creates a copy of the current node |  | ||||||
|                         (with |  | ||||||
|                         child nodes and attributes)<br> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-document" |  | ||||||
|                                 target="_blank"><code><xsl:document></code></a> - Creates a new document |  | ||||||
|                             node<br></span> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-namespace" |  | ||||||
|                                 target="_blank"><code><xsl:namespace></code></a> - Creates a namespace |  | ||||||
|                             node<br></span> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-namespace-alias" |  | ||||||
|                                 target="_blank"><code><xsl:namespace-alias></code></a> - Declares that a literal |  | ||||||
|                             namespace URI is being used as an alias for a target namespace URI<br></span> |  | ||||||
|                         <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-sequence" |  | ||||||
|                                 target="_blank"><code><xsl:sequence></code></a> - Constructs a sequence of nodes |  | ||||||
|                             and/or atomic values<br></span> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|                 <span name="collapse30"> |  | ||||||
|                     <div class="collapsible"> |  | ||||||
|                         <button class="section-button collapseTrigger" style="border: none" name="collapse2">[v2.0] |  | ||||||
|                             Regular |  | ||||||
|                             Expressions</button> |  | ||||||
|                         <div class="content" name="collapse2data"> |  | ||||||
|                             [v2.0] <a href="https://www.w3.org/TR/xslt20/#element-analyze-string" |  | ||||||
|                                 target="_blank"><code><xsl:analyze-string></code></a> - Identifies substrings |  | ||||||
|                             that |  | ||||||
|                             match |  | ||||||
|                             given regex<br> |  | ||||||
|                             [v2.0] <a href="https://www.w3.org/TR/xslt20/#element-analyze-string" |  | ||||||
|                                 target="_blank"><code><xsl:matching-substring></code></a> - Used in conjunction |  | ||||||
|                             with |  | ||||||
|                             analize-string, returns matching substrings<br> |  | ||||||
|                             [v2.0] <a href="https://www.w3.org/TR/xslt20/#element-analyze-string" |  | ||||||
|                                 target="_blank"><code><xsl:non-matching-substring></code></a> - Used in |  | ||||||
|                             conjunction |  | ||||||
|                             with |  | ||||||
|                             analize-string, returns substrings that didn't match the regex |  | ||||||
|                         </div> |  | ||||||
|                     </div> |  | ||||||
|                 </span> |  | ||||||
|                 <span name="collapse30"> |  | ||||||
|                     <div class="collapsible"> |  | ||||||
|                         <button class="section-button collapseTrigger" style="border: none" name="collapse2">[v2.0 - |  | ||||||
|                             3.0] |  | ||||||
|                             Callable</button> |  | ||||||
|                         <div class="content" name="collapse2data"> |  | ||||||
|                             <span name="collapse2">[v2.0] <a href="https://www.w3.org/TR/xslt20/#element-function" |  | ||||||
|                                     target="_blank"><code><xsl:function></code></a> - Declares a function that |  | ||||||
|                                 can be |  | ||||||
|                                 called from any XPath expression in the stylesheet<br></span> |  | ||||||
|                             <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-evaluate" |  | ||||||
|                                     target="_blank"><code><xsl:evaluate></code></a> - Allows dynamic evaluation |  | ||||||
|                                 of |  | ||||||
|                                 XPath |  | ||||||
|                                 expressions from a string<br></span> |  | ||||||
|                             <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-assert" |  | ||||||
|                                     target="_blank"><code><xsl:assert></code></a> - Asserts a XPath expression, |  | ||||||
|                                 optionally throwing a dynamic error<br></span> |  | ||||||
|                             <!-- <span name="collapse2">[v3.0] <a href="  " target="_blank"><code><  ></code></a> - <br></span> --> |  | ||||||
|                         </div> |  | ||||||
|                     </div> |  | ||||||
|                 </span> |  | ||||||
|                 <div class="collapsible"> |  | ||||||
|                     <button class="section-button collapseTrigger" style="border: none" style="border: none">Other |  | ||||||
|                         elements</button> |  | ||||||
|                     <div class="content"> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#message" |  | ||||||
|                             target="_blank"><code><xsl:message></code></a> - Writes a message to the output (used |  | ||||||
|                         to |  | ||||||
|                         report errors)<br> |  | ||||||
|                         [v1.0] <a href="https://www.w3.org/TR/xslt-10/#fallback" |  | ||||||
|                             target="_blank"><code><xsl:fallback></code></a> - Specifies an alternate code to run |  | ||||||
|                         if |  | ||||||
|                         the processor does not support an XSLT element<br> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-map" |  | ||||||
|                                 target="_blank"><code><xsl:map></code></a> - Used to construct a new |  | ||||||
|                             map<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-map-entry" |  | ||||||
|                                 target="_blank"><code><xsl:map-entry></code></a> - Used to construct a singleton |  | ||||||
|                             map |  | ||||||
|                             (one key and one value)<br></span> |  | ||||||
|  |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-expose" |  | ||||||
|                                 target="_blank"><code><xsl:expose></code></a> - Used to modify the visibility of |  | ||||||
|                             selected components within a package<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-accumulator" |  | ||||||
|                                 target="_blank"><code><xsl:accumulator></code></a> - Defines a rule that is to be |  | ||||||
|                             applied while the document is being sequentially processed<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-accumulator-rule" |  | ||||||
|                                 target="_blank"><code><xsl:accumulator-rule></code></a> - Defines a rule for an |  | ||||||
|                             xsl:accumulator<br></span> |  | ||||||
|                         <span name="collapse2"><b>Streaming: (not usable on this website!)</b></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-source-document" |  | ||||||
|                                 target="_blank"><code><xsl:source-document></code></a> - Initiates streamed or |  | ||||||
|                             unstreamed processing of a source document<br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-use-package" |  | ||||||
|                                 target="_blank"><code><xsl:use-package></code></a> - <br></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="http://www.w3.org/TR/xslt-30/#element-where-populated" |  | ||||||
|                                 target="_blank"><code><xsl:where-populated></code></a> - Allows conditional |  | ||||||
|                             content |  | ||||||
|                             construction to be made streamable<br></span> |  | ||||||
|                         <span name="collapse2"><b>Packages: (not usable on this website!)</b></span> |  | ||||||
|                         <span name="collapse2">[v3.0] <a href="https://www.w3.org/TR/xslt-30/#element-accept" |  | ||||||
|                                 target="_blank"><code><xsl:accept></code></a> - Allows a package to restrict the |  | ||||||
|                             visibility of components exposed by a package that it uses<br></span> |  | ||||||
|                         <!-- <span name="collapse2">[v3.0] <a href="  " target="_blank"><code><  ></code></a> - <br></span> --> |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|             </span> |  | ||||||
|  |  | ||||||
|         </div> |  | ||||||
|  |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
|     <!-- <script> |  | ||||||
|         function getVersion() { |  | ||||||
|             return document.getElementById("versions").value; |  | ||||||
|         } |  | ||||||
|     </script> --> |  | ||||||
|     <script> |  | ||||||
|         function processTooltip() { |  | ||||||
|             console.log("processTooltip"); |  | ||||||
|  |  | ||||||
|  |  | ||||||
|             if (getProcInfo() == "xalan") { |  | ||||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0 functions"; |  | ||||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT 1.0"; |  | ||||||
|                 hideList(document.getElementsByName("collapse30")); |  | ||||||
|             } else { |  | ||||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0, 2.0 & 3.0 functions"; |  | ||||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT up to 3.0"; |  | ||||||
|                 showList(document.getElementsByName("collapse30")); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     </script> |  | ||||||
|     <script> |  | ||||||
|         function getProcessor() { |  | ||||||
|             return document.getElementById("processors").value; |  | ||||||
|         } |  | ||||||
|     </script> |  | ||||||
|     <script> |  | ||||||
|         function getVersion() { |  | ||||||
|             if (getProcInfo() == "xalan") { |  | ||||||
|                 return "1.0"; |  | ||||||
|             } else { |  | ||||||
|                 return "3.0"; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     </script> |  | ||||||
|     <script> |  | ||||||
|         function getProcInfo() { |  | ||||||
|             var processVariables = document.getElementById("processors").value;// + "&version=" + document.getElementById("versions").value; |  | ||||||
|             return processVariables; |  | ||||||
|         } |  | ||||||
|     </script> |  | ||||||
|  |  | ||||||
|     <script> |  | ||||||
|         var triggerList = document.getElementsByClassName("collapseTrigger"); |  | ||||||
|         for (i = 0; i < triggerList.length; i++) { |  | ||||||
|             console.log("trigger connected"); |  | ||||||
|             triggerList[i].addEventListener("click", function () { |  | ||||||
|                 console.log("click"); |  | ||||||
|                 var collapsible = this.parentElement; |  | ||||||
|                 var collapsibleData = this.nextElementSibling; |  | ||||||
|                 if (collapsibleData.style.maxHeight > "0px") { |  | ||||||
|                     collapsibleData.style.maxHeight = "0px"; |  | ||||||
|  |  | ||||||
|                     this.classList.toggle("active", false); |  | ||||||
|                     if (!this.classList.contains("collapsibleMini")) { |  | ||||||
|                         collapsible.classList.toggle("active", false); |  | ||||||
|                     } |  | ||||||
|  |  | ||||||
|                     var subLists1 = collapsibleData.getElementsByClassName("content"); |  | ||||||
|                     var subLists2 = collapsibleData.getElementsByClassName("active"); |  | ||||||
|                     for (j = 0; j < subLists1.length; j++) { |  | ||||||
|                         subLists1[j].style.maxHeight = "0px"; |  | ||||||
|                     } |  | ||||||
|                     for (j = 0; j < subLists2.length; j++) { |  | ||||||
|                         subLists2[j].classList.toggle("active", false); |  | ||||||
|                     } |  | ||||||
|                 } else { |  | ||||||
|                     collapsibleData.style.maxHeight = (collapsibleData.scrollHeight) + "px"; |  | ||||||
|  |  | ||||||
|                     this.classList.toggle("active", true); |  | ||||||
|                     if (!this.classList.contains("collapsibleMini")) { |  | ||||||
|                         collapsible.classList.toggle("active", true); |  | ||||||
|                     } else { |  | ||||||
|                         var parentContent = this.closest(".content"); |  | ||||||
|                         parentContent.style.maxHeight = (parentContent.scrollHeight + collapsibleData.scrollHeight) + "px"; |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             }); |  | ||||||
|         } |  | ||||||
|     </script> |  | ||||||
|  |  | ||||||
|     <script> |  | ||||||
|         function init() { |  | ||||||
|             //Handle clicks in whole form and set info in tooltip |  | ||||||
|             setDefaultContent(document.getElementById("xmlArea"), 'Insert XML here'); |  | ||||||
|             setDefaultContent(document.getElementById("transformArea"), 'Insert XSLT here'); |  | ||||||
|             console.log("init"); |  | ||||||
|             // refreshTooltip(); |  | ||||||
|             processTooltip(); |  | ||||||
|             tool.addEventListener('click', event => { |  | ||||||
|                 //Check if script was called from textarea or selector |  | ||||||
|                 var targetID = event.target.getAttribute('id'); |  | ||||||
|                 if (targetID !== "processors" && targetID !== "xmlArea" && targetID !== "transformArea" && targetID !== "versions") { |  | ||||||
|                     return; |  | ||||||
|                 } |  | ||||||
|  |  | ||||||
|                 processTooltip(); |  | ||||||
|                 // console.log("clock"); |  | ||||||
|             }) |  | ||||||
|         } |  | ||||||
|     </script> |  | ||||||
|  |  | ||||||
| </body> |  | ||||||
|  |  | ||||||
| </html> |  | ||||||
| @@ -1,31 +0,0 @@ | |||||||
| <!DOCTYPE html> |  | ||||||
| <html> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <meta charset="UTF-8"> |  | ||||||
|     <link rel="stylesheet" href="styles.css"> |  | ||||||
|     <!-- <link rel="stylesheet" href="common.css"> --> |  | ||||||
|     <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">   |  | ||||||
| </head> |  | ||||||
|  |  | ||||||
| <body> |  | ||||||
|     <div id="header"> |  | ||||||
|         <h1 id="logo"><a href="http://release11.com/"><img src="./logo.png" alt="Release11"></a></h1> |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
|     <div id="content"> |  | ||||||
|         <div id="toolList"> |  | ||||||
|             <ul id="toolList"> |  | ||||||
|                 <li id="toolListRow"><a href="http://localhost:8097/" target="iframe">REST Mock</a></li> |  | ||||||
|                 <li id="toolListRow"><a href="./Frontend/xpath.html" target="iframe">XPath</a></li> |  | ||||||
|                 <li id="toolListRow"><a href="./Frontend/xslt.html" target="iframe">XSLT</a></li> |  | ||||||
|                 <li id="toolListRow"><a href="./Frontend/xsd.html" target="iframe">XSD</a></li> |  | ||||||
|             </ul> |  | ||||||
|             <div id="copyright">Copyright © 2021<br><a href="http://release11.com/">release11 Sp. z o. o.</a></div> |  | ||||||
|         </div> |  | ||||||
|         <iframe id="frame" name="iframe" src="http://localhost:8097/" frameborder="0"></iframe> |  | ||||||
|     </div> |  | ||||||
|  |  | ||||||
| </body> |  | ||||||
|  |  | ||||||
| </html> |  | ||||||