summaryrefslogtreecommitdiffstats
path: root/odk/examples/DevelopersGuide/Extensions
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /odk/examples/DevelopersGuide/Extensions
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu68
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Dialog1.xdl27
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Module1.xba33
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/dialog.xlb5
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/script.xlb5
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/META-INF/manifest.xml23
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Makefile117
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/description.xml25
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page1.xhp90
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page2.xhp44
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/subfolder/anotherpage.xhp117
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page1.xhp90
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page2.xhp43
-rw-r--r--odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/subfolder/anotherpage.xhp117
14 files changed, 804 insertions, 0 deletions
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu
new file mode 100644
index 000000000..2cae63627
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Addons.xcu
@@ -0,0 +1,68 @@
+<?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 .
+-->
+<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Addons" oor:package="org.openoffice.Office">
+ <node oor:name="AddonUI">
+ <node oor:name="OfficeMenuBar">
+ <node oor:name="com.foocorp.foo-ext:Menu" oor:op="replace">
+ <prop oor:name="Title" oor:type="xs:string">
+ <value/>
+ <value xml:lang="en">Foo E~xtension</value>
+ </prop>
+ <node oor:name="Submenu">
+ <node oor:name="m1" oor:op="replace">
+ <prop oor:name="URL" oor:type="xs:string">
+ <value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application</value>
+ </prop>
+ <prop oor:name="ImageIdentifier" oor:type="xs:string">
+ <value/>
+ </prop>
+ <prop oor:name="Target" oor:type="xs:string">
+ <value>_self</value>
+ </prop>
+ <prop oor:name="Title" oor:type="xs:string">
+ <value/>
+ <value xml:lang="en">Start Foo Dialog...</value>
+ </prop>
+ </node>
+ <node oor:name="m3" oor:op="replace">
+ </node>
+ </node>
+ </node>
+ </node>
+ <node oor:name="OfficeToolBar">
+ <node oor:name="com.foocorp.foo-ext:ToolbarItem1" oor:op="replace">
+ <node oor:name="m1" oor:op="replace">
+ <prop oor:name="URL">
+ <value>vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application</value>
+ </prop>
+ <prop oor:name="Title">
+ <value xml:lang="en-US">Foo Toolbar Item</value>
+ <value xml:lang="de">Foo Toolbar Eintrag</value>
+ </prop>
+ <prop oor:name="Target" oor:type="xs:string">
+ <value>_self</value>
+ </prop>
+ <prop oor:name="Context" oor:type="xs:string">
+ <value>com.sun.star.text.TextDocument</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ </node>
+</oor:component-data>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Dialog1.xdl b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Dialog1.xdl
new file mode 100644
index 000000000..90fc473ad
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Dialog1.xdl
@@ -0,0 +1,27 @@
+<?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 .
+-->
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog1" dlg:left="244" dlg:top="200" dlg:width="201" dlg:height="169" dlg:help-url="com.foocorp.foo-ext:FooDialog" dlg:closeable="true" dlg:moveable="true" dlg:title="Foo Dialog">
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="CommandButton1" dlg:tab-index="0" dlg:left="26" dlg:top="26" dlg:width="75" dlg:height="35" dlg:help-url="com.foocorp.foo-ext:FooDialogButton" dlg:value="Do it !">
+ <script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:DialogWithHelp.Module1.HandleDoIt?language=Basic&amp;location=application" script:language="Script"/>
+ </dlg:button>
+ <dlg:button dlg:id="CommandButton2" dlg:tab-index="1" dlg:left="88" dlg:top="100" dlg:width="87" dlg:height="38" dlg:value="Dummy Button, no help"/>
+ </dlg:bulletinboard>
+</dlg:window>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Module1.xba b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Module1.xba
new file mode 100644
index 000000000..976a0e59f
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/Module1.xba
@@ -0,0 +1,33 @@
+<?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 .
+-->
+<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
+<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Module1" script:language="StarBasic">REM ***** BASIC *****
+
+Sub Main
+ DialogLibraries.loadLibrary( &quot;DialogWithHelp&quot; )
+ oDlg = CreateUnoDialog( DialogLibraries.DialogWithHelp.Dialog1 )
+ oDlg.execute()
+End Sub
+
+Sub HandleDoIt
+ msgbox &quot;I did it!&quot;
+End Sub
+
+
+</script:module> \ No newline at end of file
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/dialog.xlb b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/dialog.xlb
new file mode 100644
index 000000000..bd7d00efd
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/dialog.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="DialogWithHelp" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="Dialog1"/>
+</library:library> \ No newline at end of file
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/script.xlb b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/script.xlb
new file mode 100644
index 000000000..423177601
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/DialogWithHelp/script.xlb
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE library:library PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "library.dtd">
+<library:library xmlns:library="http://openoffice.org/2000/library" library:name="DialogWithHelp" library:readonly="false" library:passwordprotected="false">
+ <library:element library:name="Module1"/>
+</library:library> \ No newline at end of file
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/META-INF/manifest.xml b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/META-INF/manifest.xml
new file mode 100644
index 000000000..bdf108308
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/META-INF/manifest.xml
@@ -0,0 +1,23 @@
+<?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 .
+-->
+<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
+ <manifest:file-entry manifest:full-path="DialogWithHelp/" manifest:media-type="application/vnd.sun.star.basic-library"/>
+ <manifest:file-entry manifest:media-type="application/vnd.sun.star.help" manifest:full-path="help"/>
+ <manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data" manifest:full-path="Addons.xcu"/>
+</manifest:manifest>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Makefile b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Makefile
new file mode 100644
index 000000000..171dd5393
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/Makefile
@@ -0,0 +1,117 @@
+#*************************************************************************
+#
+# The Contents of this file are made available subject to the terms of
+# the BSD license.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. Neither the name of Sun Microsystems, Inc. nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#**************************************************************************
+
+# Builds the DialogWithHelp example of the Developers Guide.
+
+PRJ=../../../..
+SETTINGS=$(PRJ)/settings
+
+include $(SETTINGS)/settings.mk
+include $(SETTINGS)/std.mk
+
+# Define non-platform/compiler specific settings
+SAMPLE_NAME=ExtDialogWithHelp
+SAMPLE_GEN_OUT=$(OUT_MISC)/$(SAMPLE_NAME)
+
+COMP_NAME=DialogWithHelp
+COMP_GEN_OUT=$(SAMPLE_GEN_OUT)/$(COMP_NAME)
+COMP_PACKAGE = $(OUT_BIN)/$(COMP_NAME).$(UNOOXT_EXT)
+COMP_PACKAGE_URL = $(subst \\,\,"$(COMP_PACKAGE_DIR)$(PS)$(COMP_NAME).$(UNOOXT_EXT)")
+COMP_UNOPKG_MANIFEST = $(COMP_GEN_OUT)/META-INF/manifest.xml
+COMP_REGISTERFLAG=$(COMP_GEN_OUT)$(PS)devguide_basic_$(COMP_NAME)_register_component.flag
+
+COMP_LIBRARY_FILES=\
+ DialogWithHelp/dialog.xlb\
+ DialogWithHelp/script.xlb\
+ DialogWithHelp/Module1.xba\
+ DialogWithHelp/Dialog1.xdl
+
+COMP_MISC_FILES=\
+ META-INF/manifest.xml\
+ Addons.xcu\
+ description.xml
+
+COMP_HELP_FILES=\
+ help/de/com.foocorp.foo-ext/page1.xhp\
+ help/de/com.foocorp.foo-ext/page2.xhp\
+ help/de/com.foocorp.foo-ext/subfolder/anotherpage.xhp\
+ help/en/com.foocorp.foo-ext/page1.xhp\
+ help/en/com.foocorp.foo-ext/page2.xhp\
+ help/en/com.foocorp.foo-ext/subfolder/anotherpage.xhp\
+
+# Targets
+.PHONY: ALL
+ALL : $(SAMPLE_NAME)
+
+include $(SETTINGS)/stdtarget.mk
+
+# rule for component package file
+$(COMP_PACKAGE) : $(COMP_LIBRARY_FILES) $(COMP_MISC_FILES) $(COMP_HELP_FILES)
+ -$(DEL) $(subst \\,\,$(subst /,$(PS),$@))
+ -$(MKDIR) $(subst /,$(PS),$(@D))
+ $(SDK_ZIP) $@ $(COMP_LIBRARY_FILES)
+ $(SDK_ZIP) $@ $(COMP_MISC_FILES)
+ $(SDK_ZIP) $@ $(COMP_HELP_FILES)
+
+$(COMP_REGISTERFLAG) : $(COMP_PACKAGE)
+ifeq "$(SDK_AUTO_DEPLOYMENT)" "YES"
+ -$(DEL) $(subst \\,\,$(subst /,$(PS),$@))
+ -$(MKDIR) $(subst /,$(PS),$(@D))
+ $(DEPLOYTOOL) $(COMP_PACKAGE_URL)
+ @echo flagged > $(subst /,$(PS),$@)
+else
+ @echo --------------------------------------------------------------------------------
+ @echo If you want to install your component automatically, please set the environment
+ @echo variable SDK_AUTO_DEPLOYMENT = YES. But note that auto deployment is only
+ @echo possible if no office instance is running.
+ @echo --------------------------------------------------------------------------------
+endif
+
+$(SAMPLE_NAME) : $(COMP_REGISTERFLAG)
+ @echo --------------------------------------------------------------------------------
+ @echo The "$(QM)DialogWithHelp$(QM)" library was installed in your office installation
+ @echo if SDK_AUTO_DEPLOYMENT = YES. You can use it in the BASIC IDE as a normal
+ @echo Basic library. You also will find a new top level menu "$(QM)Foo Extension$(QM)"
+ @echo with one menu entry "$(QM)Start Foo Dialog$(QM)" to start it directly. If a
+ @echo document is active there is also a "$(QM)Foo Toolbar Item$(QM)" doing the same.
+ @echo All help index entries provided by the help content start with Foo.
+ @echo --------------------------------------------------------------------------------
+
+$(COMP_NAME).odt.load : $(COMP_REGISTERFLAG)
+ "$(OFFICE_PROGRAM_PATH)$(PS)soffice" $(basename $@)
+
+.PHONY: clean
+clean :
+ -$(DELRECURSIVE) $(subst /,$(PS),$(COMP_GEN_OUT))
+ -$(DEL) $(subst \\,\,$(subst /,$(PS),$(COMP_PACKAGE_URL)))
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/description.xml b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/description.xml
new file mode 100644
index 000000000..f5540bb2b
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/description.xml
@@ -0,0 +1,25 @@
+<?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 .
+-->
+<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:d="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <version value="1.0" />
+ <identifier value="com.foocorp.foo-ext"/>
+ <dependencies/>
+ <update-information/>
+ <registration/>
+</description>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page1.xhp b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page1.xhp
new file mode 100644
index 000000000..d5ec9d530
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page1.xhp
@@ -0,0 +1,90 @@
+<?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 .
+-->
+<helpdocument version="1.0">
+<meta>
+<topic id="comfoocorpfooextpage1" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="de">DE Extension foo page1 DE</title>
+<filename>/com.foocorp.foo-ext/page1.xhp</filename>
+</topic>
+</meta>
+<body>
+<bookmark xml-lang="de" branch="index" id="bm_id0001">
+<bookmark_value>Foo Einzel-Eintrag für page1</bookmark_value>
+<bookmark_value>Foo Alle Seiten;page1</bookmark_value>
+</bookmark>
+<bookmark xml-lang="de" branch="index" id="bm_id0002_swriter_sdraw">
+<bookmark_value>Foo Einzel-Eintrag page1, nur swriter/sdraw</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id0001" xml-lang="de" level="1">DE Extension foo page1 DE</paragraph>
+<paragraph role="paragraph" id="par_id0001" xml-lang="de">Dies ist "page1" der Extension foo Hilfe.
+<comment>Kommentar am Ende des Paragraphen</comment></paragraph>
+<comment>Einige Links...</comment>
+<paragraph role="heading" id="hd_id0002" xml-lang="de" level="2">Einige Links...</paragraph>
+<paragraph role="paragraph" id="par_id0002" xml-lang="de">
+<link href="com.foocorp.foo-ext/page2.xhp">Dies</link> ist ein Link zu "page2" der Extension foo Hilfe.</paragraph>
+<paragraph role="paragraph" id="par_id0003" xml-lang="de">
+<link href="com.foocorp.foo-ext/page1.xhp#target">Dies</link> ist ein Link zu einer Sektion innerhalb einer Hilfe-Datei (unten in dieser Datei, kann aber auch in einer anderen Datei sein).</paragraph>
+<paragraph role="paragraph" id="par_id0004" xml-lang="de">
+<link href="text/shared/guide/main.xhp">Dies</link> ist ein Link zu einer Hilfe-Seite in der installierten Hilfe.</paragraph>
+<paragraph role="heading" id="hd_id0003" xml-lang="de" level="2">Etwas Füll-Text</paragraph>
+<paragraph role="paragraph" id="par_id0005" xml-lang="de">Ich mag Füll-Text. Ich mag Füll-Text. Ich mag Füll-Text.</paragraph>
+<paragraph role="paragraph" id="par_id0006" xml-lang="de">Ich mag Füll-Text. Ich mag Füll-Text. Ich mag Füll-Text.</paragraph>
+<paragraph role="paragraph" id="par_id0007" xml-lang="de">Ich mag Füll-Text. Ich mag Füll-Text. Ich mag Füll-Text.</paragraph>
+<paragraph role="paragraph" id="par_id0008" xml-lang="de">Ich mag Füll-Text. Ich mag Füll-Text. Ich mag Füll-Text.</paragraph>
+<paragraph role="paragraph" id="par_id0009" xml-lang="de">Ich mag Füll-Text. Ich mag Füll-Text. Ich mag Füll-Text.</paragraph>
+<paragraph role="paragraph" id="par_id0010" xml-lang="de">Ich mag Füll-Text. Ich mag Füll-Text. Ich mag Füll-Text.</paragraph>
+<section id="target">
+<paragraph role="heading" id="hd_id0004" xml-lang="de" level="2">Section "target"</paragraph>
+<paragraph role="paragraph" id="par_id0011" xml-lang="de">
+This is a section within the file page1.xhp. The section has the name "target".
+</paragraph>
+</section>
+<paragraph role="heading" id="hd_id0005" xml-lang="de" level="2">Noch mehr Füll-Text</paragraph>
+<paragraph role="paragraph" id="par_id0012" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0013" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0014" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0015" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0016" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0017" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0018" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0019" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0020" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0021" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0022" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0023" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0024" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0025" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0026" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0027" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0028" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0029" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0030" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0031" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0032" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0033" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0034" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0035" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<paragraph role="paragraph" id="par_id0036" xml-lang="de" >Dieser Text füllt die Seite um die Section "target" oben anzeigen zu können.</paragraph>
+<section id="relatedtopics">
+<paragraph role="paragraph" id="par_id0037" xml-lang="de">
+Diese Section zeigt einen Link der durch Einfügen der "linkvar" Variable aus subfolder/anotherpage.xhp erzeugt wurde.</paragraph>
+<embed href="com.foocorp.foo-ext/subfolder/anotherpage.xhp#linkvar"/>
+</section>
+</body>
+</helpdocument>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page2.xhp b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page2.xhp
new file mode 100644
index 000000000..9cafd0aaa
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/page2.xhp
@@ -0,0 +1,44 @@
+<?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 .
+-->
+<helpdocument version="1.0">
+<meta>
+<topic id="comfoocorpfooextpage2" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="de">DE Extension foo page2 DE</title>
+<filename>/com.foocorp.foo-ext/page2.xhp</filename>
+</topic>
+</meta>
+<body>
+<bookmark xml-lang="de" branch="index" id="bm_id0001">
+<bookmark_value>Foo Alle Seiten;page2</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id0001" xml-lang="de" level="1">DE Extension foo page2 DE</paragraph>
+<paragraph role="paragraph" id="par_id0001" xml-lang="de">Dies ist "page2" der Extension foo Hilfe.</paragraph>
+<paragraph role="heading" id="hd_id0002" xml-lang="de" level="2">Einige Links...</paragraph>
+<paragraph role="paragraph" id="par_id0002" xml-lang="de">
+<link href="com.foocorp.foo-ext/page1.xhp#target">Dies</link> ist ein Link zu einer Sektion in "page1".</paragraph>
+<paragraph role="paragraph" id="par_id0003" xml-lang="de">
+<link href="text/shared/guide/main.xhp">Dies</link> ist ein Link zu einer Hilfe-Seite in der installierten Hilfe.</paragraph>
+<section id="relatedtopics">
+<paragraph role="paragraph" id="par_id0004" xml-lang="de">
+Diese Section zeigt einen Link der durch Einfügen der "linkvar" Variable aus subfolder/anotherpage.xhp erzeugt wurde.
+</paragraph>
+<embed href="com.foocorp.foo-ext/subfolder/anotherpage.xhp#linkvar"/>
+</section>
+</body>
+</helpdocument>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/subfolder/anotherpage.xhp b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/subfolder/anotherpage.xhp
new file mode 100644
index 000000000..1a8c29f4d
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/de/com.foocorp.foo-ext/subfolder/anotherpage.xhp
@@ -0,0 +1,117 @@
+<?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 .
+-->
+<helpdocument version="1.0">
+<meta>
+<topic id="comfoocorpfooextsubfolder/anotherpage" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="de">DE Extension foo subfolder/anotherpage DE</title>
+<filename>/com.foocorp.foo-ext/subfolder/anotherpage.xhp</filename>
+</topic>
+</meta>
+<body>
+<bookmark xml-lang="de" branch="index" id="bm_id0001">
+<bookmark_value>Foo Alle Seiten;subfolder/anotherpage</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id0001" xml-lang="de" level="1">DE Extension foo subfolder/anotherpage DE</paragraph>
+<paragraph role="paragraph" id="par_id0001" xml-lang="de">Dies ist subfolder/anotherpage der Extension foo Hilfe.
+<comment>Comment at end of paragraph</comment></paragraph>
+<bookmark xml-lang="de" branch="hid/vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application" id="bm_id0002" localize="false"/>
+<paragraph role="paragraph" id="hd_id0002" xml-lang="de"><ahelp hid="hid/vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application" visibility="hidden">
+Hier klicken, um den eindrucksvollen Foo Dialog zu öffnen</ahelp></paragraph>
+<bookmark xml-lang="de" branch="hid/com.foocorp.foo-ext:FooDialog" id="bm_id0003" localize="false"/>
+<paragraph role="heading" id="hd_id0002" xml-lang="de" level="2">Hilfe für den Foo Dialog</paragraph>
+<paragraph role="paragraph" id="hd_id0003" xml-lang="de">Der Foo Dialog ist ein sehr wichtiger Dialog, der...</paragraph>
+<bookmark xml-lang="de" branch="hid/com.foocorp.foo-ext:FooDialogButton" id="bm_id0004" localize="false"/>
+<paragraph role="paragraph" id="hd_id0004" xml-lang="de">
+<ahelp hid="hid/com.foocorp.foo-ext:FooDialogButton" visibility="hidden">
+Dieser Knopf bringt es!</ahelp></paragraph>
+<paragraph role="heading" id="hd_id0003" xml-lang="de" level="2">Hilfe für den "Do It !" Knopf</paragraph>
+<paragraph role="paragraph" id="hd_id0005" xml-lang="de">Der "Do It !" Knopf tut es!</paragraph>
+<paragraph role="heading" id="hd_id0004" xml-lang="de" level="2">Etwas fülltext</paragraph>
+<paragraph role="paragraph" id="par_id0006" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0007" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0008" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0009" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0010" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0011" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0012" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0013" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0014" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0015" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0016" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0017" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0018" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0019" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0020" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0021" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0022" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0023" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0024" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0025" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0026" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0027" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0028" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0029" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0030" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0031" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0032" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0033" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0034" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0035" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0036" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0037" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0038" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0039" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0040" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0041" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0042" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0043" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0044" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0045" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0046" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0047" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0048" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0049" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0050" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0051" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0052" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0053" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0054" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0055" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0056" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0057" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0058" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0059" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0060" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0061" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0062" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0063" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0064" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0065" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0066" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0067" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0068" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="paragraph" id="par_id0069" xml-lang="de">Dieser Text füllt die Seite.</paragraph>
+<paragraph role="heading" id="hd_id0005" xml-lang="de" level="2">Variable, die einen Link definiert</paragraph>
+<paragraph role="paragraph" id="par_id0070" xml-lang="de">
+<variable id="linkvar">
+<link href="com.foocorp.foo-ext/page2.xhp" name="linkvar page2">Link zu page2, definert als variable in subfolder/anotherpage.xhp</link>
+</variable>
+</paragraph>
+</body>
+</helpdocument>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page1.xhp b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page1.xhp
new file mode 100644
index 000000000..5cbaf7cce
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page1.xhp
@@ -0,0 +1,90 @@
+<?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 .
+-->
+<helpdocument version="1.0">
+<meta>
+<topic id="comfoocorpfooextpage1" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="en-US">Extension foo page1</title>
+<filename>/com.foocorp.foo-ext/page1.xhp</filename>
+</topic>
+</meta>
+<body>
+<bookmark xml-lang="en-US" branch="index" id="bm_id0001">
+<bookmark_value>Foo Single level entry page1</bookmark_value>
+<bookmark_value>Foo All Pages;page1</bookmark_value>
+</bookmark>
+<bookmark xml-lang="en-US" branch="index" id="bm_id0002_swriter_sdraw">
+<bookmark_value>Foo Single level entry page1, swriter/sdraw only</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id0001" xml-lang="en-US" level="1">Extension foo page1</paragraph>
+<paragraph role="paragraph" id="par_id0001" xml-lang="en-US">This is "page1" of extension foo help.
+<comment>Comment at end of paragraph</comment></paragraph>
+<comment>Some links...</comment>
+<paragraph role="heading" id="hd_id0002" xml-lang="en-US" level="2">Some links...</paragraph>
+<paragraph role="paragraph" id="par_id0002" xml-lang="en-US">
+<link href="com.foocorp.foo-ext/page2.xhp">This</link> is a link to "page2" of extension foo help.</paragraph>
+<paragraph role="paragraph" id="par_id0003" xml-lang="en-US">
+<link href="com.foocorp.foo-ext/page1.xhp#target">This</link> is a link to a section within a help file (down in this file, but can be in another file as well).</paragraph>
+<paragraph role="paragraph" id="par_id0004" xml-lang="en-US">
+<link href="text/shared/guide/main.xhp">This</link> is a link to a help page in the installed help.</paragraph>
+<paragraph role="heading" id="hd_id0003" xml-lang="en-US" level="2">Some fill text</paragraph>
+<paragraph role="paragraph" id="par_id0005" xml-lang="en-US">I like fill text. I like fill text. I like fill text.</paragraph>
+<paragraph role="paragraph" id="par_id0006" xml-lang="en-US">I like fill text. I like fill text. I like fill text.</paragraph>
+<paragraph role="paragraph" id="par_id0007" xml-lang="en-US">I like fill text. I like fill text. I like fill text.</paragraph>
+<paragraph role="paragraph" id="par_id0008" xml-lang="en-US">I like fill text. I like fill text. I like fill text.</paragraph>
+<paragraph role="paragraph" id="par_id0009" xml-lang="en-US">I like fill text. I like fill text. I like fill text.</paragraph>
+<paragraph role="paragraph" id="par_id0010" xml-lang="en-US">I like fill text. I like fill text. I like fill text.</paragraph>
+<section id="target">
+<paragraph role="heading" id="hd_id0004" xml-lang="en-US" level="2">Section "target"</paragraph>
+<paragraph role="paragraph" id="par_id0011" xml-lang="en-US">
+This is a section within the file page1.xhp. The section has the name "target".
+</paragraph>
+</section>
+<paragraph role="heading" id="hd_id0005" xml-lang="en-US" level="2">Some more fill text</paragraph>
+<paragraph role="paragraph" id="par_id0012" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0013" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0014" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0015" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0016" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0017" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0018" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0019" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0020" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0021" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0022" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0023" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0024" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0025" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0026" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0027" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0028" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0029" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0030" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0031" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0032" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0033" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0034" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0035" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<paragraph role="paragraph" id="par_id0036" xml-lang="en-US">This text fills the page allowing to show section "target" at the top.</paragraph>
+<section id="relatedtopics">
+<paragraph role="paragraph" id="par_id0037" xml-lang="en-US">
+This section shows a link created by embedding the "linkvar" variable defined in subfolder/anotherpage.xhp.</paragraph>
+<embed href="com.foocorp.foo-ext/subfolder/anotherpage.xhp#linkvar"/>
+</section>
+</body>
+</helpdocument>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page2.xhp b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page2.xhp
new file mode 100644
index 000000000..66b3156de
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/page2.xhp
@@ -0,0 +1,43 @@
+<?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 .
+-->
+<helpdocument version="1.0">
+<meta>
+<topic id="comfoocorpfooextpage2" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="en-US">Extension foo page2</title>
+<filename>/com.foocorp.foo-ext/page2.xhp</filename>
+</topic>
+</meta>
+<body>
+<bookmark xml-lang="en-US" branch="index" id="bm_id0001">
+<bookmark_value>Foo All Pages;page2</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id0001" xml-lang="en-US" level="1">Extension foo page2</paragraph>
+<paragraph role="paragraph" id="par_id0001" xml-lang="en-US">This is "page2" of extension foo help.</paragraph>
+<paragraph role="heading" id="hd_id0002" xml-lang="en-US" level="2">Some links...</paragraph>
+<paragraph role="paragraph" id="par_id0002" xml-lang="en-US">
+<link href="com.foocorp.foo-ext/page1.xhp#target">This</link> is a link to a section within page1.</paragraph>
+<paragraph role="paragraph" id="par_id0003" xml-lang="en-US">
+<link href="text/shared/guide/main.xhp">This</link> is a link to a file of the already installed help.</paragraph>
+<section id="relatedtopics">
+<paragraph role="paragraph" id="par_id0004" xml-lang="en-US">
+This section shows a link created by embedding the "linkvar" variable defined in subfolder/anotherpage.xhp.</paragraph>
+<embed href="com.foocorp.foo-ext/subfolder/anotherpage.xhp#linkvar"/>
+</section>
+</body>
+</helpdocument>
diff --git a/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/subfolder/anotherpage.xhp b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/subfolder/anotherpage.xhp
new file mode 100644
index 000000000..30a31a720
--- /dev/null
+++ b/odk/examples/DevelopersGuide/Extensions/DialogWithHelp/help/en/com.foocorp.foo-ext/subfolder/anotherpage.xhp
@@ -0,0 +1,117 @@
+<?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 .
+-->
+<helpdocument version="1.0">
+<meta>
+<topic id="comfoocorpfooextsubfolder/anotherpage" indexer="include" status="PUBLISH">
+<title id="tit" xml-lang="en-US">Extension foo subfolder/anotherpage</title>
+<filename>/com.foocorp.foo-ext/subfolder/anotherpage.xhp</filename>
+</topic>
+</meta>
+<body>
+<bookmark xml-lang="en-US" branch="index" id="bm_id0001">
+<bookmark_value>Foo All Pages;subfolder/anotherpage</bookmark_value>
+</bookmark>
+<paragraph role="heading" id="hd_id0001" xml-lang="en-US" level="1">Extension foo subfolder/anotherpage</paragraph>
+<paragraph role="paragraph" id="par_id0001" xml-lang="en-US">This is subfolder/anotherpage of extension foo help.
+<comment>Comment at end of paragraph</comment></paragraph>
+<bookmark xml-lang="en-US" branch="hid/vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application" id="bm_id0002" localize="false"/>
+<paragraph role="paragraph" id="hd_id0002" xml-lang="en-US"><ahelp hid="hid/vnd.sun.star.script:DialogWithHelp.Module1.main?language=Basic&amp;location=application" visibility="hidden">
+Click here to open the impressing Foo Dialog</ahelp></paragraph>
+<bookmark xml-lang="en-US" branch="hid/com.foocorp.foo-ext:FooDialog" id="bm_id0003" localize="false"/>
+<paragraph role="heading" id="hd_id0002" xml-lang="en-US" level="2">Help for the Foo Dialog</paragraph>
+<paragraph role="paragraph" id="hd_id0003" xml-lang="en-US">The Foo Dialog is a very important dialog that...</paragraph>
+<bookmark xml-lang="en-US" branch="hid/com.foocorp.foo-ext:FooDialogButton" id="bm_id0004" localize="false"/>
+<paragraph role="paragraph" id="hd_id0004" xml-lang="en-US">
+<ahelp hid="hid/com.foocorp.foo-ext:FooDialogButton" visibility="hidden">
+This button really does it!!</ahelp></paragraph>
+<paragraph role="heading" id="hd_id0003" xml-lang="en-US" level="2">Help for the "Do It !" button</paragraph>
+<paragraph role="paragraph" id="hd_id0005" xml-lang="en-US">The "Do It !" button does it!</paragraph>
+<paragraph role="heading" id="hd_id0004" xml-lang="en-US" level="2">Some fill text</paragraph>
+<paragraph role="paragraph" id="par_id0006" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0007" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0008" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0009" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0010" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0011" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0012" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0013" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0014" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0015" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0016" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0017" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0018" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0019" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0020" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0021" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0022" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0023" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0024" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0025" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0026" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0027" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0028" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0029" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0030" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0031" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0032" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0033" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0034" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0035" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0036" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0037" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0038" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0039" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0040" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0041" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0042" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0043" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0044" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0045" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0046" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0047" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0048" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0049" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0050" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0051" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0052" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0053" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0054" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0055" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0056" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0057" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0058" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0059" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0060" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0061" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0062" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0063" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0064" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0065" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0066" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0067" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0068" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="paragraph" id="par_id0069" xml-lang="en-US">This text fills the page.</paragraph>
+<paragraph role="heading" id="hd_id0005" xml-lang="en-US" level="2">Variable defining a link</paragraph>
+<paragraph role="paragraph" id="par_id0070" xml-lang="en-US">
+<variable id="linkvar">
+<link href="com.foocorp.foo-ext/page2.xhp" name="linkvar page2">Link to page2 defined as variable in subfolder/anotherpage.xhp</link>
+</variable>
+</paragraph>
+</body>
+</helpdocument>