[xsl] How can I merge two DTD by using XSL ?

Subject: [xsl] How can I merge two DTD by using XSL ?
From: Stephane.Le-Deaut@xxxxxxxxxx
Date: Tue, 19 Mar 2002 09:42:16 +0100
Hello,

I have a DTD which calls scenario.dtd. In this one I declare an entity which calls xsldefinition.dtd.

....
<!ENTITY % xslDefinition SYSTEM "xsldefinition.dtd">
%xslDefinition;
<!ELEMENT XslTransformError (#PCDATA)>
<!ELEMENT XslTransformTrack (#PCDATA)>
<!ELEMENT XslTransform (InputParameter*, Constant*, OutputParameter?, %xslListProcedure;, XslTransformError, XslTransformTrack)>
<!ATTLIST XslTransform
     name CDATA #REQUIRED
     description CDATA #IMPLIED
     xslSheet %xslList; #REQUIRED
>

My problem is that I have to build the xsldefinition.dtd by using this two files :

The first one xsldefinition1.dtd is like that :
<!ENTITY % xslList " (updateDeliveryFile) ">
<!ENTITY % xslListProcedure " (updateDeliveryFile:XslParameter) ">

                     <!-- * Proc Xsl : updateDeliveryFile * -->
                     <!ELEMENT updateDeliveryFile:XslParameter (updateDeliveryFile:InputFile,
                     updateDeliveryFile:OutputFile, updateDeliveryFile:Parameter)>
                     <!ELEMENT updateDeliveryFile:InputFile EMPTY>
                     <!ATTLIST updateDeliveryFile:InputFile
                     evolutionFile CDATA #REQUIRED
                     >
                     <!ELEMENT updateDeliveryFile:OutputFile EMPTY>
                     <!ELEMENT updateDeliveryFile:Parameter EMPTY>
                     <!ATTLIST updateDeliveryFile:Parameter
                     rddVersion CDATA #REQUIRED
                     dataDirectoryName CDATA #REQUIRED
                     externalProgramVersion CDATA #REQUIRED
                     > ...

The second one  xsldefinition2.dtd like this :

<!ENTITY % xslList " (makePackageDescriptor) ">
<!ENTITY % xslListProcedure " (makePackageDescriptor:XslParameter) ">

                     <!-- * Proc Xsl : makePackageDescriptor * -->

                     <!ELEMENT makePackageDescriptor:XslParameter (makePackageDescriptor:InputFile,
                     makePackageDescriptor:OutputFile, makePackageDescriptor:Parameter)>
                     <!ELEMENT makePackageDescriptor:InputFile EMPTY>
                     <!ATTLIST makePackageDescriptor:InputFile
                     kitDevelopmentDescriptor CDATA #REQUIRED
                     applicationDevelopmentDescriptor CDATA #REQUIRED
                     kitAcaseDescriptor CDATA #IMPLIED
                     applicationAcaseDescriptor CDATA #IMPLIED
                     >
                     <!ELEMENT makePackageDescriptor:OutputFile EMPTY>
                     <!ATTLIST makePackageDescriptor:OutputFile
                     packageDescriptor CDATA #REQUIRED
                     > ...

The result xsldefinition.dtd of the merging should be like this :

                     <!ENTITY % xslList " (updateDeliveryFile|makePackageDescriptor) ">
                     <!ENTITY % xslListProcedure "
                     (updateDeliveryFile:XslParameter|makePackageDescriptor:XslParameter) ">
                     ....

To solve my problem, I 'm trying two solutions :
   Is it possible to merge the two files (xsldefinition1.dtd and xsldefinition2.dtd) by using XSL ?
   I've already tried to declare successively this two files in the scenario.dtd but I didn't succeed.

My explanation is quite long but tell me if something is not clear, I will give you further information.

Thanks in advance for your help.



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread