<?xml version="1.0"?>
<!DOCTYPE kernelPatches [
<!ELEMENT kernelPatches (kernel-name+, os*)>
<!ATTLIST kernelPatches
          name CDATA #REQUIRED
          vendor CDATA #REQUIRED
          unicodeSuffix CDATA #REQUIRED
          nonUnicodeSuffix CDATA #REQUIRED
          sequenceFile CDATA #REQUIRED
          sequence CDATA #REQUIRED
          nonUnicodeSupport (true|false) #REQUIRED >
<!ELEMENT kernel-name EMPTY>
<!ATTLIST kernel-name
          name CDATA #REQUIRED
          isUnicode (true|false) #REQUIRED >
<!ATTLIST os
          code CDATA #REQUIRED
          sequence CDATA #IMPLIED>
<!ELEMENT os (cmdVersion?, sar*, db*)>
<!ATTLIST cmdVersion 
          extractor CDATA #REQUIRED
          archiveId IDREF #REQUIRED
          cmd CDATA #REQUIRED>
<!ELEMENT cmdVersion (arg*)>
<!ELEMENT arg EMPTY>
<!ATTLIST arg 
value CDATA #REQUIRED>
<!ELEMENT sar EMPTY>
<!ATTLIST sar
          id ID #IMPLIED
          name CDATA #REQUIRED
          pattern CDATA #IMPLIED
          opCode (X | C | I) "X"
          required (Y | N) "Y"
          installerId CDATA #IMPLIED
          dir CDATA #IMPLIED
          manifest CDATA #IMPLIED>
<!ATTLIST db
          code CDATA #REQUIRED
          sequence CDATA #IMPLIED>
<!ELEMENT db (sar*)>
]>
<kernelPatches name="SAP J2EE KERNEL" vendor="sap.com"
               unicodeSuffix="UNICODE" nonUnicodeSuffix="NONUNICODE"
               sequenceFile="KernelTasksSequence.xml" sequence="process"
               nonUnicodeSupport="false" >
	<kernel-name name="JKRNL32UC" isUnicode="true"/>
	<kernel-name name="JKRNL64UC" isUnicode="true"/>
    <os code="*">
        <cmdVersion extractor="SAPCAR" archiveId="SAPJ2EE" cmd="msg_server">
            <arg value="-V"/>
        </cmdVersion>
        <sar name="SAPJ2EE.SAR" pattern="SAPJ2EE(_.*)?\.SAR" dir="kernel" id="SAPJ2EE" manifest="sapmanifestj2ee.mf"/>
        <db code="*">
            <sar name="SAPEXEDB.SAR" pattern="SAPEXEDB(_.*)?\.SAR" dir="kernel" manifest="sapmanifestdb.mf" required="N"/>
        </db>
    </os>

    <os code="WIN">
        <cmdVersion extractor="SAPCAR.EXE" archiveId="SAPJ2EE_WIN" cmd="msg_server">
            <arg value="-V"/>
        </cmdVersion>
        <sar name="SAPJ2EE.SAR" pattern="SAPJ2EE(_.*)?\.SAR" dir="kernel" id="SAPJ2EE_WIN" manifest="sapmanifestj2ee.mf"/>
        <db code="*">
            <sar name="SAPEXEDB.SAR" pattern="SAPEXEDB(_.*)?\.SAR" dir="kernel" manifest="sapmanifestdb.mf" required="N"/>
        </db>
    </os>

    <os code="OS4">
        <cmdVersion extractor="SAPCAR" archiveId="SAPJ2EE_OS4" cmd="msg_server">
            <arg value="-V"/>
        </cmdVersion>
        <sar name="SAPJ2EE.SAR" pattern="SAPJ2EE(_.*)?\.SAR" dir="kernel" id="SAPJ2EE_OS4" manifest="sapmanifestj2ee.mf"/>
        <db code="*">
            <sar name="SAPEXEDB.SAR" pattern="SAPEXEDB(_.*)?\.SAR" dir="kernel" manifest="sapmanifestdb.mf" required="N"/>
        </db>
    </os>

</kernelPatches>
