XSD в XSLT!

0
28 мар 2016 14:59
Доброе время суток. Хочу реализовать автоматизацию xslt маппинга. В двух словах: Есть две xsd схемы source и target, т.е из начальной схемы элементы маппятся в конечную схему.
На выходе хочу получить xslt файл. Например:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
                xmlns:ebs="http://xmlns.vtb24.ru/EnterpriseBusinessServiceLibrary/InsuranceContractBS/V1"
                xmlns:aia="http://www.oracle.com/XSL/Transform/java/oracle.apps.aia.core.xpath.AIAFunctions"
                xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
                xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
                xmlns:ns1="http://www.vtb24.ru/EnterpriseObjectLibrary/Business/Common/Model/FinancialTransaction/V2"
                xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
                xmlns:tsc="http://www.oracle.com/XSL/Transform/java/ru.tsconsulting.vtb24.soa.utils.xpath.TSCFunctions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns:ns2="http://www.vtb24.ru/EnterpriseObjectLibrary/Business/Common/Model/CustomerParty/V1"
                xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
                xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                xmlns:ebm="http://www.vtb24.ru/EnterpriseObjectLibrary/Business/Common/Services/InsuranceContract/V1"
                xmlns:ns3="http://xmlns.oracle.com/EnterpriseObjects/Core/Custom/Common/V2"
                xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                xmlns:ora="http://schemas.oracle.com/xpath/extension"
                xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
                xmlns:ns5="http://www.vtb24.ru/EnterpriseObjectLibrary/Business/Common/Model/Insurance/V1"
                xmlns:ns7="http://www.vtb24.ru/EnterpriseObjectLibrary/Core/Common/V1"
                xmlns:ns9="http://siebel.com/asi/"
                xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
                exclude-result-prefixes="xsi xsl ebs ns1 xsi wsoap12 ns2 soapenc soap ebm ns3 mime wsdl ns5 ns7 ws ns0 ns6 ns8 http xsd corecomora ns4 ns9 aia bpws xp20 bpel tsc bpm ora socket mhdr oraext dvm hwf med ids xdk xref ldap">
  <xsl:template match="/">
    <ns9:GetInsContractList_Output>
      <ns9:InsuredObject>
                <xsl:value-of select="InsuredObject/ns7:ID"/>
       </ns9:InsuredObject>
  </ns9:GetInsContractList_Output>
</xsl:template>
</xsl:stylesheet>


Простой пример вот. Т.е в маппинге который делается в дизайнере JDeveloper поле ns9:InsuredObject передается InsuredObject/ns7:ID.
Я хочу сделать программу которой можно было бы парсить xsd схемы, выделать поля(xpath) и генерировать по принципу который описан выше xslt преобразования.

З.Ы По генерации xslt я не нашел то что мне нужно. Посоветуйте как можно реализовать такой механизм. Спасибо!
Модераторы: Нет
Сейчас эту тему просматривают: Нет