Parcourir la source

added Dita test route

Piotr Labudda il y a 9 ans
Parent
commit
5735d753b6

+ 129 - 0
SE/schema/dita/default_db-in7_dziennik_koresp/test-druk/IN7_DZIENNIK_KORESP.xsl

@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:default_db__x3A__IN7_DZIENNIK_KORESP="https://biuro.biall-net.pl/wfs/default_db/table/IN7_DZIENNIK_KORESP.xsd"
+    xmlns:system_cache__appinfo="http://biuro.biall-net.pl/xmlschema_procesy5/default_db_xml_cache/appinfo.xsd"
+    xmlns:exsl="http://exslt.org/common"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    <xsl:output indent="yes" />
+    <xsl:strip-space elements="*"/>
+    
+    <!--<xsl:param name="dita_task_template_file" required="yes"/>-->
+    
+    <!--<xsl:variable name="dita_task_template_file">
+        <test>
+            <var>test</var>
+        </test>
+    </xsl:variable>-->
+    
+    <!--<xsl:variable name="main_template" select="doc('IN7_DZIENNIK_KORESP.dita/main.dita')"/>-->
+   
+   <xsl:template match="root">
+       <xsl:variable name="dita_task_template_file" select="topic"/>
+       <xsl:apply-templates>
+           <xsl:with-param name="dita_task_template_file" select="$dita_task_template_file"/>
+       </xsl:apply-templates>
+   </xsl:template>
+   
+   
+    <!-- todo add prefix default_db__x3A__IN7_DZIENNIK_KORESP: -->
+    <xsl:template match="default_db__x3A__IN7_DZIENNIK_KORESP:IN7_DZIENNIK_KORESP" >
+        <xsl:param name="dita_task_template_file"/>
+   
+        <xsl:variable name="input_obj_with_xpath">
+            <xsl:apply-templates mode="system_cache__appinfo:add_xpath_path_to_elements" select=".">
+                <xsl:with-param name="system_cache__appinfo:curr_xpath" select="name()"/>
+            </xsl:apply-templates>
+        </xsl:variable>
+        <xsl:variable name="template_with_fit_vars">
+            <xsl:apply-templates mode="Procesy5_dita_assingn_values_x_path" select="$dita_task_template_file"> <!-- exslt:node-set($-->
+                <xsl:with-param name="parent_obj" select="$input_obj_with_xpath"/>
+            </xsl:apply-templates>
+            <!--<xsl:copy-of select="$dita_task_template_file"/>-->
+        </xsl:variable>
+        <!--<out>
+            TODO przerobic input - dodac @path, 
+            przejechac template i podstawic zmienne
+            wyzwolic XSL-FO dla template
+            Wyrzucic na output tak aby to obsluzylo cos co kuma WSDL
+        <template_with_fit_vars>
+            <xsl:copy-of select="$template_with_fit_vars"/>
+        </template_with_fit_vars>
+            <!-\-<template_with_fit_vars_xpath_check>
+                <xsl:copy-of select="$template_with_fit_vars//var"/>
+            </template_with_fit_vars_xpath_check>-\->
+            
+        <input_obj_with_xpath>
+            <xsl:copy-of select="$input_obj_with_xpath"/>
+        </input_obj_with_xpath>
+        </out>-->
+        <!--<xsl:result-document href="TO_PRINT_with_flat_values.dita">
+            <xsl:copy-of select="$template_with_fit_vars"/>
+        </xsl:result-document>-->
+        <xsl:copy-of select="$template_with_fit_vars"/>
+    </xsl:template>
+    
+    <xsl:template match="*">
+        <!--Nie przeszlo!
+        <xsl:value-of select="name()" />-->
+    </xsl:template>
+    
+    <xsl:template mode="system_cache__appinfo:add_xpath_path_to_elements" match="*">
+        <xsl:param name="system_cache__appinfo:curr_xpath"/>
+        <xsl:variable name="system_cache__appinfo:curr_xpath_tmpl">
+            <xsl:choose>
+                <xsl:when test="$system_cache__appinfo:curr_xpath=''">
+                    <xsl:value-of select="name()"/>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="concat($system_cache__appinfo:curr_xpath,'/',name())"/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+        <!--<xsl:variable name="curr_xpath_tmpl" select="'asdf'"/>-->
+        <xsl:element name="{name()}">
+            <xsl:attribute name="xpath"><xsl:value-of select="$system_cache__appinfo:curr_xpath_tmpl"/></xsl:attribute>
+            <xsl:for-each select="@*">
+                <xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute>
+            </xsl:for-each>
+            <xsl:value-of select="text()"/>
+            <xsl:apply-templates mode="system_cache__appinfo:add_xpath_path_to_elements">
+                <xsl:with-param name="system_cache__appinfo:curr_xpath" select="$system_cache__appinfo:curr_xpath_tmpl"/>
+            </xsl:apply-templates>
+        </xsl:element>
+    </xsl:template>
+    
+    <xsl:template mode="Procesy5_dita_assingn_values_x_path" match="*"><!-- testowe do przeniesienia do glow.repo - do podstawienia wartosci z elementow w druku DITA -->
+        <xsl:param name="parent_obj"  /><!-- glowny obiekt z ktorego beda brane wartosci do podstawiania -->
+         <xsl:for-each select=".">
+            <xsl:element name="{name()}">
+                <xsl:copy-of select="namespace::node()"/>
+                <xsl:value-of select="text()"/>
+                <xsl:for-each select="@*">
+                    <xsl:choose>
+                        <xsl:when test="name()='xpath'">
+                            <xsl:variable name="xpath" select="."/>
+                            <!--<xsl:attribute name="xpath_parsed" select="."/>-->
+                            <!--1:<xsl:value-of select="$parent_obj//node()[@system_cache__appinfo:xpath=$xpath]/text()"/>-->
+                            <!--<xsl:value-of select="$parent_obj//node()[local-name()=$xpath]/text()"/>-->
+                            <!--V:<xsl:value-of select="$xpath"/>-->
+                            <xsl:copy-of select="$parent_obj//node()[name()=$xpath]/text()"/>
+                        </xsl:when>
+                        <xsl:otherwise><xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute></xsl:otherwise>
+                    </xsl:choose>
+                </xsl:for-each>
+                
+                <xsl:apply-templates mode="Procesy5_dita_assingn_values_x_path">
+                    <xsl:with-param name="parent_obj" select="$parent_obj"/>
+                </xsl:apply-templates>
+            </xsl:element>
+         </xsl:for-each>
+    </xsl:template>
+    
+    <xsl:template match="text()" mode="Procesy5_dita_assingn_values_x_path"/>
+    <xsl:template match="text()" mode="system_cache__appinfo:add_xpath_path_to_elements"/>
+    
+</xsl:stylesheet>

+ 35 - 0
SE/schema/dita/default_db-in7_dziennik_koresp/test-druk/Test_z_getfeature_do_parse.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<default_db__x3A__IN7_DZIENNIK_KORESP:IN7_DZIENNIK_KORESP xmlns:default_db__x3A__IN7_DZIENNIK_KORESP="https://biuro.biall-net.pl/wfs/default_db/table/IN7_DZIENNIK_KORESP.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://biuro.biall-net.pl/wfs/default_db/table/IN7_DZIENNIK_KORESP.xsd ../IN7_DZIENNIK_KORESP.xsd" fid="IN7_DZIENNIK_KORESP.58939">
+<default_db__x3A__IN7_DZIENNIK_KORESP:ID>58939</default_db__x3A__IN7_DZIENNIK_KORESP:ID>
+<default_db__x3A__IN7_DZIENNIK_KORESP:COST_OF_SHIPMENT>0.00</default_db__x3A__IN7_DZIENNIK_KORESP:COST_OF_SHIPMENT>
+<default_db__x3A__IN7_DZIENNIK_KORESP:COST_VALUE>200.00</default_db__x3A__IN7_DZIENNIK_KORESP:COST_VALUE>
+<default_db__x3A__IN7_DZIENNIK_KORESP:INCOME_VALUE>0.00</default_db__x3A__IN7_DZIENNIK_KORESP:INCOME_VALUE>
+<default_db__x3A__IN7_DZIENNIK_KORESP:path>0-489-390</default_db__x3A__IN7_DZIENNIK_KORESP:path>
+<default_db__x3A__IN7_DZIENNIK_KORESP:P_ID>0</default_db__x3A__IN7_DZIENNIK_KORESP:P_ID>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_STATUS>NORMAL</default_db__x3A__IN7_DZIENNIK_KORESP:A_STATUS>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_TYP_KORESP>IN</default_db__x3A__IN7_DZIENNIK_KORESP:K_TYP_KORESP>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_TYP_RODZAJ>ZWYKLY</default_db__x3A__IN7_DZIENNIK_KORESP:K_TYP_RODZAJ>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_DATA_OTRZYMANEJ_KORESP>2016-10-27</default_db__x3A__IN7_DZIENNIK_KORESP:K_DATA_OTRZYMANEJ_KORESP>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_DATA_OTRZYM_KORESP>2016-11-02</default_db__x3A__IN7_DZIENNIK_KORESP:K_DATA_OTRZYM_KORESP>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_NR_OTRZYM_KORESP>120/10/2016/F</default_db__x3A__IN7_DZIENNIK_KORESP:K_NR_OTRZYM_KORESP>
+<default_db__x3A__IN7_DZIENNIK_KORESP:ID_BILLING_USERS>0</default_db__x3A__IN7_DZIENNIK_KORESP:ID_BILLING_USERS>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_OD_KOGO>DIAMENT Sp.z o.o </default_db__x3A__IN7_DZIENNIK_KORESP:K_OD_KOGO>
+<default_db__x3A__IN7_DZIENNIK_KORESP:OD_KOGO_ADRES>ul.Grunwaldzka 212 80-266 Gdansk</default_db__x3A__IN7_DZIENNIK_KORESP:OD_KOGO_ADRES>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_ZAWARTOS>Faktura za serwis urządzenia klimatyzacyjnego </default_db__x3A__IN7_DZIENNIK_KORESP:K_ZAWARTOS>
+<default_db__x3A__IN7_DZIENNIK_KORESP:ID_PROJECT>390</default_db__x3A__IN7_DZIENNIK_KORESP:ID_PROJECT>
+<default_db__x3A__IN7_DZIENNIK_KORESP:K_ZNAK_REFERENTA>p.r</default_db__x3A__IN7_DZIENNIK_KORESP:K_ZNAK_REFERENTA>
+<default_db__x3A__IN7_DZIENNIK_KORESP:L_APPOITMENT_DATE>2016-11-10 14:49</default_db__x3A__IN7_DZIENNIK_KORESP:L_APPOITMENT_DATE>
+<default_db__x3A__IN7_DZIENNIK_KORESP:L_APPOITMENT_USER>anna.wieclaw</default_db__x3A__IN7_DZIENNIK_KORESP:L_APPOITMENT_USER>
+<default_db__x3A__IN7_DZIENNIK_KORESP:T_TELBOX_NEIGHBOUR_IN_ID>2792</default_db__x3A__IN7_DZIENNIK_KORESP:T_TELBOX_NEIGHBOUR_IN_ID>
+<default_db__x3A__IN7_DZIENNIK_KORESP:ID_ZASOB>0</default_db__x3A__IN7_DZIENNIK_KORESP:ID_ZASOB>
+<default_db__x3A__IN7_DZIENNIK_KORESP:CRM_LISTA_ZASOBOW_ID>0</default_db__x3A__IN7_DZIENNIK_KORESP:CRM_LISTA_ZASOBOW_ID>
+<default_db__x3A__IN7_DZIENNIK_KORESP:ID_DEVICE>0</default_db__x3A__IN7_DZIENNIK_KORESP:ID_DEVICE>
+<default_db__x3A__IN7_DZIENNIK_KORESP:T_TELBOX_NEIGHBOUR_IN_ID_NEW>0</default_db__x3A__IN7_DZIENNIK_KORESP:T_TELBOX_NEIGHBOUR_IN_ID_NEW>
+<default_db__x3A__IN7_DZIENNIK_KORESP:ID_ZASOB_NEW>0</default_db__x3A__IN7_DZIENNIK_KORESP:ID_ZASOB_NEW>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_CREATE_DATE>2016-11-03 14:46:00</default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_CREATE_DATE>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_CREATE_AUTHOR>adrian.kasprzak</default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_CREATE_AUTHOR>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_UPDATE_DATE>2016-11-03 15:00:00</default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_UPDATE_DATE>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_UPDATE_AUTHOR>adrian.kasprzak</default_db__x3A__IN7_DZIENNIK_KORESP:A_RECORD_UPDATE_AUTHOR>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_CLASSIFIED>27_BIALL-NET</default_db__x3A__IN7_DZIENNIK_KORESP:A_CLASSIFIED>
+<default_db__x3A__IN7_DZIENNIK_KORESP:A_ADM_COMPANY>27_BIALL-NET</default_db__x3A__IN7_DZIENNIK_KORESP:A_ADM_COMPANY>
+</default_db__x3A__IN7_DZIENNIK_KORESP:IN7_DZIENNIK_KORESP>

+ 96 - 0
SE/schema/dita/default_db-in7_dziennik_koresp/test-druk/build.xml

@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project basedir="." name="PRINT_TEMPLATE" default="buildpdf">
+    <!-- Przykładowe wyzwolenie z bash :
+    cat input.xml | /Library/Server/Web/Data/Sites/Default/SE/stuff/dita-ot-2.3.3/bin/ant -buildfile ild__IN7_DZIENNIK_KORESP.xml
+    na output mamy pdf'a
+-->
+
+    <property name="INPUT" value="Test_z_getfeature_do_parse.xml"/>
+    <tempfile property="tmp.xml" destdir="temp" deleteonexit="yes"/>
+    <tempfile property="Test_z_getfeature_do_parse__noxml.xml" destdir="temp" deleteonexit="yes"/>
+    <tempfile property="main__noxml.dita" destdir="temp" deleteonexit="yes"/>
+    <tempfile property="Test_z_getfeature_do_parse__noxml.xml" destdir="temp" deleteonexit="yes"/>
+    <tempfile property="main__noxml.dita" destdir="temp" deleteonexit="yes"/>
+    <tempfile property="out_task.dita" deleteonexit="yes" />
+    <!--<tempfile destdir="out.dita" deleteonexit="yes"/>-->
+    <!--<delete file="tmp.xml"/>
+    <delete file="Test_z_getfeature_do_parse__noxml.xml"/>
+    <delete file="main__noxml.dita"/>-->
+
+
+    <!--<if>
+        <available file="${INPUT}" type="file" />
+    </if>-->
+
+
+
+    <target name="check" >
+        <echo message="testuje check"/>
+        <condition property="test_if_INPUTxml" taskname="buildpdf" value="AVIABLE">
+            <available file="Test_z_getfeature_do_parse.xml" filepath="." />
+        </condition>
+    </target>
+
+    <target name="make_inputXML_from_stdin" unless="test_if_INPUTxml">
+        <echo message="make_inputXML_from_stdin is not aviable appending"/>
+        <input addproperty="INPUT_from_stdin"/>
+        <echo message="${INPUT_from_stdin}" file="${INPUT}"/>
+        <!--<echo file="${test_if_INPUTxml}" message=""/>-->
+    </target>
+    <target name="check-info" if="test_if_INPUTxml">
+        <echo message="Using default XML object on input from file ${INPUT} . "/>
+    </target>
+
+    <target name="buildpdf" depends="check,check-info,make_inputXML_from_stdin">
+
+        <echo message="buildpdf to ${test_if_INPUTxml}"/>
+        <!-- przyklad z uzywaniem saxona ktorego wczesniej trzeba pobrac z port install saxon -->
+        <xslt style="copy-no-xml.xsl" in="${INPUT}" out="${Test_z_getfeature_do_parse__noxml.xml}"> <!-- {Test_z_getfeature_do_parse__noxml.xml"-->
+            <factory name="net.sf.saxon.TransformerFactoryImpl">
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+        </xslt>
+        <xslt style="copy-no-xml.xsl" in="main.dita" out="${main__noxml.dita}"/>
+        <concat destfile="${tmp.xml}" append="true" encoding="UTF-8" >
+            <string>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+                &lt;root&gt;</string>
+            <file file="${Test_z_getfeature_do_parse__noxml.xml}"  />
+            <file file="${main__noxml.dita}"/>
+            <string>&lt;/root&gt;</string>
+        </concat>
+        <xslt basedir="./" style="IN7_DZIENNIK_KORESP.xsl" in="${tmp.xml}"  destdir="./" out="${out_task.dita}" >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+        </xslt>
+        <property name="dita.dir" location="/Library/Server/Web/Data/Sites/Default/SE/stuff/dita-ot-2.3.3/bin/dita"/>
+        <exec executable="${dita.dir}" dir=".">
+            <arg value="-i"/>
+            <arg value="${out_task.dita}" />
+            <arg value="-f" />
+            <arg value="pdf"/>
+            <arg value="-o"/>
+            <arg value="out"/>
+        </exec>
+
+        <exec executable="bash" dir="." outputproperty="out_task_file">
+            <arg value="-c"/>
+            <arg value="echo ${out_task.dita} |sed 's/^.*\///'"/>
+        </exec>
+
+        <!--<propertyregex  property="out_file" input="${out_task.dita}" regexp="$.*/(.*)" select="\1."/>-->
+        <loadfile property="result" srcFile="out/${out_task_file}.pdf"/>
+        <!--<echo message="input was : ${input}"/>-->
+        <echo message="OUTPUT_PDF_FILE: out/${out_task_file}.pdf"/>
+        <!-- <echo message="${result}"/> -->
+        <!--<propertyregex
+            name="test"
+            property="current.target.dir"
+            input="com.element.subelement"
+            regexp="\."
+            replace="/"
+            global="true" />-->
+    </target>
+</project>

+ 11 - 0
SE/schema/dita/default_db-in7_dziennik_koresp/test-druk/copy-no-xml.xsl

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+    <xsl:template match="*">
+        <xsl:copy-of select="."/>
+    </xsl:template>
+    
+</xsl:stylesheet>

+ 36 - 0
SE/schema/dita/default_db-in7_dziennik_koresp/test-druk/main.dita

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<topic id="untitled4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="../../topicProcesy5.xsd">
+  <title><ph>Pismo nr </ph><ph xpath="default_db__x3A__IN7_DZIENNIK_KORESP:ID_PROJECT"/>-<ph xpath="default_db__x3A__IN7_DZIENNIK_KORESP:ID"/>
+    <ph>z dnia</ph>
+    <ph xpath="default_db__x3A__IN7_DZIENNIK_KORESP:K_DATA_OTRZYMANEJ_KORESP"/></title>
+  <body>
+    <table frame="all" rowsep="1" colsep="1" id="table_uh2_3qg_vx">
+      <title>Nagłówek</title>
+      <tgroup cols="2" align="right">
+        <colspec colname="c1" colnum="1" colwidth="2.57*"/>
+        <colspec colname="c2" colnum="2" colwidth="1*"/>
+        <thead>
+          <row>
+            <entry>Adresat</entry>
+            <entry xpath="K_OD_KOGO"/>
+          </row>
+        </thead>
+        <tbody>
+          <row>
+            <entry>Adres:</entry>
+            <entry xpath="default_db__x3A__IN7_DZIENNIK_KORESP:OD_KOGO_ADRES"/>
+          </row>
+          <row>
+            <entry>Wasz znak</entry>
+            <entry xpath="default_db__x3A__IN7_DZIENNIK_KORESP:K_NR_OTRZYM_KORESP"/>
+          </row>
+        </tbody>
+      </tgroup>
+    </table>
+    <p xpath="default_db__x3A__IN7_DZIENNIK_KORESP:K_ZAWARTOS">Treść:
+
+      <data>test  data</data>
+    </p>
+  </body>
+</topic>

+ 128 - 0
SE/schema/dita/topicProcesy5.xsd

@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ============================================================= -->
+<!--                    HEADER                                     -->
+<!-- ============================================================= -->
+<!--  MODULE:    DITA Topic XSD                                    -->
+<!--  VERSION:   1.2                                             -->
+<!--  DATE:      November 2009                                     -->
+<!--                                                               -->
+<!-- ============================================================= -->
+
+
+<!-- ============================================================= -->
+<!-- SYSTEM:     Darwin Information Typing Architecture (DITA)     -->
+<!--                                                               -->
+<!-- PURPOSE:    W3C XML Schema to describe DITA Topics            -->
+<!--                                                               -->
+<!-- ORIGINAL CREATION DATE:                                       -->
+<!--             March 2001                                        -->
+<!--                                                               -->
+<!--             (C) Copyright OASIS-Open.org 2005, 2009                -->
+<!--             (C) Copyright IBM Corporation 2001, 2004.         -->
+<!--             All Rights Reserved.                              -->
+<!-- ============================================================= -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+  attributeFormDefault="unqualified" xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
+  <!-- Add the domains to the base topic XML Schema -->
+  <!--  ================ TOPIC DOMAINS =====================  -->
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:uiDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:softwareDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:highlightDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:programmingDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:utilitiesDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:indexingDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:hazardstatementDomain.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:abbreviateDomain.xsd:1.2"/>
+  <!--  ================ GROUP DEFINITIONS =====================  -->
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclGrp.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.2"/>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:topicGrp.xsd:1.2"/>
+  <!-- =================  MODULE INLCUDE DEFINITION  ==================  -->
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementMod.xsd:1.2"/>
+  <!-- ======== Table elements ======== -->
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclMod.xsd:1.2"/>
+  <!-- ======= MetaData elements, plus keyword and indexterm ======= -->
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclMod.xsd:1.2"/>
+  <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementGrp.xsd:1.2">
+    <xs:group name="keyword">
+      <xs:choice>
+        <xs:group ref="keyword"/>
+        <xs:group ref="pr-d-keyword"/>
+        <xs:group ref="ui-d-keyword"/>
+        <xs:group ref="sw-d-keyword"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="ph">
+      <xs:choice>
+        <xs:group ref="ph"/>
+        <xs:group ref="pr-d-ph"/>
+        <xs:group ref="ui-d-ph"/>
+        <xs:group ref="hi-d-ph"/>
+        <xs:group ref="sw-d-ph"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="pre">
+      <xs:choice>
+        <xs:group ref="pre"/>
+        <xs:group ref="pr-d-pre"/>
+        <xs:group ref="ui-d-pre"/>
+        <xs:group ref="sw-d-pre"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="dl">
+      <xs:choice>
+        <xs:group ref="dl"/>
+        <xs:group ref="pr-d-dl"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="fig">
+      <xs:choice>
+        <xs:group ref="fig"/>
+        <xs:group ref="pr-d-fig"/>
+        <xs:group ref="ut-d-fig"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="index-base">
+      <xs:choice>
+        <xs:group ref="index-base"/>
+        <xs:group ref="indexing-d-index-base"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="note">
+      <xs:choice>
+        <xs:group ref="note"/>
+        <xs:group ref="hazard-d-note"/>
+      </xs:choice>
+    </xs:group>
+    <xs:group name="term">
+      <xs:choice>
+        <xs:group ref="term"/>
+        <xs:group ref="abbrev-d-term"/>
+      </xs:choice>
+    </xs:group>
+    <xs:attributeGroup name="props-attribute-extensions">
+      <xs:attributeGroup ref="props-attribute-extensions"/>
+      <xs:attributeGroup ref="procesy5-dita-extensions"/>
+    </xs:attributeGroup>
+    <xs:attributeGroup name="base-attribute-extensions">
+      <xs:attributeGroup ref="base-attribute-extensions"/>
+      <xs:attributeGroup ref="procesy5-dita-extensions"/>
+    </xs:attributeGroup>
+  </xs:redefine>
+  <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:topicMod.xsd:1.2"/>
+  <xs:group name="info-types">
+    <xs:sequence/>
+  </xs:group>
+  <xs:attributeGroup name="domains-att">
+    <xs:attribute name="domains" type="xs:string"
+      default="(topic abbrev-d)                                            (topic hazard-d)                                            (topic hi-d)                                            (topic indexing-d)                                                                                       (topic pr-d)                                             (topic sw-d)                                            (topic ui-d)                                             (topic ut-d)"
+    />
+  </xs:attributeGroup>
+  <xs:attributeGroup name="procesy5-dita-extensions">
+    <xs:attribute name="ID_PROCES"/>
+    <xs:attribute name="ID_ZASOB"/>
+    <xs:attribute name="ID_CRM_ASSOC"/>
+    <xs:attribute name="FIELD"/>
+    <xs:attribute name="xpath"/>
+  </xs:attributeGroup>
+</xs:schema>

+ 122 - 0
SE/se-lib/Route/Dita.php

@@ -0,0 +1,122 @@
+<?php
+
+Lib::loadClass('RouteBase');
+Lib::loadClass('UI');
+Lib::loadClass('DBG');
+
+/**
+ * Executes ant build for dita file - creates pdf file
+ * - ant build in SE/schema/dita/{object_namespace_to_file_path}/{function_name}/build.xml
+ */
+class Route_Dita extends RouteBase {
+
+  public function defaultAction() {
+
+    // Expected Result:
+    // ...
+    // [echo] OUTPUT_PDF_FILE: out/null1293984876.pdf
+    //
+    // BUILD SUCCESSFUL
+    // ...
+
+    UI::gora();
+    UI::tag('h1', [], 'Dita');
+    $ditaList = $this->getDitaFunctionList();
+    DBG::_(true, true, "\$ditaList", $ditaList, __CLASS__, __FUNCTION__, __LINE__);
+    UI::startTag('ul');
+    UI::startTag('li');
+      UI::tag('a', ['href'=>"index.php?_route=Dita&_task=reinstall"], "Reinstall");
+    UI::endTag('li');
+    foreach ($ditaList as $ditaPath => $label) {
+      $link = "index.php?_route=Dita&_task=generatePdf&ditaPath={$ditaPath}";
+      UI::startTag('li');
+        UI::tag('a', ['href'=>$link], $label);
+      UI::endTag('li');
+    }
+    UI::endTag('ul');
+  }
+
+  public function getDitaFunctionList() {
+    return [
+      'default_db-in7_dziennik_koresp/test-druk' => "Test Koresp Dita Druk PDF"
+    ];
+  }
+
+  public function generatePdfAction() {
+    $ditaPath = V::get('ditaPath', '', $_GET);
+    $idKoresp = V::get('idKoresp', 0, $_POST, 'int');
+    $doExecute = V::get('doExecute', '', $_POST);
+
+    $ditaList = $this->getDitaFunctionList();
+    if (!array_key_exists($ditaPath, $ditaList)) throw new Exception("dita path not found", 404);
+
+    UI::gora();
+    UI::startContainer();
+    try {
+      UI::tag('h1', [], "Dita: '{$ditaList[$ditaPath]}'");
+
+      UI::startTag('form', ['action'=>"", 'method'=>"POST", 'class'=>'form-inline']);
+      UI::tag('input', ['type'=>'number', 'value'=>$idKoresp, 'class'=>'form-control', 'style'=>'max-width:200px']);
+      UI::tag('input', ['type'=>'hidden', 'name'=>'doExecute', 'value'=>'1']);
+      UI::tag('input', ['type'=>"submit", 'value'=>"Wykonaj", 'class'=>'btn btn-primary']);
+      UI::endTag('form');
+
+      if ($doExecute) {
+        // if ($idKoresp <= 0) throw new Exception("Bad Request - missing id koresp");
+        if ($idKoresp <= 0) UI::alert('danger', "Missing id koresp - using default file");
+        if ($idKoresp > 0) UI::alert('warning', "TODO: generate xml file for id koresp = {$idKoresp}");
+
+        $execPath = APP_PATH_SCHEMA . DS . 'dita' . DS . $ditaPath;
+        $ant = APP_PATH_WWW . DS . 'stuff' . DS . 'dita-ot-2.3.3' . DS . 'bin' . DS . 'ant';
+        $cmd = "cd {$execPath} && {$ant}";
+        V::exec($cmd, $out, $ret);
+        DBG::_(true, true, "cmd: {$cmd} (return: {$ret})", $out, __CLASS__, __FUNCTION__, __LINE__);
+      }
+
+      throw new Exception("TODO: F." . __FUNCTION__ . " . L." . __LINE__);
+    } catch (Exception $e) {
+      UI::alert('danger', $e->getMessage());
+    }
+    UI::endContainer();
+    UI::dol();
+  }
+
+  public function reinstallAction() {
+    UI::gora();
+    UI::tag('h1', [], 'Reinstall Dita Open Toolkit 2.3.3');
+    $stuffPath = APP_PATH_WWW . DS . 'stuff';
+    // $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default/SE/stuff && rm dita-ot-2.3.3.zip || echo PASSED";
+  	// $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default/SE/stuff && wget https://github.com/dita-ot/dita-ot/releases/download/2.3.3/dita-ot-2.3.3.zip -O dita-ot-2.3.3.zip ";
+  	// $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default/SE/stuff && rm dita-ot-2.3.3 || echo PASSED";
+  	// $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default/SE/stuff && unzip dita-ot-2.3.3.zip || echo PASSED";
+  	// $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default/SE/stuff/dita-ot-2.3.3 && ./startcmd.sh || echo PASSED";
+    $wget = "/opt/local/bin/wget";
+    $unzip = "/usr/bin/unzip";
+
+    // $testCmd = "which unzip";
+    // V::exec($testCmd, $out, $ret);
+    // DBG::_(true, true, "testCmd: {$testCmd} (return: {$ret})", $out, __CLASS__, __FUNCTION__, __LINE__);
+
+    // $testCmd = "which wget";
+    // V::exec($testCmd, $out, $ret);
+    // DBG::_(true, true, "testCmd: {$testCmd} (return: {$ret})", $out, __CLASS__, __FUNCTION__, __LINE__);
+
+    $cmd = "cd {$stuffPath} ; [ -f dita-ot-2.3.3.zip ] && rm dita-ot-2.3.3.zip";
+    V::exec($cmd, $out, $ret);
+    DBG::_(true, true, "cmd: {$cmd} (return: {$ret})", $out, __CLASS__, __FUNCTION__, __LINE__);
+
+    $cmd = "cd {$stuffPath} ; {$wget} https://github.com/dita-ot/dita-ot/releases/download/2.3.3/dita-ot-2.3.3.zip -O dita-ot-2.3.3.zip";
+    V::exec($cmd, $out, $ret);
+    DBG::_(true, true, "cmd: {$cmd} (return: {$ret})", $out, __CLASS__, __FUNCTION__, __LINE__);
+
+    $cmd = "cd {$stuffPath}
+[ -f dita-ot-2.3.3.zip ] && rm dita-ot-2.3.3.zip
+{$wget} https://github.com/dita-ot/dita-ot/releases/download/2.3.3/dita-ot-2.3.3.zip -O dita-ot-2.3.3.zip
+[ -d dita-ot-2.3.3 ] && rm -rf dita-ot-2.3.3
+{$unzip} dita-ot-2.3.3.zip
+    ";
+    V::exec($cmd, $out, $ret);
+    DBG::_(true, true, "cmd: {$cmd} (return: {$ret})", $out, __CLASS__, __FUNCTION__, __LINE__);
+  }
+
+}