You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by "Perlman, Kenneth" <Ke...@medec.com> on 2001/12/17 19:29:24 UTC

FW: Porting XSL script from NT to UNIX Location of error unknown) XL Error (java.lang.OutOf MemoryError):


> -----Original Message-----
> From:	Perlman, Kenneth 
> Sent:	Friday, December 14, 2001 2:31 PM
> To:	'xalan-j-users@xml.apache.org''
> Subject:	Porting XSL script from NT to UNIX Location of error
> unknown)XSLT Error (java.lang.OutOf MemoryError):
> 
> A set 9 xsl scripts were developed in UNIX NT environment. These
> scripts were installed on a UNIX Sun Platform. The first seven scripts
> produced the same results in both environments. The eighth script
> terminated abnormally with the
> following message:
> 
> (Location of error unknown)XSLT Error (java.lang.OutOf MemoryError):
> null
> 
> This error message indicate that OS  could not allocate memory to the
> process.
> This XSL script was executed by xalan.
> 
> The system monitors did not indicate inordinately high memory usage by
> the process.
> 
> The following is the source of the xsl script:
> 
> **************************************************************************
> *****
> <?xml version = "1.0" encoding = "UTF-8"?>
> <xsl:transform xmlns:xsl = "<http://www.w3.org/1999/XSL/Transform>"
> version = "1.0">
> <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
> <xsl:strip-space elements="*"/>
> 
> <!--	Transformation of pguide.xml export from PDR Concise FileMaker
> Pro application
> 	Date: Oct 25, 2001
> 	Programmer: Chris McCabe
> 	
> 	DTD: concise.dtd
> -->
> 
> 	<!-- Copy all nodes over -->
> 	<xsl:template match="@*|node()">
> 		<xsl:copy>
> 			<xsl:apply-templates select="@*|node()"/>
> 		</xsl:copy>
> 	</xsl:template>
> 
> 	<!-- During copy, change root node FMPDSORESULT to PDRConcise, as
> per
> the Concise DTD -->
> 	<xsl:template match = "FMPDSORESULT">
> 		<xsl:element name = "PDRConcise">
> 			<xsl:apply-templates select = "ROW"/>
> 		</xsl:element>
> 	</xsl:template>
> 	
> 	<!-- Transform incoming elements to DTD specified attributes where
> appropriate -->
> 	<xsl:template match = "ROW">
> 		<xsl:element name = "Monograph">
> <!-- Eliminated ExportVersionNumber from the DTD KAP
> 			<xsl:attribute name = "ExportVersionNumber">
> 				<xsl:value-of select =
> "ExportVersionNumber"/>
> 			</xsl:attribute>
> -->
> <!--	Duplicate piece of code		
> 			<xsl:attribute name = "Activity">
> 				<xsl:value-of select = "Activity"/>
> 			</xsl:attribute>
> -->			
> 			<xsl:attribute name = "Status">
> 			<xsl:choose>
> 				  	    
> 				<xsl:when test="Status[.='1st
> Rev']">FirstRev</xsl:when>
> 				  	      
> 				<xsl:when test="Status[.='2nd
> Rev']">SecondRev</xsl:when>
> 				 
> 				<xsl:when test="Status[.='Final
> Ok']">FinalOk</xsl:when>
> 				 
> 				<xsl:otherwise>Draft</xsl:otherwise>
> 				  	      
> 	  		</xsl:choose>
> 				
> 			</xsl:attribute>
> 			
> 			<xsl:attribute name = "MonoID">M<xsl:value-of select
> =
> "FileID"/></xsl:attribute>
> 			
> 			<xsl:attribute name = "LastModifiedDate">
> 				<xsl:value-of select = "ModDate"/>
> 			</xsl:attribute>
> 			
> 			<xsl:attribute name = "CreatedDate">
> 				<xsl:value-of select = "ModDate"/>
> 			</xsl:attribute>
> 		
> <!--			MPGExport was eliminated from the DTD KAP
> 			<xsl:attribute name = "MPGExport">0</xsl:attribute>
> -->						
> 			<xsl:attribute name = "LastEditor">
> 				<xsl:value-of select = "FileOwner"/>
> 			</xsl:attribute>
> 			
> 			<xsl:attribute name = "AlertsReferences">
> 				<xsl:value-of select = "AlertCntNo"/>
> 			</xsl:attribute>
> 			
> 			<xsl:attribute name = "SplitsReferences">
> 				<xsl:value-of select = "SplitCntYes"/>
> 			</xsl:attribute>
> 			
> 			<xsl:attribute name = "Export">
> 			<xsl:choose>
> 							  	    
> 				<xsl:when
> test="DONOTEXPORT[.='x']">1</xsl:when>		  	      
> 				<xsl:otherwise>0</xsl:otherwise>
> 							  	      
> 	  		</xsl:choose>
> 			</xsl:attribute>
> 
> 			<xsl:attribute name = "GenericOnly">
> 			<xsl:choose>
> 	
> 
> 				<xsl:when
> test="GenericOnlyFlag[.='yes']">1</xsl:when>		  	      
> 				<xsl:otherwise>0</xsl:otherwise>
> 	
> 
> 	  		</xsl:choose>
> 			</xsl:attribute>
> 			
> 			<xsl:attribute name = "PDRDrug">
> 			<xsl:choose>
> 	
> 
> 				<xsl:when
> test="PDRorNon[.='yes']">1</xsl:when>	
> 				<xsl:when
> test="PDRorNon[.='Yes']">1</xsl:when>	
> 				<xsl:when
> test="PDRorNon[.='No']">0</xsl:when>	
> 				<xsl:otherwise>0</xsl:otherwise>
> 	
> 
> 	  		</xsl:choose>
> 			</xsl:attribute>		
> 			
> 			<xsl:attribute name = "Activity">
> 			<xsl:choose>
> 	
> 
> 				<xsl:when
> test="Activity[.='']">Inactive</xsl:when>	
> 				<xsl:when
> test="Activity[.='In-active']">Inactive</xsl:when>	
> 				<xsl:otherwise>Active</xsl:otherwise>
> 	
> 
> 	  		</xsl:choose>
> 			</xsl:attribute>
> <!-- Duplicate piece of code: KAP 			
> 			<xsl:attribute name = "DrugInactiveDate">
> 				<xsl:value-of select = "ActiveDate"/>
> 			</xsl:attribute>
> -->
> 			<xsl:attribute name = "DrugInactiveDate">
> 				<xsl:value-of select = "ActiveDate"/>
> 			</xsl:attribute>		
> 			
> 			<FileID>
> 				<xsl:value-of select="FileID"/>
> 			</FileID>
> 			
> 			<MonographName>
> 				<xsl:value-of select="MonoNameCal" />
> 			</MonographName>
> 
> 			<BlackBoxWarning><xsl:value-of
> select="BlackBoxWarning"/></BlackBoxWarning>
> 						
> 			<xsl:apply-templates/>
> 
> 		</xsl:element>	
> 		
> 	</xsl:template>
> 	
> 	<!-- Filter out fields we don't need...no particular order specified
> -->
> 	<xsl:template match = "Indications | HowSupplied | SubClass |
> GenericName | BrandName | FileID | ExportVersionNumber | Activity |
> Status | LastModified | FileOwner"/>
> 	<xsl:template match = "BlackBoxWarning | AlertCnYes | SplitCnYes |
> DoNotExport | MPGDoNotExport |GenericOnlyFlag" />
> 	<xsl:template match = "MonoNameCal | PediatricDose  | TherSubClass |
> Manufacturer | PDRorNon | ActiveDate | global | Global2 | Bold |
> Italic"/>
> 	<xsl:template match = "Dosage | Count_Test | Readme |
> Manufacture_Cal
> | Count_Test | BrandNameCal"/>
> 	<xsl:template match = "WordCount | Sub | Sup | GNameSalt |
> Description | Titlestart | ImportPassword"/>
> 	<xsl:template match = "DateSentOut | ReadMe | forexport | forexport2
> | Checkbox1 | checkbox2 "/> <xsl:template match = "exportdate | entername
> | TimeMod | ExportTime
> | SaveVersion | pdrfolio "/>
> 	<xsl:template match = "ManufacturerPrimary | npdfolio | optofolio |
> FolioCombo | PageCountTest | IndiGlobal | IndiPatternCnt "/>
> 	<xsl:template match = "IndiWFileID | GenericPattern1 |
> GenericPattern1_Copy | GenericGlobal | GenericComboMain "/>
> 	<xsl:template match = "GenericSpliter | ModDate | GenericP1 |
> GGenericP2 | ComboStamp | ComboToggle | ComboHeader "/>
> 	<xsl:template match = "BrandNamePrimary | GenericP2 | ComboHeader2 |
> Client | FinalExportToggle | ClientExportDate | ClientExportTime  "/>
> 	<xsl:template match = "ExportTest1 | FileIDClientCal |
> TestForMissing
> | lientPlusNo | ComboName  | ClientPattern "/>
> 	<xsl:template match = "DONOTEXPORT | BrandNamePrimaryCheck |
> MonoNameText | ExportLine | BrandComboMain | Cat2IndexText "/>
> 	<xsl:template match = "TherSubSub_Original | TimeSentOut |
> GNameSaltTrim | StyleCheckbox | DosageTrim | StyleCheckbox |
> GNameSaltTrim | Cat2IndexOptioal "/>
> 	<xsl:template match = "PrimaryManufacturer | OldSubClass |
> OldTheraputicClass | BookCode | SplitCnNo | PutInDate |  ClientPlusNo
> | SplitCntYes | AlertCntNo | AlertCntYes | FolioCombined"/>
> 	
> 	<!-- Remove any elements with the string _TRIM in their name -->
> 	<xsl:template match="ROW/*[contains(name(),'_TRIM')]">
> 	   <!-- do something -->
> 	</xsl:template >
> 	
> 
> 	<xsl:template match="DEAClass">
> 	<DEAClassification>
> 	<xsl:attribute name = "DEAClass">
> 		<xsl:value-of select = "/FMPDSORESULT/ROW/DEAClass"/>
> 	</xsl:attribute>	
> 	</DEAClassification>
> 	</xsl:template>  
> 
> 	<!-- prepare MasterDrugInfo element and corresponding child elements
> as per the DTD -->
> 	  <xsl:template match="ThrepaeuticClass">
> 	  	<MasterDrugInfo>
> 	  		<TherapeuticClassificationEntry>
> 	    			<xsl:element name="TherapeuticCategory">
> 					<xsl:apply-templates
> select="@*|node()"/>
> 				</xsl:element>
> 				<TherapeuticSubCategory>
> 					<xsl:value-of select="../SubClass"/>
> 
> 				</TherapeuticSubCategory>		
> 	  		</TherapeuticClassificationEntry>
> 	  		<PhamalogicalCategory>
> 		  		<xsl:value-of select="../TherSubClass"/>
> 		  	</PhamalogicalCategory>
> 		  	<HowSupplied>
> 		  		<xsl:value-of select="../HowSupplied"/>
> 		  	</HowSupplied>
> 		  	<AdultDosage>
> 		  		<xsl:value-of select="../Dosage"/>
> 
> 		  	</AdultDosage>
> 		  	<PediatricDosage>
> 		  		<xsl:value-of select="../PediatricDose"/>
> 
> 		  	</PediatricDosage>	  	
> 		  	<Indications>
> 		  		<xsl:value-of select="../Indications"/>
> 
> 		  	</Indications>		  	
> 	  	</MasterDrugInfo>
>   	</xsl:template>	
> 
> 
>   	<xsl:template match="Contraindications">
>   	      <xsl:element name="Contraindications">
>   	  			<xsl:apply-templates select="@*|node()"/>
>   	  	</xsl:element>
>   	</xsl:template>  
>   
> 	<xsl:template match="WarningPrecautions">
> 		<xsl:element name="WarningPrecautions">
>   	    		<xsl:apply-templates select="@*|node()"/>
>   	    	</xsl:element>
>   	</xsl:template>  
>   	
> 	<xsl:template match="//B|//I">
> 		<xsl:element name="Emphasis">
>   	    		<xsl:apply-templates select="@*|node()"/>
>   	    	</xsl:element>
>   	</xsl:template>  
>   	
>   	<xsl:template match="SUP">
> 			<xsl:element name="Superscript">
> 	  	    		<xsl:apply-templates select="@*|node()"/>
> 	  	    	</xsl:element>
>   	</xsl:template>    	
> 
>   	<xsl:template match="SUB">
> 			<xsl:element name="Subscript">
> 	  	    		<xsl:apply-templates select="@*|node()"/>
> 	  	    	</xsl:element>
>   	</xsl:template>    	
> 
>  
> </xsl:transform>
> 
> 
> **************************************************************************
> *****
> I need some help in addressing this problem
> 
> Ken Perlman
>