help3/html/default.css      |  830 +++++++++++++++++++++++++
 help3/html/ed_transform.xsl | 1369 ++++++++++++++++++++++++++++++++++++++++++
 help3/html/index.html       |    6 
 help3/html/index.php        |  107 +++
 help3/html/links.txt.xsl    | 1427 ++++++++++++++++++++++++++++++++++++++++++++
 help3/html/localized.xsl    |   45 +
 help3/html/test.xhp         |   57 +
 help3/html/xhp2html.js      |   72 ++
 help3/html/xhpeditor.css    |   11 
 9 files changed, 3917 insertions(+), 7 deletions(-)

New commits:
commit 99924eb64bac6d96385d2301d98129a3cda943de
Author:     Olivier Hallot <olivier.hal...@libreoffice.org>
AuthorDate: Fri Dec 21 13:49:15 2018 -0200
Commit:     Olivier Hallot <olivier.hal...@libreoffice.org>
CommitDate: Fri Dec 21 18:37:31 2018 +0100

    XHP editor (ii) (WIP)
    
    * Split screen in left (editor) and right (rendered page)
    * tweak XSLT  to get only the #DisplaysArea to render
    * add test file test.xhp
    * add companion XSLTs from new Help (localized and list)
    * added javascript for file load and page render (xhp2html.js)
    * css for the editor screen xhpeditor.css
    * add default.css, which is the same as the online help
    * added index.php, which will be used to send edited file to server
    
    * How to display editor:
    + add a folder /ed/ in your localhost
    + copy editor into /ed/
    + point browser to localhost/ed/index.php
    
    Usage:
    1) type location of xhp file,
    2) click Load file. The file shows in the textarea
    3) click Render page to display page on the right.
    
    Note:
    + Page may display errors and missing icons. This is due to
    the location of <embed>s and <image>s not good.
    + fancy colors will disapear later
    
    Change-Id: Id2bd9476afc3d1ae18e39390619ce81d711d11ca
    Reviewed-on: https://gerrit.libreoffice.org/65550
    Reviewed-by: Olivier Hallot <olivier.hal...@libreoffice.org>
    Tested-by: Olivier Hallot <olivier.hal...@libreoffice.org>

diff --git a/help3/html/default.css b/help3/html/default.css
new file mode 100644
index 0000000..6cb76ce
--- /dev/null
+++ b/help3/html/default.css
@@ -0,0 +1,830 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+/*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++                     LIBREOFFICE HELP IN BROWSER                   +
++                          DEFAULT STYLESHEET                       +
++                           WESTERN LANGUAGES                       +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+We use px as the unit for navigation elements and fonts because we do
+not want them to scale with browser-set font size.
+We use rem as the unit for article and footer contents because they
+do not break anything related to layout by scaling.
+
+*/
+
+body,
+p,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.listitem,
+.listitemintable,
+.tablecontent,
+.input {
+    font-family: -apple-system, system-ui, "Segoe UI", Roboto, Ubuntu, 
Cantarell, "Noto Sans", "DejaVu Sans", "Lucida Grande", "Helvetica Neue", 
Helvetica, Arial, sans-serif, FreeSerif, NanumGothic, "Noto Sans Tibetan", 
Taprom;
+}
+.input {
+    transition-property: background-color;
+    transition-duration: 150ms;
+    border-bottom: 1px dashed rgba(0,0,0,0.1);
+}
+[data-tooltip]{
+  position:relative;
+}
+[data-tooltip]::before {
+    content: "";
+    position: absolute;
+    top:-6px;
+    left:50%;
+    transform: translateX(-50%);
+    border-width: 4px 6px 0 6px;
+    border-style: solid;
+    border-color: rgba(0,0,0,0.7) transparent transparent transparent;
+    z-index: 100;
+    opacity: 0;
+    pointer-events: none;
+}
+[data-tooltip]::after {
+    content: attr(data-tooltip);
+    position: absolute;
+    left:50%;
+    top:-6px;
+    transform: translateX(-50%)   translateY(-100%);
+    background: rgba(0,0,0,0.7);
+    text-align: center;
+    color: #fff;
+    padding:4px 2px;
+    font-size: 12px;
+    min-width: 80px;
+    border-radius: 5px;
+    opacity: 0;
+    pointer-events: none;
+}
+[data-tooltip]:hover:before, [data-tooltip]:hover:after {
+    opacity: 1;
+    pointer-events: auto;
+}
+body {
+    background-color: #F4F7F7;
+    margin: 0;
+    line-height: normal;
+}
+::selection {
+    background: #BFFFB7;
+}
+a {
+    text-decoration: none;
+    color: #0369AE;
+}
+a:hover {
+    text-decoration: underline;
+    color: #1C99E0;
+}
+pre,
+.code,
+.codeintable,
+.example,
+.exampleintable,
+.literal,
+.literalintable,
+.path,
+.pathintable {
+    background-color: rgba(0,0,0,0.04);
+    border-radius: 2px;
+    display: inline;
+    padding: 1px 3px;
+    font-family: Menlo, Consolas, "DejaVu Sans Mono", "Nimbus Mono L", "Lucida 
Sans Typewriter", "Courier New", Courier, Monaco, monospace;
+}
+.acronym {
+    font-weight: bold;
+}
+.related {
+    font-weight: bold;
+    margin-top: 1.67rem;
+    border-top: 1px solid black;
+}
+.emph,
+.menuitem {
+    font-weight: bold;
+}
+.keycode {
+    /*font-weight: bold;*/
+    font-family: Menlo, Consolas, "DejaVu Sans Mono", "Nimbus Mono L", "Lucida 
Sans Typewriter", "Courier New", Courier, Monaco, monospace;
+}
+.widget{
+    padding: 1px 10px;
+    background: #f0f0f0;
+    background: linear-gradient(to bottom,#f0f0f0,#fcfcfc);
+    border-radius: 3px;
+    color: #303030;
+    border: 1px solid #a0a0a0;
+    border-bottom-width: 2px;
+    white-space: nowrap;
+}
+/* div's for warning, tip and note */
+.note,
+.tip,
+.warning {
+    display:flex;
+    align-items: center;
+    border-radius: 0 4px 4px 0;
+    box-shadow: 0 2px 2px -2px rgba(0,0,0,0.2);
+    padding: 0.2em;
+    margin-top: 15px;
+}
+.note {
+    border-left: 4px solid #FFDE09;
+    background-color: #FFF4D0;
+}
+.tip {
+    border-left: 4px solid #38618C;
+    background-color: #DAE2EA;
+}
+.warning {
+    border-left: 4px solid #FF5964;
+    background-color: #FFE0E2;
+}
+.noteicon {
+    padding:0.3em;
+    transition: transform .2s; /* Animation */
+}
+.noteicon:hover {
+    transform: scale(2.0); /* (200% zoom - Note: if the zoom is too large, it 
will go outside of the viewport) */
+}
+.notetext {
+    padding:0.3em;
+}
+
+/* Table related classes */
+
+/* Special case of table with one cell*/
+.onecell{
+    box-shadow: rgba(0,0,0,0.1) 0px 1px 3px 0px;
+    border-bottom: 1px solid #E8E8E8;
+}
+/* Special case of icon table*/
+.icontable {
+    display:flex;
+    align-items:center;
+}
+.iconcell {
+    padding:0.3em;
+}
+.imageicon {
+    transition: transform .2s; /* Animation */
+}
+.imageicon:hover{
+    transform: scale(2.0); /* (200% zoom - Note: if the zoom is too large, it 
will go outside of the viewport) */
+}
+
+table {
+    box-shadow: rgba(0,0,0,0.1) 0px 1px 3px 0px;
+    border-collapse: collapse;
+    background: #fefefe;
+}
+table, th, td {
+    border-top: 0;
+    border-bottom: 1px solid #E8E8E8;
+    border-left: 0;
+    border-right: 0;
+    padding: 0.3em;
+}
+.tablehead,
+.tableheadintable {
+    font-weight: bold;
+    margin-top: 0px;
+}
+.tableheadcell {
+    background: #148603;
+    color: white;
+    vertical-align:top;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+    margin-bottom: 0.67rem;
+    color: #148603;
+}
+p,
+ol,
+td {
+    font-size: 1.17rem;
+    margin: 2px 2px 2px 2px;
+}
+h1 {
+    font-size: 1.83rem;
+    font-weight: 300;
+    border-bottom: 2px solid #148603;
+    padding-bottom: 6px;
+}
+h1 a {
+    text-decoration: none;
+}
+h2 {
+    font-size: 1.55rem;
+}
+h3 {
+    font-size: 1.33rem;
+}
+h4,
+h5,
+h6 {
+    font-size: 1.17rem;
+}
+.avis {
+    /*    background-color: #EEEEEE;*/
+}
+.relatedtopics {
+    font-weight: normal;
+}
+.relatedbody {
+    margin-top: 2px;
+    margin-bottom: 2px;
+    margin-left: 5px;
+}
+.howtoget {
+    background: #CCF4C6;
+    border-left: 4px solid #148603;
+    border-radius: 0 4px 4px 0;
+    box-shadow: 0 2px 2px -2px rgba(0,0,0,0.2);
+    padding: 0.3em;
+    display: flex;
+    flex-direction: column;
+}
+.howtogetheader {
+    background: #FFF;
+    border-radius: 2px;
+    box-shadow: 0 2px 2px -2px rgba(0,0,0,0.2);
+    display: inline-block;
+    font-weight: bold;
+    padding: 0.3em;
+}
+.howtogetbody {
+}
+.samplefilesection{
+}
+.wide {
+    width: 100%;
+}
+.topalign {
+    vertical-align: top;
+    border: 1px;
+}
+.bug {
+    color: red;
+}
+.debug {
+    border: 1px solid black;
+    padding: 3px;
+    display: none;
+    background-color: #222;
+    color: red;
+    text-align: left;
+}
+.donation {
+    padding: 0 0 10px 0;
+    margin-bottom: 1em;
+    border-bottom: 1px dashed rgba(0,0,0,0.1);
+}
+.donation p{
+    font-size:1.2rem;
+}
+.bascode {
+    margin-top:15px;
+    margin-bottom: 15px;
+}
+
+.infopage {
+    color: green;
+    font-size: 1.33rem;
+    font-weight: bold;
+}
+.topmenu {
+    font-size: 1rem;
+    font-weight: bold;
+    padding: 1px;
+    border: solid 1px #148603;
+}
+#DisplayArea {
+    background-color: #FCFCFC;
+    overflow: auto;
+    padding: 10px;
+    grid-area: main;
+}
+#DisplayArea > p {
+    margin-bottom: 10px;
+}
+.mediabutton {
+    background-color: cyan;
+}
+.mediadiv{
+    padding-bottom:5%;
+    height:0;
+    display:inline-block;
+    border:none;
+}
+.switch,
+.switchinline {}
+
+.tintro {
+    color: white;
+    background-color: green;
+    font-family: Arial;
+    font-weight: bold;
+    font-size: 2rem;
+    border: 1px solid black;
+    padding-bottom: 6px;
+    margin-bottom: 6px;
+}
+.embedded {}
+.header-extrawurst {
+    grid-area: header;
+}
+header {
+    background-color: #18A303;
+    color: #fff;
+    height: 64px;
+    padding: 8px 8px 8px 16px;
+}
+.logo-container {
+    display: flex;
+    justify-content: space-between;
+}
+.logo {
+    color: #fff;
+    text-decoration: none;
+    display: flex;
+}
+.logo p {
+    font-size: 24px;
+}
+.logo .symbol {
+    background-image: url(media/navigation/libo-symbol-white.svg);
+    background-repeat: no-repeat;
+    background-size: contain;
+    width: 52px;
+    height: 60px;
+    margin-right: 10px;
+}
+.lang nav, .modules nav {
+    z-index: 100;
+    /* line them up horizontally */
+    display: flex;
+    flex-direction: row;
+    /* allow for scrolling */
+    overflow-x: auto;
+    overflow-y: hidden;
+    /* make it smooth on iOS */
+    -webkit-overflow-scrolling: touch;
+    text-align: center;
+}
+.lang nav a, .modules nav a {
+    color: #fff;
+    background-color: #233336;
+    display: block;
+    line-height: 1.5;
+    padding: 3px 6px;
+    text-decoration: none;
+    font-size: 24px;
+    flex-shrink: 0;
+    z-index: 100;
+    white-space: nowrap;
+}
+footer {
+    border-top: 2px solid #148603;
+    padding: 15px 10px 0 10px;
+    margin: 40px 0;
+}
+footer p {
+    font-size: 0.98rem;
+}
+.gsc-control-cse {
+    border-color: transparent !important;
+    background-color: transparent !important;
+    padding: 3px 0 0 0 !important;
+}
+.modules input[type=checkbox], .lang input[type=checkbox],
+.contents-treeview input[type=checkbox], aside input[type=checkbox] {
+    position: absolute;
+    opacity: 0;
+}
+label[for=accordion-1] {
+    color: #148603;
+    display: block;
+    padding: 10px 0 10px 20px;
+    font-size: 22px;
+    line-height: .6;
+}
+label[for=accordion-1]:after {
+    font-size: 44px;
+    content:"⌄";
+}
+aside input[type=checkbox] ~ .contents-treeview {
+    display: none;
+}
+aside input[type=checkbox]:checked ~ .contents-treeview {
+    color: #333;
+    z-index: 6;
+    display: block;
+    margin: 0 20px 0 20px;
+}
+.index-label {
+    font-size: 22px;
+    color: #148603;
+    padding-left: 20px;
+    margin: 20px 0 0 0;
+}
+#Index, .index {
+    margin-top: 10px;
+}
+.index {
+    padding-left: 15px;
+}
+.index a {
+    font-size: 16px;
+    margin-bottom: 5px;
+}
+#Bookmarks {
+    padding: 0 20px;
+}
+#Bookmarks p {
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#WRITER::before {
+    content: "WRITER";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#CALC::before {
+    content: "CALC";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#IMPRESS::before {
+    content: "IMPRESS";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#DRAW::before {
+    content: "DRAW";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#BASE::before {
+    content: "BASE";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#MATH::before {
+    content: "MATH";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#CHART::before {
+    content: "CHART";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#BASIC::before {
+    content: "BASIC";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+#SHARED::before {
+    content: "GLOBAL";
+    display: block;
+    font-size: 22px;
+    font-weight: bold;
+    color: #148603;
+}
+.pagination {
+    padding: 0;
+}
+.pagination li {
+    display: inline-block;
+    padding: 4px;
+}
+.pagination a {
+    text-decoration: none;
+}
+.index a {
+    display: block;
+}
+.index .hidden {
+    display: none;
+}
+li.active {
+    background-color: #0369A3;
+}
+li.active a {
+    color: #fff;
+}
+li.disabled a {
+    color: #90C0E6;
+}
+#search-bar {
+    margin-top: 10px;
+    width: 100%;
+    caret-color: #148603;
+}
+#search-bar::placeholder {
+    font-style: italic;
+}
+.google-search {
+    max-width: 300px;
+    margin: 0 auto;
+}
+.modules {
+    border-bottom: 2px solid #f3f3f3;
+}
+.modules label:after, .lang label:after {
+    font-size: 30px;
+    color: #fff;
+    content:"⌄";
+}
+.lang label, .modules label {
+    display: none;
+}
+.modules nav div {
+    background-repeat: no-repeat;
+    background-size: contain;
+    float: left;
+    display: none;
+}
+.calc-icon,
+.chart-icon,
+.writer-icon,
+.impress-icon,
+.draw-icon,
+.math-icon,
+.basic-icon,
+.base-icon {
+    width: 21.5px;
+    height: 26px;
+    position: relative;
+    margin-right: 5px;
+}
+.calc-icon {
+    background-image: url(media/navigation/libo-calc.svg);
+}
+.writer-icon {
+    background-image: url(media/navigation/libo-writer.svg);
+}
+.impress-icon {
+    background-image: url(media/navigation/libo-impress.svg);
+}
+.draw-icon {
+    background-image: url(media/navigation/libo-draw.svg);
+}
+.math-icon {
+    background-image: url(media/navigation/libo-math.svg);
+}
+.base-icon {
+    background-image: url(media/navigation/libo-base.svg);
+}
+.chart-icon {
+    background-image: url(media/navigation/libo-chart.svg);
+}
+.basic-icon {
+    background-image: url(media/navigation/libo-basic.svg);
+}
+/* tree view */
+
+.contents-treeview ul,
+.contents-treeview li {
+    padding: 0;
+    margin: 0;
+    list-style: none;
+    font-size: 16px;
+}
+.contents-treeview {
+    -moz-user-select: none;
+    -webkit-user-select: none;
+    user-select: none;
+}
+.contents-treeview a, .index a {
+    text-decoration: none;
+}
+.contents-treeview a:hover, .index a:hover {
+    text-decoration: underline;
+}
+.contents-treeview input + label + ul {
+    margin: 0 0 0 22px;
+}
+.contents-treeview input ~ ul {
+    display: none;
+}
+.contents-treeview label,
+.contents-treeview label:before {
+    cursor: pointer;
+    color: #111;
+}
+.contents-treeview input:disabled + label {
+    cursor: default;
+    opacity: .6;
+}
+.contents-treeview input:checked:not(:disabled) ~ ul {
+    display: block;
+}
+.contents-treeview label,
+.contents-treeview a,
+.contents-treeview label::before {
+    height: 16px;
+    line-height: 16px;
+    vertical-align: middle;
+}
+.contents-treeview label:before {
+    content: "⊞";
+    color: #148603;
+    width: 16px;
+    margin: 0 5px 0 0;
+    display: inline-block;
+}
+.contents-treeview input:checked + label::before {
+    content: "⊟";
+}
+.contents-current {
+    background-color: #0369A3;
+    color: #FFF;
+    padding-right: 1px;
+}
+.contents-current:hover {
+    color: #FFF;
+}
+/* webkit adjacent element selector bugfix */
+
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+    .contents-treeview {
+        -webkit-animation: webkit-adjacent-element-selector-bugfix infinite 1s;
+    }
+    @-webkit-keyframes webkit-adjacent-element-selector-bugfix {
+        from {
+            padding: 0;
+        }
+        to {
+            padding: 0;
+        }
+    }
+}
+@media screen and (min-width: 960px) {
+    .lang nav {
+        display: none;
+    }
+    .lang nav a {
+        font-size: 19px;
+        white-space: normal;
+    }
+    .lang label, .modules label {
+        cursor: pointer;
+        color: #fff;
+        font-size: 19px;
+        position: relative;
+        top: 40px;
+        display: block;
+    }
+    /* change the menu direction to stacked */
+
+    .lang input[type="checkbox"]:checked ~ nav, .modules 
input[type="checkbox"]:checked ~ nav {
+        display: flex;
+        flex-direction: column;
+        max-width: 120px;
+        overflow-y: auto;
+        overflow-x: hidden;
+        max-height: 480px;
+        position: absolute;
+        top: 80px;
+    }
+    .modules input[type="checkbox"]:checked ~ nav {
+        background-color: #101820;
+        text-align: left;
+    }
+    .modules nav {
+        display: none;
+    }
+    .modules nav div {
+        display: block;
+    }
+    .modules nav a {
+        font-size: 19px;
+    }
+    aside {
+        background-color: #F4F7F7;
+        float: left;
+        width: 320px;
+    }
+    .leftside {
+        grid-area: leftside;
+    }
+    .rightside {
+        grid-area: rightside;
+    }
+    .google-search {
+        margin: 0;
+        position: absolute;
+        top: 19px;
+        left: 860px;
+    }
+    .lang {
+        position: absolute;
+        top: 0;
+        left: 200px;
+    }
+    .modules {
+        width: 120px;
+        position: absolute;
+        top: 0;
+        left: 80px;
+        border: none;
+    }
+    #DisplayArea {
+        background-color: #FCFCFC;
+        box-shadow: 0 2px 8px 0 rgba(0,0,0,.05);
+        padding: 10px 50px;
+        width: 800px;
+    }
+}
+@media screen and (min-width: 1440px) {
+    #Contents {
+        color: #333;
+        z-index: 6;
+        display: block;
+        margin: 0 20px 0 20px;
+    }
+    label[for=accordion-1] {
+        background-color: transparent;
+        text-decoration: none;
+    }
+     label[for=accordion-1]:hover {
+        background-color: transparent;
+    }
+     label[for=accordion-1]:after {
+        content: "";
+    }
+}
+@supports (grid-area: auto) {
+    @media screen and (min-width: 960px) {
+        body {
+            display: grid;
+            grid-template-columns: 320px 1fr;
+            grid-template-rows: minmax(1em, auto) minmax(1em, auto) 1fr;
+            grid-template-areas: "header header"
+                                 "rightside main"
+                                 "leftside main"
+        }
+    }
+    @media screen and (min-width: 1440px) {
+        body {
+            display: grid;
+            grid-template-columns: 320px 900px 1fr;
+            grid-template-rows: 1fr minmax(1em, auto);
+            grid-template-areas: "header header header"
+                                 "leftside main rightside"
+        }
+        .rightside {
+            width: auto;
+            border-right: none;
+        }
+    }
+}
diff --git a/help3/html/ed_transform.xsl b/help3/html/ed_transform.xsl
new file mode 100644
index 0000000..d423c72
--- /dev/null
+++ b/help3/html/ed_transform.xsl
@@ -0,0 +1,1369 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+
+<xsl:output indent="yes" method="html" doctype-system= "about:legacy-compat"/>
+
+<xsl:include href="localized.xsl"/>
+<xsl:include href="links.txt.xsl"/>
+<!--
+############################
+# Variables and Parameters #
+############################
+//-->
+
+<xsl:param name="local" />
+<xsl:param name="root"/>
+<xsl:param name="Language"/>
+<xsl:param name="productname"/>
+<xsl:param name="productversion"/>
+
+<xsl:param name="System" select="'WIN'"/>
+<xsl:param name="imgtheme" select="''"/>
+<xsl:param name="Id" />
+
+<!-- General Usage -->
+<xsl:variable name="am" select="'&amp;'"/>
+<xsl:variable name="sl" select="'/'"/>
+<xsl:variable name="qt" select="'&quot;'"/>
+
+<!-- For calculating pixel sizes -->
+<xsl:variable name="dpi" select="'96'"/>
+<xsl:variable name="dpcm" select="'38'"/>
+<xsl:variable name="dpmm" select="'3.8'"/>
+
+<!-- Product brand variables used in the help files -->
+<xsl:variable name="brand1" select="'$[officename]'"/>
+<xsl:variable name="brand2" select="'$[officeversion]'"/>
+<xsl:variable name="brand3" select="'%PRODUCTNAME'"/>
+<xsl:variable name="brand4" select="'%PRODUCTVERSION'"/>
+
+<!-- Installation -->
+<xsl:variable name="online" select="$local!='yes'"/>
+<xsl:variable name="target" select="'ed/'"/>
+
+<!-- meta data variables from the help file -->
+<xsl:variable name="filename" select="/helpdocument/meta/topic/filename"/>
+<xsl:variable name="title" select="/helpdocument/meta/topic/title"/>
+
+<!-- Module and the corresponding switching values-->
+<xsl:param name="Database" select="'swriter'"/>
+<xsl:variable name="module" select="$Database"/>
+<xsl:variable name="appl"/>
+
+<!-- the other parameters given by the help caller -->
+
+<xsl:variable name="pversion">
+       <xsl:value-of select="translate($productversion,' ','')"/>
+</xsl:variable>
+<!-- this is were the images are -->
+
+<xsl:variable name="lang" select="$Language"/>
+<xsl:variable name="urlpre" select="$root"/>
+
+
+<!-- generic Icon alt text -->
+<xsl:variable name="alttext" 
select="concat($root,'text/shared/00/icon_alt.xhp')"/>
+
+  <!-- parts of help and image urls -->
+
+<xsl:variable name="img_url_prefix" 
select="concat($target,'media',$imgtheme,'/')"/>
+
+<xsl:variable name="urlpost" 
select="concat('?Language=',$lang,$am,'System=',$System,$am,'UseDB=no')"/>
+
+<xsl:variable name="linkprefix" select="concat($target,$lang,'/')"/>
+
+<!--<xsl:variable name="linkpostfix" select="$urlpost"/>-->
+<xsl:variable name="linkpostfix" select="''"/>
+
+<!-- images for notes, tips and warnings -->
+<xsl:variable name="note_img" 
select="concat($img_url_prefix,'icon-themes/help/note.svg')"/>
+<xsl:variable name="tip_img" 
select="concat($img_url_prefix,'icon-themes/help/tip.svg')"/>
+<xsl:variable name="warning_img" 
select="concat($img_url_prefix,'icon-themes/help/warning.svg')"/>
+
+<!-- Strings for the help UI page -->
+<xsl:variable name="tmp_href_ui"><xsl:value-of 
select="concat($urlpre,'text/shared/help/browserhelp.xhp')"/></xsl:variable>
+<xsl:variable name="tmp_doc_ui" select="document($tmp_href_ui)"/>
+<xsl:variable name ="ui_contents"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='contents']"/></xsl:variable>
+<xsl:variable name ="ui_index"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='index']"/></xsl:variable>
+<xsl:variable name ="ui_pholderall"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='pholderall']"/></xsl:variable>
+<xsl:variable name ="ui_pholderchosen"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='pholderchosen']"/></xsl:variable>
+<xsl:variable name ="ui_module"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='module']"/></xsl:variable>
+<xsl:variable name ="ui_language"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='language']"/></xsl:variable>
+<xsl:variable name ="ui_donate"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='donate']"/></xsl:variable>
+<xsl:variable name ="ui_logo"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='LibreOfficeHelp']"/></xsl:variable>
+<xsl:variable name ="ui_selectmodule"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='selectmodule']"/></xsl:variable>
+<xsl:variable name ="ui_selectlang"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='selectlanguage']"/></xsl:variable>
+<xsl:variable name ="ui_search"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='searchhelpcontents']"/></xsl:variable>
+<xsl:variable name ="ui_copyclip"><xsl:apply-templates 
select="$tmp_doc_ui//variable[@id='copyclip']"/></xsl:variable>
+<!--
+#############
+# Templates #
+#############
+//-->
+
+<!-- Create the document skeleton -->
+<xsl:template match="/">
+    <xsl:variable name="htmlpage"><xsl:value-of 
select="concat(substring-before($filename,'.xhp'),'.html')"/></xsl:variable>
+    <xsl:variable name="titleL10N">
+        <xsl:call-template name="brand"><xsl:with-param 
name="string"><xsl:value-of 
select="$title"/></xsl:with-param></xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="install">
+        <xsl:call-template name="tokenize">
+            <xsl:with-param name="str" select="$filename"/>
+        </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="logoprodversion">
+        <xsl:choose>
+            <xsl:when test="$productversion='latest'"><xsl:value-of 
select="''"/></xsl:when>
+            <xsl:otherwise><xsl:value-of 
select="$productversion"/></xsl:otherwise>
+        </xsl:choose>
+    </xsl:variable>
+<html lang="{$lang}">
+    <head>
+        <base href="{$install}"/>
+        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+        <xsl:if test="$online">
+            <meta http-equiv="Content-Security-Policy" content="script-src 
'self' 'unsafe-inline' 'unsafe-eval' piwik.documentfoundation.org *.google.com 
*.googleapis.com"/>
+        </xsl:if>
+        <title><xsl:value-of select="$titleL10N"/></title>
+        <link rel="shortcut icon" href="{$target}media/navigation/favicon.ico" 
/>
+        <link  type="text/css" href="{$target}normalize.css" rel="Stylesheet" 
/>
+        <link  type="text/css" href="{$target}default.css" rel="Stylesheet" />
+        <link  type="text/css" href="{$target}prism.css" rel="Stylesheet" />
+        <script type="text/javascript" src="{$target}help2.js"></script>
+        <script type="text/javascript" src="{$target}languages.js"></script>
+        <script type="text/javascript" 
src="{$target}{$lang}/langnames.js"></script>
+        <script type="text/javascript" src="{$target}fuzzysort.js"></script>
+        <script type="text/javascript" src="{$target}paginathing.js"></script>
+        <script type="text/javascript" src="{$target}prism.js"></script>
+        <meta name="viewport" content="width=device-width,initial-scale=1"/>
+    </head>
+    <body itemscope="true" itemtype="http://schema.org/TechArticle";>
+    <xsl:if test="$online">
+        <meta itemprop="version" content="{$productversion}"/>
+        <meta itemprop="inLanguage" content="{$lang}"/>
+        <meta itemprop="datePublished" content="2017"/>
+        <meta itemprop="headline" content="{$titleL10N}"/>
+    </xsl:if>
+    <div id="DisplayArea" itemprop="articleBody">
+        <xsl:apply-templates select="/helpdocument/body"/>
+        <footer>
+            <xsl:if test="$online">
+                <div class="donation">
+                    <p><a 
href="https://www.libreoffice.org/donate/?pk_campaign=help"; target ="_blank">
+                        <xsl:value-of select="$ui_donate"/>
+                    </a></p>
+                </div>
+                <p><a href="https://www.libreoffice.org/imprint"; 
target="_blank">Impressum (Legal Info)</a> | <a 
href="https://www.libreoffice.org/privacy"; target="_blank">Privacy Policy</a> | 
<a href="https://www.documentfoundation.org/statutes.pdf"; 
target="_blank">Statutes (non-binding English translation)</a> - <a 
href="https://www.documentfoundation.org/satzung.pdf"; target="_blank">Satzung 
(binding German version)</a> | Copyright information: Unless otherwise 
specified, all text and images on this website are licensed under the <a 
href="https://www.libreoffice.org/download/license/"; target="_blank">Mozilla 
Public License v2.0</a>. “LibreOffice” and “The Document Foundation” are 
registered trademarks of their corresponding registered owners or are in actual 
use as trademarks in one or more countries. Their respective logos and icons 
are also subject to international copyright laws. Use thereof is explained in 
our <a href="https://wiki.documentfoundation.org/TradeMark_Poli
 cy" target="_blank">trademark policy</a>. LibreOffice was based on 
OpenOffice.org.</p>
+            </xsl:if>
+            <div id="DEBUG" class="debug">
+                <h3 class="bug">Help content debug info:</h3>
+                <p>This page is: <a 
href="https://opengrok.libreoffice.org/xref/help/source{$filename}"; 
target="_blank"><xsl:value-of select="$filename"/></a></p>
+                <p>Title is: <xsl:value-of select="$title"/></p>
+                <p id="bm_module"></p>
+                <p id="bm_system"></p>
+                <p id="bm_HID"></p>
+            </div>
+        </footer>
+    </div>
+    <script type="text/javascript" src="{$target}help.js"/>
+    <xsl:choose>
+        <xsl:when test="$online">
+            <script type="text/javascript">
+                <![CDATA[
+                var module = getParameterByName("DbPAR");
+                var system = getParameterByName("System");
+                var helpID = getParameterByName("HID");
+                fixURL(module,system);
+                var dbg = getParameterByName("Debug");
+                if (dbg == null){dbg=0}
+                document.getElementById("DEBUG").style.display = (dbg == 0) ? 
"none":"block";
+                document.getElementById("bm_module").innerHTML ="Module is: 
"+module;
+                document.getElementById("bm_system").innerHTML ="System is: 
"+system;
+                document.getElementById("bm_HID").innerHTML ="HID is: "+helpID;
+                ]]>
+            </script>
+        </xsl:when>
+        <xsl:otherwise>
+            <script type="text/javascript">
+                <![CDATA[
+                var module = getParameterByName("DbPAR");
+                var helpID = getParameterByName("HID");
+                var system = getSystem();
+                fixURL(module,system);
+                var dbg = getParameterByName("Debug");
+                if (dbg == null){dbg=0}
+                document.getElementById("DEBUG").style.display = (dbg == 0) ? 
"none":"block";
+                document.getElementById("bm_module").innerHTML ="Module is: 
"+module;
+                document.getElementById("bm_system").innerHTML ="System is: 
"+system;
+                document.getElementById("bm_HID").innerHTML ="HID is: "+helpID;
+                ]]>
+            </script>
+        </xsl:otherwise>
+    </xsl:choose>
+    </body>
+</html>
+</xsl:template>
+
+<!-- AHELP -->
+<xsl:template match="ahelp">
+       <xsl:if test="not(@visibility='hidden')"><span 
class="avis"><xsl:apply-templates /></span></xsl:if>
+</xsl:template>
+
+<!-- ALT -->
+<xsl:template match="alt"/>
+
+<!-- MATHML -->
+<xsl:template match="math">
+<div class="mathml"><xsl:apply-templates /></div>
+</xsl:template>
+
+<!-- BOOKMARK -->
+<xsl:template match="bookmark">
+       <a name="{@id}"></a>
+       <xsl:choose>
+               <xsl:when test="starts-with(@branch,'hid')" />
+               <xsl:otherwise><xsl:apply-templates /></xsl:otherwise>
+       </xsl:choose>
+</xsl:template>
+<xsl:template match="bookmark" mode="embedded" />
+
+<!-- BOOKMARK_VALUE -->
+<xsl:template match="bookmark_value">
+    <xsl:element name="meta">
+        <xsl:attribute name="itemprop">keywords</xsl:attribute>
+        <xsl:attribute name="content"><xsl:value-of 
select="translate(.,';',',')"/></xsl:attribute>
+    </xsl:element>
+</xsl:template>
+
+<!-- BR -->
+<xsl:template match="br"><br /></xsl:template>
+
+<!-- CAPTION -->
+<xsl:template match="caption" />
+
+<!-- CASE -->
+<xsl:template match="case"><xsl:call-template name="insertcase" 
/></xsl:template>
+<xsl:template match="case" mode="embedded">
+        <xsl:call-template name="insertcase">
+            <xsl:with-param name="embedded" select="'yes'"/>
+        </xsl:call-template>
+</xsl:template>
+
+<!-- CASEINLINE -->
+<xsl:template match="caseinline"><xsl:call-template name="insertcase" 
/></xsl:template>
+<xsl:template match="caseinline" mode="embedded">
+       <xsl:call-template name="insertcase">
+               <xsl:with-param name="embedded" select="'yes'"/>
+       </xsl:call-template>
+</xsl:template>
+
+<!-- COMMENT -->
+<xsl:template match="comment" />
+<xsl:template match="comment" mode="embedded"/>
+
+<!-- CREATED -->
+<xsl:template match="created" />
+
+<!-- DEFAULT -->
+<xsl:template match="default"><xsl:call-template name="insertdefault" 
/></xsl:template>
+<xsl:template match="default" mode="embedded">
+       <xsl:call-template name="insertdefault">
+               <xsl:with-param name="embedded" select="'yes'"/>
+       </xsl:call-template>
+</xsl:template>
+
+<!-- DEFAULTINLINE -->
+<xsl:template match="defaultinline"><xsl:call-template name="insertdefault" 
/></xsl:template>
+<xsl:template match="defaultinline" mode="embedded">
+       <xsl:call-template name="insertdefault">
+               <xsl:with-param name="embedded" select="'yes'"/>
+       </xsl:call-template>
+</xsl:template>
+
+<!-- EMBED -->
+<xsl:template match="embed"><xsl:call-template 
name="resolveembed"/></xsl:template>
+<xsl:template match="embed" mode="embedded"><xsl:call-template 
name="resolveembed"/></xsl:template>
+
+<!-- EMBEDVAR -->
+<xsl:template match="embedvar"><xsl:call-template 
name="resolveembedvar"/></xsl:template>
+<xsl:template match="embedvar" mode="embedded"><xsl:call-template 
name="resolveembedvar"/></xsl:template>
+
+<!-- EMPH -->
+<xsl:template match="emph">
+       <span class="emph"><xsl:apply-templates /></span>
+</xsl:template>
+<xsl:template match="emph" mode="embedded">
+       <span class="emph"><xsl:apply-templates /></span>
+</xsl:template>
+
+<!-- SUB -->
+<xsl:template match="sub">
+       <sub><xsl:apply-templates /></sub>
+</xsl:template>
+<xsl:template match="sub" mode="embedded">
+       <sub><xsl:apply-templates /></sub>
+</xsl:template>
+
+<!-- SUP -->
+<xsl:template match="sup">
+       <sup><xsl:apply-templates /></sup>
+</xsl:template>
+<xsl:template match="sup" mode="embedded">
+       <sup><xsl:apply-templates /></sup>
+</xsl:template>
+
+<!-- FILENAME -->
+<xsl:template match="filename"/>
+
+<!-- HISTORY -->
+<xsl:template match="history" />
+
+<!-- IMAGE -->
+<xsl:template match="image"><xsl:call-template 
name="insertimage"/></xsl:template>
+<xsl:template match="image" mode="embedded"><xsl:call-template 
name="insertimage"/></xsl:template>
+
+<!-- ITEM -->
+<xsl:template match="item">
+    <span class="{@type}">
+<!-- Insert tooltip only to input classes and only if the content is longer 
than 3 characters -->
+        <xsl:if test="@type='input' and string-length(.)>3">
+            <xsl:attribute name="data-tooltip">
+                <xsl:value-of select="$ui_copyclip"/>
+            </xsl:attribute>
+        </xsl:if>
+        <xsl:apply-templates />
+    </span>
+</xsl:template>
+<xsl:template match="item" mode="embedded">
+    <span class="{@type}">
+        <xsl:if test="@type='input' and string-length(.)>3">
+            <xsl:attribute name="data-tooltip">
+                <xsl:value-of select="$ui_copyclip"/>
+            </xsl:attribute>
+        </xsl:if>
+        <xsl:apply-templates />
+    </span>
+</xsl:template>
+
+<!-- LINK -->
+<xsl:template match="link">
+    <xsl:choose> <!-- don't insert the heading link to itself -->
+        <xsl:when test="(concat('/',@href) = 
/helpdocument/meta/topic/filename) or (@href = 
/helpdocument/meta/topic/filename)">
+            <xsl:apply-templates />
+        </xsl:when>
+        <xsl:when 
test="contains(child::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- special 
treatment of howtoget links -->
+            <xsl:call-template name="insert_howtoget">
+                <xsl:with-param name="linkhref" select="@href"/>
+            </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:call-template name="createlink" />
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+<xsl:template match="link" mode="embedded">
+       <xsl:call-template name="createlink"/>
+</xsl:template>
+
+<!-- LIST -->
+<xsl:template match="list">
+       <xsl:choose>
+               <xsl:when test="@type='ordered'">
+                       <ol>
+                               <xsl:if test="@startwith">
+                                       <xsl:attribute 
name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
+                               </xsl:if>
+                               <xsl:apply-templates />
+                       </ol>
+               </xsl:when>
+               <xsl:otherwise>
+                       <ul><xsl:apply-templates /></ul>
+               </xsl:otherwise>
+       </xsl:choose>
+</xsl:template>
+
+<xsl:template match="list" mode="embedded">
+       <xsl:choose>
+               <xsl:when test="@type='ordered'">
+                       <ol>
+                               <xsl:if test="@startwith">
+                                       <xsl:attribute 
name="start"><xsl:value-of select="@startwith"/></xsl:attribute>
+                               </xsl:if>
+                               <xsl:apply-templates mode="embedded"/>
+                       </ol>
+               </xsl:when>
+               <xsl:otherwise>
+                       <ul><xsl:apply-templates mode="embedded"/></ul>
+               </xsl:otherwise>
+       </xsl:choose>
+</xsl:template>
+
+<!-- LISTITEM -->
+<xsl:template match="listitem">
+    <li><xsl:apply-templates /></li>
+</xsl:template>
+
+<xsl:template match="listitem" mode="embedded">
+    <li><xsl:apply-templates mode="embedded"/></li>
+</xsl:template>
+
+<!-- META, SEE HEADER -->
+<xsl:template match="meta" />
+
+<!-- OBJECT -->
+<xsl:template match="object">
+    <xsl:if test="$online">
+           <xsl:call-template name="insertobject"/>
+    </xsl:if>
+</xsl:template>
+<xsl:template match="object" mode="embedded">
+    <xsl:if test="$online">
+           <xsl:call-template name="insertobject"/>
+    </xsl:if>
+</xsl:template>
+
+<!-- PARAGRAPH -->
+<xsl:template match="paragraph">
+    <xsl:choose>
+
+        <xsl:when test="@role='heading'">
+            <xsl:call-template name="insertheading">
+                <xsl:with-param name="level" select="@level"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains(' note warning tip ',@role)">
+            <xsl:call-template name="insertnote">
+                <xsl:with-param name="type" select="@role" />
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when 
test="contains(descendant::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- 
special treatment of howtoget links -->
+            <xsl:apply-templates />
+        </xsl:when>
+
+        <xsl:when test="@role='bascode' or @role='pycode'">
+            <xsl:value-of select="." />
+        </xsl:when>
+
+        <xsl:when test="@role='logocode'">
+            <xsl:call-template name="insertlogocode" />
+        </xsl:when>
+
+        <xsl:otherwise>
+            <xsl:call-template name="insertpara" />
+        </xsl:otherwise>
+
+    </xsl:choose>
+</xsl:template>
+
+<xsl:template match="paragraph" mode="embedded">
+    <xsl:choose>
+        <xsl:when test="@role='heading'">      <!-- increase the level of 
headings that are embedded -->
+            <xsl:variable name="newlevel">
+                <xsl:choose>
+                    <xsl:when test="@level='1'"><xsl:value-of 
select="'2'"/></xsl:when>
+                    <xsl:otherwise><xsl:value-of 
select="@level"/></xsl:otherwise>
+                </xsl:choose>
+            </xsl:variable>
+
+            <xsl:call-template name="insertheading">
+                <xsl:with-param name="level" select="$newlevel"/>
+                <xsl:with-param name="embedded" select="'yes'"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains(' note warning tip ',@role)">
+            <xsl:call-template name="insertnote">
+                <xsl:with-param name="type" select="@role" />
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when 
test="contains(descendant::embedvar/@href,'/00/00000004.xhp#wie')"> <!-- 
special treatment of howtoget links -->
+            <xsl:apply-templates />
+        </xsl:when>
+
+        <xsl:otherwise>
+            <xsl:call-template name="insertpara" />
+        </xsl:otherwise>
+
+    </xsl:choose>
+</xsl:template>
+
+<!-- SECTION -->
+<xsl:template match="section">
+    <a name="{@id}"></a>
+    <xsl:choose>
+        <xsl:when test="@id='relatedtopics'">
+            <div class="relatedtopics">
+                <!--<xsl:variable name="href"><xsl:value-of 
select="concat($urlpre,'text/shared/00/00000004.xhp',$urlpost)"/></xsl:variable>-->
+                <xsl:variable name="href"><xsl:value-of 
select="concat($urlpre,'text/shared/00/00000004.xhp')"/></xsl:variable>
+                <xsl:variable name="anchor"><xsl:value-of 
select="'related'"/></xsl:variable>
+                <xsl:variable name="doc" select="document($href)"/>
+                <p class="related" itemprop="mentions">
+                    <xsl:apply-templates select="$doc//variable[@id=$anchor]"/>
+                </p>
+                <div class="relatedbody" itemprop="mentions">
+                    <xsl:apply-templates />
+                </div>
+            </div>
+        </xsl:when>
+        <xsl:when test="@id='howtoget'">
+            <xsl:call-template name="insert_howtoget" />
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:apply-templates/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- SECTION -->
+<xsl:template match="section" mode="embedded">
+    <a name="{@id}"></a>
+    <xsl:apply-templates mode="embedded"/>
+</xsl:template>
+
+<!-- SORT -->
+<xsl:template match="sort" >
+    <xsl:variable name="order1">
+        <xsl:choose>
+            <xsl:when test="string-length(@order) = 0"><xsl:value-of  
select="'ascending'"/></xsl:when>
+            <xsl:otherwise><xsl:value-of 
select="concat(@order,'ending')"/></xsl:otherwise>
+        </xsl:choose>
+    </xsl:variable>
+    <xsl:apply-templates><xsl:sort order="{$order1}" 
select="descendant::paragraph"/></xsl:apply-templates>
+</xsl:template>
+<xsl:template match="sort" mode="embedded">
+    <xsl:variable name="order1">
+        <xsl:choose>
+            <xsl:when test="string-length(@order) = 0"><xsl:value-of  
select="'ascending'"/></xsl:when>
+            <xsl:otherwise><xsl:value-of 
select="concat(@order,'ending')"/></xsl:otherwise>
+        </xsl:choose>
+    </xsl:variable>
+    <xsl:apply-templates><xsl:sort order="{$order1}" 
select="descendant::paragraph"/></xsl:apply-templates>
+</xsl:template>
+
+<!-- SWITCH -->
+<xsl:template match="switch">
+    <xsl:variable name="idsw" select="concat('swln',generate-id())"/>
+    <span id="{$idsw}" class="switch">
+        <xsl:choose>
+            <xsl:when test ="@select = 'sys'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setSystemSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:when test ="@select = 'appl'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setApplSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:apply-templates />
+            </xsl:otherwise>
+        </xsl:choose>
+    </span>
+</xsl:template>
+<xsl:template match="switch" mode="embedded">
+    <xsl:variable name="idsw" select="concat('swln',generate-id())"/>
+    <span id="{$idsw}" class="switch">
+        <xsl:choose>
+            <xsl:when test ="@select = 'sys'">
+                <xsl:apply-templates mode="embedded"/>
+                <script type="text/javascript">
+                    <![CDATA[setSystemSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:when test ="@select = 'appl'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setApplSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:apply-templates />
+            </xsl:otherwise>
+        </xsl:choose>
+    </span>
+</xsl:template>
+
+<!-- SWITCHINLINE -->
+<xsl:template match="switchinline">
+    <xsl:variable name="idsw" select="concat('swln',generate-id())"/>
+    <span id="{$idsw}" class="switchinline">
+        <xsl:choose>
+            <xsl:when test ="@select = 'sys'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setSystemSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:when test ="@select = 'appl'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setApplSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:otherwise>
+               <xsl:apply-templates />
+            </xsl:otherwise>
+        </xsl:choose>
+    </span>
+</xsl:template>
+<xsl:template match="switchinline" mode="embedded">
+    <xsl:variable name="idsw" select="concat('swln',generate-id())"/>
+    <span id="{$idsw}" class="switchinline">
+        <xsl:choose>
+            <xsl:when test ="@select = 'sys'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setSystemSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:when test ="@select = 'appl'">
+                <xsl:apply-templates />
+                <script type="text/javascript">
+                    <![CDATA[setApplSpan("]]><xsl:value-of 
select="$idsw"/><![CDATA[");]]>
+                </script>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:apply-templates />
+            </xsl:otherwise>
+        </xsl:choose>
+    </span>
+</xsl:template>
+
+<!-- TABLE -->
+<xsl:template match="table"><xsl:call-template 
name="inserttable"/></xsl:template>
+<xsl:template match="table" mode="embedded"><xsl:call-template 
name="inserttable"/></xsl:template>
+
+<!-- TABLECELL -->
+<xsl:template match="tablecell">
+    <xsl:choose>
+        <xsl:when test="paragraph[@role='tablehead']">
+            <td rowspan="{@rowspan}" colspan="{@colspan}" 
class='tableheadcell'><xsl:apply-templates /></td>
+        </xsl:when>
+        <xsl:otherwise>
+            <td rowspan="{@rowspan}" colspan="{@colspan}"><xsl:apply-templates 
/></td>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+<xsl:template match="tablecell" 
mode="onecell"><xsl:apply-templates/></xsl:template>
+<xsl:template match="tablecell" mode="icontable"><div 
class="iconcell"><xsl:apply-templates/></div></xsl:template>
+<xsl:template match="tablecell" mode="embedded">
+    <xsl:choose>
+        <xsl:when test="paragraph[@role='tablehead']">
+            <td rowspan="{@rowspan}" colspan="{@colspan}" 
class='tableheadcell'><xsl:apply-templates mode="embedded"/></td>
+        </xsl:when>
+        <xsl:otherwise>
+            <td rowspan="{@rowspan}" colspan="{@colspan}"><xsl:apply-templates 
mode="embedded"/></td>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- TABLEROW -->
+<xsl:template match="tablerow"><tr><xsl:apply-templates /></tr></xsl:template>
+<xsl:template match="tablerow" mode="onecell"><xsl:apply-templates 
mode="onecell"/></xsl:template>
+<xsl:template match="tablerow" mode="icontable"><div 
class="icontable"><xsl:apply-templates mode="icontable"/></div></xsl:template>
+<xsl:template match="tablerow" mode="embedded"><tr><xsl:apply-templates 
mode="embedded"/></tr></xsl:template>
+
+<!-- TITLE -->
+<xsl:template match="title"/>
+
+<!-- TOPIC -->
+<xsl:template match="topic"/>
+
+<!-- VARIABLE -->
+<xsl:template match="variable"><a name="{@id}"></a><xsl:apply-templates 
/></xsl:template>
+<xsl:template match="variable" mode="embedded"><a 
name="{@id}"></a><xsl:apply-templates mode="embedded"/></xsl:template>
+
+<xsl:template match="text()">
+    <xsl:call-template name="brand">
+        <xsl:with-param name="string"><xsl:value-of 
select="."/></xsl:with-param>
+    </xsl:call-template>
+</xsl:template>
+
+<xsl:template match="text()" mode="embedded">
+    <xsl:call-template name="brand">
+        <xsl:with-param name="string"><xsl:value-of 
select="."/></xsl:with-param>
+    </xsl:call-template>
+</xsl:template>
+
+<!-- XHP extensions (2018) -->
+<!-- H1-H6 -->
+<xsl:template match="h1 | h2 | h3 | h4 | h5 | h6">
+    <xsl:element name="{local-name()}">
+        <xsl:attribute name="id"><xsl:value-of 
select="@id"/></xsl:attribute><xsl:apply-templates />
+    </xsl:element>
+</xsl:template>
+<xsl:template match="h1 | h2 | h3 | h4 | h5 | h6" mode="embedded">
+    <xsl:element name="{concat('h',substring-after(local-name(),'h') + 1)}">
+        <xsl:attribute name="id"><xsl:value-of 
select="@id"/></xsl:attribute><xsl:apply-templates mode="embedded"/>
+    </xsl:element>
+</xsl:template>
+
+<!-- INPUT -->
+<xsl:template match="input">
+    <span class="input" data-tooltip="{$ui_copyclip}"><xsl:apply-templates 
/></span>
+</xsl:template>
+<xsl:template match="input" mode="embedded">
+    <span class="input" data-tooltip="{$ui_copyclip}"><xsl:apply-templates 
mode="embedded"/></span>
+</xsl:template>
+
+<!--MENUITEM, KEYCODE, LITERAL, WIDGET-->
+<xsl:template match="menuitem | keycode | literal | widget">
+    <span class="{local-name()}"><xsl:apply-templates /></span>
+</xsl:template>
+<xsl:template match="menuitem | input | keycode | literal" mode="embedded">
+    <span class="{local-name()}"><xsl:apply-templates mode="embedded"/></span>
+</xsl:template>
+
+<!--NOTE TIP AND WARNING-->
+<xsl:template match="tip | note | warning">
+    <xsl:variable name="imgsrc">
+        <xsl:choose>
+            <xsl:when test="local-name()='note'"><xsl:value-of 
select="$note_img"/></xsl:when>
+            <xsl:when test="local-name()='tip'"><xsl:value-of 
select="$tip_img"/></xsl:when>
+            <xsl:when test="local-name()='warning'"><xsl:value-of 
select="$warning_img"/></xsl:when>
+        </xsl:choose>
+    </xsl:variable>
+    <div class="{local-name()}">
+        <div class="noteicon"><img src="{$imgsrc}" alt="{local-name()}" 
title="{local-name()}"/></div>
+        <div class="notetext"><p id="{@id}"><xsl:apply-templates /></p></div>
+    </div>
+    <br/>
+</xsl:template>
+<xsl:template match="tip | note | warning" mode="embedded">
+    <xsl:variable name="imgsrc">
+        <xsl:choose>
+            <xsl:when test="local-name()='note'"><xsl:value-of 
select="$note_img"/></xsl:when>
+            <xsl:when test="local-name()='tip'"><xsl:value-of 
select="$tip_img"/></xsl:when>
+            <xsl:when test="local-name()='warning'"><xsl:value-of 
select="$warning_img"/></xsl:when>
+        </xsl:choose>
+    </xsl:variable>
+    <div class="{local-name()}">
+        <div class="noteicon"><img src="{$imgsrc}" alt="{local-name()}" 
title="{local-name()}"/></div>
+        <div class="notetext"><p id="{@id}"><xsl:apply-templates 
mode="embedded"/></p></div>
+    </div>
+    <br/>
+</xsl:template>
+
+<!-- In case of missing help files -->
+<xsl:template match="help-id-missing"><xsl:value-of 
select="$Id"/></xsl:template>
+
+<!--
+###################
+# NAMED TEMPLATES #
+###################
+//-->
+
+<!-- Branding -->
+<xsl:template name="brand" >
+    <xsl:param name="string"/>
+
+    <xsl:choose>
+
+        <xsl:when test="contains($string,$brand1)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand1)"/>
+                <xsl:value-of select="$productname"/>
+                <xsl:value-of select="substring-after($string,$brand1)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains($string,$brand2)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand2)"/>
+                <xsl:value-of select="$pversion"/>
+                <xsl:value-of select="substring-after($string,$brand2)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains($string,$brand3)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand3)"/>
+                <xsl:value-of select="$productname"/>
+                <xsl:value-of select="substring-after($string,$brand3)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:when test="contains($string,$brand4)">
+            <xsl:variable name="newstr">
+                <xsl:value-of select="substring-before($string,$brand4)"/>
+                <xsl:value-of select="$pversion"/>
+                <xsl:value-of select="substring-after($string,$brand4)"/>
+            </xsl:variable>
+            <xsl:call-template name="brand">
+                <xsl:with-param name="string" select="$newstr"/>
+            </xsl:call-template>
+        </xsl:when>
+
+        <xsl:otherwise>
+            <xsl:value-of select="$string"/>
+        </xsl:otherwise>
+    </xsl:choose>
+
+</xsl:template>
+
+<!-- Insert Paragraph -->
+<xsl:template name="insertpara">
+    <xsl:variable name="role">
+        <xsl:choose>
+            <xsl:when test="ancestor::table">
+                <xsl:value-of select="concat(@role,'intable')"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="@role"/>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:variable>
+    <p id="{@id}" class="{$role}"><xsl:apply-templates /></p>
+</xsl:template>
+
+<xsl:template match="bascode">
+    <div class="bascode" itemscope="true" 
itemtype="http://schema.org/SoftwareSourceCode"; itemprop="codeSampleType" 
content="snippet"><pre><code class="language-visual-basic 
line-numbers"><xsl:apply-templates /></code></pre></div>
+</xsl:template>
+<xsl:template match="bascode" mode="embedded">
+    <div class="bascode" itemscope="true" 
itemtype="http://schema.org/SoftwareSourceCode"; itemprop="codeSampleType" 
content="snippet"><pre><code class="language-visual-basic 
line-numbers"><xsl:apply-templates mode="embedded" /></code></pre></div>
+</xsl:template>
+
+<xsl:template match="pycode">
+    <div class="pycode" itemscope="true" 
itemtype="http://schema.org/SoftwareSourceCode"; itemprop="codeSampleType" 
content="snippet"><pre><code class="language-python 
line-numbers"><xsl:apply-templates /></code></pre></div>
+</xsl:template>
+<xsl:template match="pycode" mode="embedded">
+    <div class="pycode" itemscope="true" 
itemtype="http://schema.org/SoftwareSourceCode"; itemprop="codeSampleType" 
content="snippet"><pre><code class="language-python 
line-numbers"><xsl:apply-templates mode="embedded" /></code></pre></div>
+</xsl:template>
+
+<!-- Insert Logo code snippet  -->
+<xsl:template name="insertlogocode">
+    <pre><xsl:apply-templates /></pre>
+</xsl:template>
+
+<!-- Insert "How to get Link" -->
+<xsl:template name="insert_howtoget">
+    <xsl:param name="linkhref" />
+    <xsl:variable name="archive" select="'shared'"/>
+    <xsl:variable name="tmp_href"><xsl:value-of 
select="concat($urlpre,'text/shared/00/00000004.xhp')"/></xsl:variable>
+    <xsl:variable name="tmp_doc" select="document($tmp_href)"/>
+    <div class="howtoget">
+        <div>
+            <p class="howtogetheader"><xsl:apply-templates 
select="$tmp_doc//variable[@id='wie']"/></p>
+        </div>
+        <div class="howtogetbody">
+            <xsl:choose>
+                <xsl:when test="$linkhref = ''"> <!-- new style -->
+                    <xsl:apply-templates/>
+                </xsl:when>
+                <xsl:otherwise> <!-- old style -->
+                    <xsl:variable name="href"><xsl:value-of 
select="concat($urlpre,substring-before($linkhref,'#'))"/></xsl:variable>
+                    <xsl:variable name="anc"><xsl:value-of 
select="substring-after($linkhref,'#')"/></xsl:variable>
+                    <xsl:variable name="docum" select="document($href)"/>
+                    <xsl:call-template name="insertembed">
+                        <xsl:with-param name="doc" select="$docum" />
+                        <xsl:with-param name="anchor" select="$anc" />
+                    </xsl:call-template>
+                </xsl:otherwise>
+            </xsl:choose>
+        </div>
+    </div>
+    <br/>
+</xsl:template>
+
+<!-- Create a link -->
+<xsl:template name="createlink">
+    <xsl:choose>
+        <xsl:when test="starts-with(@href,'http://') or 
starts-with(@href,'https://')">  <!-- web links -->
+            <a target ="_blank" href="{@href}"><xsl:apply-templates /></a>
+        </xsl:when>
+        <xsl:when test="contains(@href,'#')"> <!-- internal links with 
bookmark -->
+            <xsl:variable name="anchor"><xsl:value-of 
select="concat('#',substring-after(@href,'#'))"/></xsl:variable>
+            <xsl:variable name="href"><xsl:value-of 
select="concat($linkprefix,substring-before(@href, 
'xhp'),'html',$anchor,$linkpostfix)"/></xsl:variable>
+            <a target ="_top" href="{$href}"><xsl:apply-templates /></a>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:variable name="href"><xsl:value-of 
select="concat($linkprefix,substring-before(@href, 
'xhp'),'html',$linkpostfix)"/></xsl:variable>
+            <a target ="_top" href="{$href}"><xsl:apply-templates /></a>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- Insert Note, Warning, or Tip -->
+<xsl:template name="insertnote">
+    <xsl:param name="type" /> <!-- note, tip, or warning -->
+    <xsl:variable name="imgsrc">
+        <xsl:choose>
+            <xsl:when test="$type='note'"><xsl:value-of 
select="$note_img"/></xsl:when>
+            <xsl:when test="$type='tip'"><xsl:value-of 
select="$tip_img"/></xsl:when>
+            <xsl:when test="$type='warning'"><xsl:value-of 
select="$warning_img"/></xsl:when>
+        </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="alt">
+        <xsl:variable name="href"><xsl:value-of 
select="$alttext"/></xsl:variable>
+        <xsl:variable name="anchor"><xsl:value-of 
select="concat('alt_',$type)"/></xsl:variable>
+        <xsl:variable name="doc" select="document($href)"/>
+        <xsl:apply-templates select="$doc//variable[@id=$anchor]" 
mode="embedded"/>
+    </xsl:variable>
+    <div class="{$type}">
+        <div class="noteicon"><img src="{$imgsrc}" alt="{$alt}" 
title="{$alt}"/></div>
+        <div class="notetext"><p><xsl:apply-templates /></p></div>
+    </div>
+    <br/>
+</xsl:template>
+
+<!-- Insert a heading -->
+<xsl:template name="insertheading">
+        <xsl:param name="level" />
+        <xsl:param name="embedded" />
+        <xsl:element name="{concat('h',$level)}">
+                <xsl:if test="$level = '1' or $level='2'">
+                        <xsl:attribute 
name="itemprop"><xsl:text>articleSection</xsl:text></xsl:attribute>
+                </xsl:if>
+                <xsl:attribute name="id"><xsl:value-of 
select="@id"/></xsl:attribute>
+                <xsl:choose>
+                    <xsl:when test="$embedded = 'yes'">
+                        <xsl:apply-templates mode="embedded"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:apply-templates />
+                    </xsl:otherwise>
+                </xsl:choose>
+        </xsl:element>
+</xsl:template>
+
+<!-- Evaluate a case or caseinline switch -->
+<xsl:template name="insertcase">
+    <xsl:param name="embedded" />
+    <xsl:variable name="auxID" select="concat(@select,generate-id())"/>
+    <xsl:choose>
+        <xsl:when test="$embedded = 'yes'">
+            <span hidden="true" id="{$auxID}"><xsl:apply-templates 
mode="embedded"/></span>
+        </xsl:when>
+        <xsl:otherwise>
+            <span hidden="true" id="{$auxID}"><xsl:apply-templates/></span>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- Evaluate a default or defaultinline switch -->
+<xsl:template name="insertdefault">
+    <xsl:param name="embedded" />
+    <xsl:choose>
+        <xsl:when test="parent::switch[@select='sys'] or 
parent::switchinline[@select='sys']">
+            <xsl:variable name="auxID" 
select="concat('default',generate-id())"/>
+            <xsl:choose>
+                <xsl:when test="$embedded = 'yes'">
+                    <span hidden="true" id="{$auxID}"><xsl:apply-templates 
mode="embedded"/></span>
+                </xsl:when>
+                <xsl:otherwise>
+                    <span hidden="true" id="{$auxID}"><xsl:apply-templates 
/></span>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:when>
+        <xsl:when test="parent::switch[@select='appl'] or 
parent::switchinline[@select='appl']">
+            <xsl:variable name="auxID" 
select="concat('default',generate-id())"/>
+            <xsl:choose>
+                <xsl:when test="$embedded = 'yes'">
+                    <span hidden="true" id="{$auxID}"><xsl:apply-templates 
mode="embedded"/></span>
+                </xsl:when>
+                <xsl:otherwise>
+                    <span hidden="true" id="{$auxID}"><xsl:apply-templates 
/></span>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:when>
+        <xsl:when test="parent::switch[@select='distrib'] or 
parent::switchinline[@select='distrib']"><!--TODO: fix this distrib case if 
relevant-->
+            <xsl:if test="not(../child::case[@select=$distrib]) and 
not(../child::caseinline[@select=$distrib])">
+                <xsl:choose>
+                    <xsl:when test="$embedded = 'yes'">
+                        <span hidden="true" itemprop="distrib" 
value="DEFDIST"><xsl:apply-templates mode="embedded"/></span>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <span hidden="true" itemprop="distrib" 
value="DEFDIST"><xsl:apply-templates /></span>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:if>
+        </xsl:when>
+    </xsl:choose>
+</xsl:template>
+
+<!-- evaluate embeds -->
+<xsl:template name="insertembed">
+    <xsl:param name="doc" />
+    <xsl:param name="anchor" />
+    <!-- different embed targets (also falsely used embed instead embedvar) -->
+    <xsl:choose>
+        <xsl:when test="$doc//section[@id=$anchor]"> <!-- first test for a 
section of that name -->
+            <xsl:apply-templates select="$doc//section[@id=$anchor]" 
mode="embedded"/>
+        </xsl:when>
+        <xsl:when test="$doc//paragraph[@id=$anchor]"> <!-- then test for a 
para of that name -->
+            <p class="embedded">
+                <xsl:apply-templates select="$doc//paragraph[@id=$anchor]" 
mode="embedded"/>
+            </p>
+        </xsl:when>
+        <xsl:when test="$doc//variable[@id=$anchor]"> <!-- then test for a 
variable of that name -->
+            <p class="embedded">
+                <xsl:apply-templates select="$doc//variable[@id=$anchor]" 
mode="embedded"/>
+            </p>
+        </xsl:when>
+        <xsl:otherwise> <!-- then give up -->
+            <p class="bug">D'oh! You found a bug (<xsl:value-of 
select="@href"/> not found).</p>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- Insert an image -->
+<xsl:template name="insertimage">
+    <xsl:variable name="src2">
+        <xsl:choose>
+            <xsl:when test="starts-with(@src,'media/screenshots/')">
+                <xsl:choose>
+                    <xsl:when test="not(@localize=false) and 
not($lang='en-US')">
+                        <xsl:variable name="tmp0" 
select="substring-before(@src, '/ui/')"/>
+                        <xsl:variable name="tmp1" 
select="substring-after(@src, '/ui/')"/>
+                        <xsl:variable name="tmp2" 
select="substring-before($tmp1,'/')"/>
+                        <xsl:variable name="tmp3" 
select="substring-after($tmp1,'/')"/>
+                        <xsl:value-of select="concat($target,$tmp0,'/ui/', 
$tmp2, '/',$lang,'/',$tmp3)"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:value-of select="concat($target,@src)"/>
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:when>
+            <!-- generic media file -->
+            <xsl:when test="starts-with(@src,'media/')">
+                <xsl:value-of select="concat($target,@src)"/>
+            </xsl:when>
+            <!-- handle icons -->
+            <xsl:when test="not(starts-with(@src,'media/'))">
+                <xsl:variable name="linklist">
+                    <xsl:call-template name="linktxt"><xsl:with-param 
name="src1" select="@src"/></xsl:call-template>
+                </xsl:variable>
+                <xsl:variable name="aux00">
+                    <xsl:choose>
+                        <xsl:when 
test="substring($linklist,string-length($linklist) - 3, 4)='.png'">
+                            <xsl:value-of 
select="concat(substring-before($linklist,'.png'),'.svg')"/>
+                        </xsl:when>
+                        <xsl:otherwise>
+                            <xsl:value-of select="$linklist"/>
+                        </xsl:otherwise>
+                    </xsl:choose>
+                </xsl:variable>
+                <xsl:value-of 
select="concat($target,'media/icon-themes/',$aux00)"/>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:value-of select="concat($target,@src)"/>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="alt"><xsl:value-of select="./alt"/></xsl:variable>
+    <xsl:variable name="width">
+        <xsl:if test="string-length(@width)!=0">
+            <xsl:call-template name="convert2px"><xsl:with-param name="value" 
select="@width"/></xsl:call-template>
+        </xsl:if>
+    </xsl:variable>
+    <xsl:variable name="height">
+        <xsl:if test="string-length(@height)!=0">
+            <xsl:call-template name="convert2px"><xsl:with-param name="value" 
select="@height"/></xsl:call-template>
+        </xsl:if>
+    </xsl:variable>
+    <img src="{$src2}" alt="{$alt}" title="{$alt}" height="{$height}" 
width="{$width}">
+        <xsl:if test="ancestor::tablecell">
+            <xsl:attribute name="class"><xsl:value-of 
select="'imageicon'"/></xsl:attribute>
+        </xsl:if>
+    </img>
+</xsl:template>
+
+<!-- Insert an object -->
+<xsl:template name="insertobject">
+    <xsl:variable name="tmp_href"><xsl:value-of 
select="concat($urlpre,'text/shared/00/00000004.xhp')"/></xsl:variable>
+    <xsl:variable name="tmp_doc" select="document($tmp_href)"/>
+    <xsl:variable name="data">
+        <xsl:value-of select="concat($img_url_prefix,@data)"/>
+    </xsl:variable>
+    <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
+    <xsl:variable name="width">
+        <xsl:call-template name="convert2px"><xsl:with-param name="value" 
select="@width"/></xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="height">
+        <xsl:call-template name="convert2px"><xsl:with-param name="value" 
select="@height"/></xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="auxID" select="concat('obj',generate-id())"/>
+    <xsl:choose>
+        <xsl:when test="starts-with(@type,'video/youtube')">
+                <div id="mediadiv">
+                    <iframe id="{@id}" src="{@data}" width="{$width}" 
height="{$height}" frameborder="0" allowfullscreen="true"></iframe>
+                </div>
+        </xsl:when>
+        <xsl:when test="not(starts-with(@type,'video/youtube')) and 
starts-with(@type,'video')">
+            <div id="mediadiv">
+                <video src="{$data}" type="{@type}" width="{$width}" 
height="{$height}" controls="'1'"></video>
+            </div>
+        </xsl:when>
+        <xsl:when test="starts-with(@type,'audio')">
+            <div id="mediadiv">
+                <audio src="{$data}" type="{@type}" controls="'1'"></audio>
+            </div>
+        </xsl:when>
+        <xsl:when 
test="@type='application/vnd.oasis.opendocument.spreadsheet'">
+            <xsl:variable name="src">
+                <xsl:call-template name="addlang2path">
+                    <xsl:with-param name="string" select="@data"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <div class="samplefilesection" id="{$auxID}">
+            <h3><xsl:apply-templates 
select="$tmp_doc//variable[@id='samplefile']"/></h3>
+            <a class="objectfiles" href="{concat($target,$src)}"><img 
src="{concat($target,'media/navigation/libo-calc.svg')}" width="25px" 
height="30px"></img></a>
+            </div>
+        </xsl:when>
+        <xsl:when test="@type='application/vnd.oasis.opendocument.text'">
+            <xsl:variable name="src">
+                <xsl:call-template name="addlang2path">
+                    <xsl:with-param name="string" select="@data"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <div class="samplefilesection" id="{$auxID}">
+            <h3><xsl:apply-templates 
select="$tmp_doc//variable[@id='samplefile']"/></h3>
+            <a class="objectfiles" href="{concat($target,$src)}"><img 
src="{concat($target,'media/navigation/libo-writer.svg')}" width="25px" 
height="30px"></img></a>
+            </div>
+        </xsl:when>
+        <xsl:when 
test="@type='application/vnd.oasis.opendocument.presentation'">
+            <xsl:variable name="src">
+                <xsl:call-template name="addlang2path">
+                    <xsl:with-param name="string" select="@data"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <div class="samplefilesection" id="{$auxID}">
+            <h3><xsl:apply-templates 
select="$tmp_doc//variable[@id='samplefile']"/></h3>
+            <a class="objectfiles" href="{concat($target,$src)}"><img 
src="{concat($target,'media/navigation/libo-impress.svg')}" width="25px" 
height="30px"></img></a>
+            </div>
+            </xsl:when>
+        <xsl:when test="@type='application/vnd.oasis.opendocument.drawing'">
+            <xsl:variable name="src">
+                <xsl:call-template name="addlang2path">
+                    <xsl:with-param name="string" select="@data"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <div class="samplefilesection" id="{$auxID}">
+            <h3><xsl:apply-templates 
select="$tmp_doc//variable[@id='samplefile']"/></h3>
+            <a class="objectfiles" href="{concat($target,$src)}"><img 
src="{concat($target,'media/navigation/libo-draw.svg')}" width="25px" 
height="30px"></img></a>
+            </div>
+        </xsl:when>
+        <xsl:when test="@type='application/vnd.oasis.opendocument.formula'">
+            <xsl:variable name="src">
+                <xsl:call-template name="addlang2path">
+                    <xsl:with-param name="string" select="@data"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <div class="samplefilesection" id="{$auxID}">
+            <h3><xsl:apply-templates 
select="$tmp_doc//variable[@id='samplefile']"/></h3>
+            <a class="objectfiles" href="{concat($target,$src)}"><img 
src="{concat($target,'media/navigation/libo-math.svg')}" width="25px" 
height="30px"></img></a>
+            </div>
+        </xsl:when>
+        <xsl:when test="@type='application/vnd.oasis.opendocument.database'">
+            <xsl:variable name="src">
+                <xsl:call-template name="addlang2path">
+                    <xsl:with-param name="string" select="@data"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <div class="samplefilesection" id="{$auxID}">
+            <h3><xsl:apply-templates 
select="$tmp_doc//variable[@id='samplefile']"/></h3>
+            <a class="objectfiles" href="{concat($target,$src)}"><img 
src="{concat($target,'media/navigation/libo-base.svg')}" width="25px" 
height="30px"></img></a>
+            </div>
+        </xsl:when>
+        <xsl:otherwise>
+            <object width="{$width}" height="{$height}" data="{$data}" 
type="{@type}"></object>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- changing measure to pixel -->
+<xsl:template name="convert2px">
+    <xsl:param name="value"/>
+    <xsl:choose>
+        <xsl:when test="contains($value, 'cm')">
+            <xsl:value-of select="concat(round(number(substring-before($value, 
'cm')) * $dpcm),'px')"/>
+        </xsl:when>
+        <xsl:when test="contains($value, 'mm')">
+            <xsl:value-of select="concat(round(number(substring-before($value, 
'mm')) * $dpmm),'px')"/>
+        </xsl:when>
+        <xsl:when test="contains($value, 'in')">
+            <xsl:value-of select="concat(round(number(substring-before($value, 
'in')) * $dpi),'px')"/>
+        </xsl:when>
+        <xsl:when test="contains($value, 'px')">
+            <xsl:value-of select="$value"/>
+        </xsl:when>
+        <xsl:otherwise>
+<!--                      <xsl:message>measure_conversion.xsl: Find no 
conversion for <xsl:value-of select="$value"/> to 'px'!</xsl:message> -->
+            <xsl:value-of select="concat($value, 'px;')"/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<!-- Insert a Table -->
+<xsl:template name="inserttable">
+    <xsl:variable name="imgsrc">       <!-- see if we are in an image table -->
+        <xsl:value-of select="tablerow/tablecell[1]/paragraph[1]/image/@src"/>
+    </xsl:variable>
+
+    <xsl:choose>
+        <xsl:when test="count(descendant::tablecell)=1">
+            <div class="onecell"><xsl:apply-templates mode="onecell"/></div>
+        </xsl:when>
+
+        <xsl:when test="descendant::tablecell[1]/descendant::image">
+            <xsl:apply-templates mode="icontable"/>
+        </xsl:when>
+
+        <xsl:when test="@class='wide'">
+            <table border="1" class="{@class}" cellpadding="0" cellspacing="0" 
width="100%" >
+                <xsl:apply-templates />
+            </table>
+            <br/>
+        </xsl:when>
+
+        <xsl:when test="not(@class='')">
+            <table border="1" class="{@class}" cellpadding="0" cellspacing="0" 
>
+                <xsl:apply-templates />
+            </table>
+            <br/>
+        </xsl:when>
+
+        <xsl:otherwise>
+            <table border="1" class="border" cellpadding="0" cellspacing="0" >
+                <xsl:apply-templates />
+            </table>
+            <br/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<xsl:template name="resolveembed">
+    <div class="embedded">
+        <xsl:variable name="href"><xsl:value-of 
select="concat($urlpre,substring-before(@href,'#'))"/></xsl:variable>
+        <xsl:variable name="anc"><xsl:value-of 
select="substring-after(@href,'#')"/></xsl:variable>
+        <xsl:variable name="docum" select="document($href)"/>
+        <xsl:call-template name="insertembed">
+            <xsl:with-param name="doc" select="$docum" />
+            <xsl:with-param name="anchor" select="$anc" />
+        </xsl:call-template>
+    </div>
+</xsl:template>
+
+<xsl:template name="resolveembedvar">
+    <xsl:if test="not(@href='text/shared/00/00000004.xhp#wie')"> <!-- special 
treatment if howtoget links -->
+        <xsl:variable name="archive"><xsl:value-of 
select="concat(substring-before(substring-after(@href,'text/'),'/'),'/')"/></xsl:variable>
+        <xsl:variable name="href"><xsl:value-of 
select="concat($urlpre,substring-before(@href,'#'))"/></xsl:variable>
+        <xsl:variable name="anchor"><xsl:value-of 
select="substring-after(@href,'#')"/></xsl:variable>
+        <xsl:variable name="doc" select="document($href)"/>
+        <xsl:choose>
+            <xsl:when test="$doc//variable[@id=$anchor]"> <!-- test for a 
variable of that name -->
+                <xsl:apply-templates select="$doc//variable[@id=$anchor]" 
mode="embedded"/>
+            </xsl:when>
+            <xsl:otherwise> <!-- or give up -->
+                <span class="bug">[<xsl:value-of select="@href"/> not 
found].</span>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:if>
+</xsl:template>
+
+<!-- Apply -->
+<xsl:template name="apply">
+    <xsl:param name="embedded" />
+    <xsl:choose>
+        <xsl:when test="$embedded = 'yes'">
+            <xsl:apply-templates mode="embedded"/>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:apply-templates />
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<xsl:template name="filehtml">
+   <xsl:param name="file"/>
+   <xsl:value-of select="concat(substring-before($file,'.xhp'),'.html')"/>
+</xsl:template>
+
+<!-- recursive named template -->
+<xsl:template name="tokenize">
+    <xsl:param name="str" />
+    <xsl:param name="result" select="''" />
+    <xsl:choose>
+        <xsl:when test="substring-after($str,'/')">
+            <xsl:call-template name="tokenize">
+                <xsl:with-param name="str" select="substring-after($str,'/')" 
/>
+                <xsl:with-param name="result" select="concat($result,'../')" />
+            </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:choose>
+                <xsl:when test="$online"><xsl:value-of 
select="concat('../',$result)" /></xsl:when>
+                <xsl:otherwise><xsl:value-of select="$result" 
/></xsl:otherwise>
+            </xsl:choose>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+<!--Add language to path for file -->
+<xsl:template name="addlang2path">
+    <xsl:param name="string"/>
+    <xsl:choose>
+        <xsl:when test="not($lang='en-US')">
+            <xsl:variable name="tmpfn">
+                <xsl:call-template name="substring-after-last">
+                    <xsl:with-param name="string" select="$string"/>
+                    <xsl:with-param name="char" select="'/'"/>
+                </xsl:call-template>
+            </xsl:variable>
+            <xsl:value-of select="concat(substring-before($string, 
$tmpfn),$lang,'/',$tmpfn)"/>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:value-of select="$string"/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
+<xsl:template name="substring-after-last">
+    <xsl:param name="string"/>
+    <xsl:param name="char"/>
+    <xsl:choose>
+        <xsl:when test="contains($string, $char)">
+            <xsl:call-template name="substring-after-last">
+                <xsl:with-param name="string" select="substring-after($string, 
$char)"/>
+                <xsl:with-param name="char" select="$char"/>
+            </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+            <xsl:value-of select="$string"/>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/help3/html/index.html b/help3/html/index.html
index a5564d0..b762ac5 100644
--- a/help3/html/index.html
+++ b/help3/html/index.html
@@ -14,6 +14,7 @@
     <link rel="stylesheet" href="xhpeditor.css">
     <link rel="stylesheet" href="lib/codemirror.css">
     <link rel="stylesheet" href="addon/hint/show-hint.css">
+    <script type="text/javascript" src="xhp2html.js"></script>
     <script type="text/javascript" src="lib/codemirror.js"></script>
     <script type="text/javascript" src="addon/hint/show-hint.js"></script>
     <script type="text/javascript" src="addon/hint/xml-hint.js"></script>
@@ -33,6 +34,7 @@
         <button onclick="editor.undo()">Undo</button>
         <button onclick="editor.redo()">Redo</button>
         <button onclick="alert('Not yet implemented...')">Save changes</button>
+        <button onclick="displayResult()">Render page</button>
     </div>
     <div style="margin-top:10px;"><div class="snip_div">Document:</div>
         <button onclick="startNewXHPDoc()" class="snip_buttons">Start new XHP 
document</button>
@@ -93,12 +95,10 @@
         <button onclick="tLink()" class="snip_buttons">Link</button>
     </div>
 </div>
-<!--
 <div class="rightside">
-    will put the xml transformed here
     <h2>Rendered page</h2> 
+    <div id="renderedpage"></div>
 </div>
--->
 </body>
 <script type="text/javascript" src="autocomplete.js"></script>
 <script type="text/javascript" src="snippets.js"></script>
diff --git a/help3/html/index.php b/help3/html/index.php
new file mode 100644
index 0000000..a34c3b0
--- /dev/null
+++ b/help3/html/index.php
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<!--
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+
+<html>
+<meta charset="utf-8"/>
+<head>
+    <title>LibreOffice Documentation XHP Editor</title>
+    <link rel="stylesheet" href="xhpeditor.css">
+    <link rel="stylesheet" href="lib/codemirror.css">
+    <link rel="stylesheet" href="addon/hint/show-hint.css">
+
+    <script type="text/javascript" src="lib/codemirror.js"></script>
+    <script type="text/javascript" src="addon/hint/show-hint.js"></script>
+    <script type="text/javascript" src="addon/hint/xml-hint.js"></script>
+    <script type="text/javascript" src="mode/xml/xml.js"></script>
+    <script type="text/javascript" src="xhp2html.js"></script>
+</head>
+
+<body style="font-family:sans-serif;">
+<div class="leftside">
+    <h2>LibreOffice Documentation XHP Editor</h2>
+    <form class="form_area">
+        <textarea id="xhpeditor"></textarea>
+    </form>
+    <br />
+    <div><div class="snip_div">Actions:</div>
+        <p>File name: <input type="text" id="01" name="filename" 
value="test.xhp"/><button 
onclick="loadText(document.getElementById('01').value);">Open File</button></p>
+        <p>File name: <input type="text" id="02" name="filename" 
value="test.xhp"/><button onclick="alert('Not yet implemented');">Save 
Changes</button><button onclick="displayResult()">Render page</button></p>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Edit:</div>
+        <button onclick="editor.undo()">Undo</button>
+        <button onclick="editor.redo()">Redo</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Document:</div>
+        <button onclick="startNewXHPDoc()" class="snip_buttons">Start new XHP 
document</button>
+        <button onclick="docHeading()" class="snip_buttons">DocHeading</button>
+        <button onclick="snippet7()" class="snip_buttons">ahelp</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Bookmarks:</div>
+        <button onclick="bookmarkValue()" 
class="snip_buttons">bookmark-value</button>
+        <button onclick="bookmarkBranch()" 
class="snip_buttons">bookmark-hid</button>
+        <button onclick="bookmarkIndex()" 
class="snip_buttons">bookmark-index</button>
+        <button onclick="bookmarkNoWidget()" 
class="snip_buttons">bookmark-nowidget</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Sections:</div>
+        <button onclick="related_topics()" class="snip_buttons">Related 
Topics</button>
+        <button onclick="howtoget()" class="snip_buttons">How to get</button>
+        <button onclick="bascode_div()" class="snip_buttons">bascode 
div</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Tables:</div>
+        <button onclick="table2R3C()" class="snip_buttons">Table Full</button>
+        <button onclick="tableRow()" class="snip_buttons">TableRow</button>
+        <button onclick="tableCell()" class="snip_buttons">Table Cell</button>
+        <button onclick="iconTable()" class="snip_buttons">Icon Table</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Paragraph:</div>
+        <button onclick="paragraph('paragraph')" 
class="snip_buttons">paragraph</button>
+        <button onclick="paragraph('note')" class="snip_buttons">note</button>
+        <button onclick="paragraph('warning')" 
class="snip_buttons">warning</button>
+        <button onclick="paragraph('tip')" class="snip_buttons">tip</button>
+        <button onclick="bascode_par()" 
class="snip_buttons">bascode-par</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Characters:</div>
+        <button onclick="emph()" class="snip_buttons">emph</button>
+        <button onclick="item('menuitem')" class="snip_buttons">item 
menuitem</button>
+        <button onclick="item('input')" class="snip_buttons">item 
input</button>
+        <button onclick="item('literal')" class="snip_buttons">item 
literal</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Headings:</div>
+        <button onclick="heading('1')" class="snip_buttons">H1</button>
+        <button onclick="heading('2')" class="snip_buttons">H2</button>
+        <button onclick="heading('3')" class="snip_buttons">H3</button>
+        <button onclick="heading('4')" class="snip_buttons">H4</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Switches:</div>
+        <button onclick="switchXHP('appl')" class="snip_buttons">Switch 
appl</button>
+        <button onclick="switchXHP('sys')" class="snip_buttons">Switch 
sys</button>
+        <button onclick="switchInline('appl')" 
class="snip_buttons">Switchinline appl</button>
+        <button onclick="switchInline('sys')" 
class="snip_buttons">Switchinline sys</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Lists:</div>
+        <button onclick="tList('unordered')" class="snip_buttons">UL</button>
+        <button onclick="tList('ordered')" class="snip_buttons">OL</button>
+        <button onclick="listItem()" class="snip_buttons">List Item</button>
+    </div>
+    <div style="margin-top:10px;"><div class="snip_div">Links:</div>
+        <button onclick="tVariable()" class="snip_buttons">Variable</button>
+        <button onclick="tEmbed()" class="snip_buttons">Embed</button>
+        <button onclick="tEmbedvar()" class="snip_buttons">Embedvar</button>
+        <button onclick="tLink()" class="snip_buttons">Link</button>
+    </div>
+</div>
+<div class="rightside">
+    <h2>Rendered page</h2> 
+    <div id="renderedpage"></div>
+</div>
+</body>
+<!--<script type="text/javascript" src="xhp2html.js"></script>-->
+<script type="text/javascript" src="autocomplete.js"></script>
+<script type="text/javascript" src="snippets.js"></script>
+</html>
diff --git a/help3/html/links.txt.xsl b/help3/html/links.txt.xsl
new file mode 100644
index 0000000..2117a6d
--- /dev/null
+++ b/help3/html/links.txt.xsl
@@ -0,0 +1,1427 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+<xsl:template name="linktxt">
+<xsl:param name="src1"/>
+<xsl:choose>
+<xsl:when 
test="$src1='avmedia/res/av02048.png'"><xsl:text>cmd/sc_open.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/av02049.png'"><xsl:text>cmd/sc_runbasic.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/av02050.png'"><xsl:text>cmd/sc_mediapause.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/av02051.png'"><xsl:text>cmd/sc_basicstop.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/av02052.png'"><xsl:text>cmd/sc_mediarepeat.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/av02053.png'"><xsl:text>cmd/sc_ok.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/av02054.png'"><xsl:text>cmd/sc_mediamute.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02048.png'"><xsl:text>cmd/lc_open.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02049.png'"><xsl:text>cmd/lc_runbasic.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02050.png'"><xsl:text>cmd/lc_mediapause.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02051.png'"><xsl:text>cmd/lc_basicstop.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02052.png'"><xsl:text>cmd/lc_mediarepeat.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02053.png'"><xsl:text>cmd/lc_ok.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='avmedia/res/avl02054.png'"><xsl:text>cmd/lc_mediamute.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon01.png'"><xsl:text>cmd/sc_insertrowsafter.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon02.png'"><xsl:text>cmd/sc_insertcolumnsafter.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon03.png'"><xsl:text>cmd/sc_deleterows.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon04.png'"><xsl:text>cmd/sc_deletecolumns.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon05.png'"><xsl:text>cmd/sc_insertcellsright.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon06.png'"><xsl:text>cmd/sc_insertcellsdown.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon07.png'"><xsl:text>cmd/sc_insertcolumnsafter.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon08.png'"><xsl:text>cmd/sc_insertcolumns.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/dataeditor_icon09.png'"><xsl:text>cmd/sc_insertrowsbefore.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='chart2/res/selectrange.png'"><xsl:text>formula/res/refinp1.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_adddatefield.png'"><xsl:text>cmd/lc_datefield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_addons.png'"><xsl:text>cmd/lc_insertplugin.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_addprintarea.png'"><xsl:text>cmd/lc_inserttable.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_addtable.png'"><xsl:text>cmd/lc_inserttable.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_adddatefield.png'"><xsl:text>cmd/sc_datefield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_addons.png'"><xsl:text>cmd/sc_insertplugin.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_addprintarea.png'"><xsl:text>cmd/sc_inserttable.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_addtable.png'"><xsl:text>cmd/sc_inserttable.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_showinlinetooltips.png'"><xsl:text>cmd/lc_editannotation.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_showinlinetooltips.png'"><xsl:text>cmd/sc_editannotation.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insobjctrl.png'"><xsl:text>cmd/lc_newdoc.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insert.png'"><xsl:text>cmd/lc_togglesheetgrid.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertavmedia.png'"><xsl:text>cmd/lc_avmediaplayer.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertcurrencyfield.png'"><xsl:text>cmd/lc_formattedfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertdatefield.png'"><xsl:text>cmd/lc_datefield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insert.png'"><xsl:text>cmd/lc_togglesheetgrid.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertauthorfield.png'"><xsl:text>cmd/lc_dbviewaliases.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertedit.png'"><xsl:text>cmd/lc_edit.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertfield.png'"><xsl:text>cmd/lc_addfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertctrl.png'"><xsl:text>cmd/lc_inserttable.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertfilecontrol.png'"><xsl:text>cmd/lc_open.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformattedfield.png'"><xsl:text>cmd/lc_formattedfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformcheck.png'"><xsl:text>cmd/lc_checkbox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformcombo.png'"><xsl:text>cmd/lc_combobox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformlist.png'"><xsl:text>cmd/lc_listbox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformradio.png'"><xsl:text>cmd/lc_radiobutton.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformspin.png'"><xsl:text>cmd/lc_spinbutton.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformula.png'"><xsl:text>cmd/lc_dbviewfunctions.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertformvscroll.png'"><xsl:text>cmd/lc_scrollbar.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertframeinteract.png'"><xsl:text>cmd/lc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertframeinteractnocolumns.png'"><xsl:text>cmd/lc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertobjectchart.png'"><xsl:text>cmd/lc_drawchart.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertnumericfield.png'"><xsl:text>cmd/lc_numberformatstandard.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_numericfield.png'"><xsl:text>cmd/lc_numberformatstandard.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertlistbox.png'"><xsl:text>cmd/lc_listbox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_inserttextframe.png'"><xsl:text>cmd/lc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertobjectstarmath.png'"><xsl:text>cmd/lc_insertmath.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertpatternfield.png'"><xsl:text>cmd/lc_patternfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertpushbutton.png'"><xsl:text>cmd/lc_pushbutton.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertrowbreak.png'"><xsl:text>cmd/lc_insertpagebreak.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_insertspreadsheet.png'"><xsl:text>cmd/lc_togglesheetgrid.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_inserttimefield.png'"><xsl:text>cmd/lc_timefield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insobjctrl.png'"><xsl:text>cmd/sc_newdoc.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insert.png'"><xsl:text>cmd/sc_togglesheetgrid.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertavmedia.png'"><xsl:text>cmd/sc_avmediaplayer.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertcurrencyfield.png'"><xsl:text>cmd/sc_formattedfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertdatefield.png'"><xsl:text>cmd/sc_datefield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertauthorfield.png'"><xsl:text>cmd/sc_dbviewaliases.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertedit.png'"><xsl:text>cmd/sc_text.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertfield.png'"><xsl:text>cmd/sc_addfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertctrl.png'"><xsl:text>cmd/sc_inserttable.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertfilecontrol.png'"><xsl:text>cmd/sc_open.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformattedfield.png'"><xsl:text>cmd/sc_formattedfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformcheck.png'"><xsl:text>cmd/sc_checkbox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformcombo.png'"><xsl:text>cmd/sc_combobox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformlist.png'"><xsl:text>cmd/sc_listbox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformradio.png'"><xsl:text>cmd/sc_radiobutton.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformspin.png'"><xsl:text>cmd/sc_spinbutton.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformula.png'"><xsl:text>cmd/sc_dbviewfunctions.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertformvscroll.png'"><xsl:text>cmd/sc_scrollbar.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_scrollbarmenu.png'"><xsl:text>cmd/sc_scrollbar.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertframeinteract.png'"><xsl:text>cmd/sc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertframemenu.png'"><xsl:text>cmd/sc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertframeinteractnocolumns.png'"><xsl:text>cmd/sc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertimagecontrol.png'"><xsl:text>cmd/sc_drawchart.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertobjectchart.png'"><xsl:text>cmd/sc_drawchart.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertnumericfield.png'"><xsl:text>cmd/sc_numberformatstandard.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_numericfield.png'"><xsl:text>cmd/sc_numberformatstandard.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertlistbox.png'"><xsl:text>cmd/sc_listbox.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertobjectfloatingframe.png'"><xsl:text>cmd/sc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_inserttextframe.png'"><xsl:text>cmd/sc_insertframe.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertobjectstarmath.png'"><xsl:text>cmd/sc_insertmath.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertpatternfield.png'"><xsl:text>cmd/sc_patternfield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertpushbutton.png'"><xsl:text>cmd/sc_pushbutton.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertrowbreak.png'"><xsl:text>cmd/sc_insertpagebreak.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_insertspreadsheet.png'"><xsl:text>cmd/sc_togglesheetgrid.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_inserttimefield.png'"><xsl:text>cmd/sc_timefield.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_showtrackedchanges.png'"><xsl:text>cmd/sc_addwatch.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_showtrackedchanges.png'"><xsl:text>cmd/lc_addwatch.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_tracechangemode.png'"><xsl:text>cmd/sc_trackchanges.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/lc_tracechangemode.png'"><xsl:text>cmd/lc_trackchanges.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_shapesmenu.png'"><xsl:text>cmd/sc_basicshapes.round-quadrat.png</xsl:text></xsl:when>
+<xsl:when 
test="$src1='cmd/sc_charactermenu.png'"><xsl:text>cmd/sc_fontdialog.png</xsl:text></xsl:when>

... etc. - the rest is truncated
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to