php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #21539 Sablot dll crashing on xsl sort statement
Submitted: 2003-01-09 03:13 UTC Modified: 2003-02-20 08:01 UTC
Votes:3
Avg. Score:3.7 ± 0.9
Reproduced:1 of 2 (50.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: budingraham at yahoo dot com Assigned:
Status: No Feedback Package: XSLT related
PHP Version: 4.3.0 OS: Windows 98
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: budingraham at yahoo dot com
New email:
PHP Version: OS:

 

 [2003-01-09 03:13 UTC] budingraham at yahoo dot com
When I use the Sablot.dll which comes with php 4.3, this example crashes on the xsl:sort command.  However, when I use a Sablot.dll dated March 8, 2002, the sort works perfectly.

This test uses 3 files:  stock_test.html, stock_test.xml, stock_test.xsl



stock_test.html

<?

// Create an XSLT processor
$xsltHandle = xslt_create();

// Perform the transformation
$html = xslt_process($xsltHandle, 'htdocs/test/stock_test.xml', 'htdocs/test/stock_test.xsl');

// Detect errors
if (!$html) die('XSLT processing error: '.xslt_error($xsltHandle));

// Destroy the XSLT processor
xslt_free($xsltHandle);

// Output the resulting HTML
echo $html;

?>




stock_test.xml

<?xml version="1.0" ?>
<!DOCTYPE nasdaqamex-dot-com SYSTEM "NasdaqDotCom.dtd">
<nasdaqamex-dot-com>
<equity-quote symbol="QQQ" ilx-symbol="QQQ" hyperfeed-symbol="QQQ" telesphere-symbol="QQQ" cusip="63110010"><issue-name>Nasdaq-100 Index Tracking Stock</issue-name><market-status>O</market-status><market-center-code>AMEX</market-center-code><issue-type-code>Exchange Traded Fund</issue-type-code><todays-high-price>31.09</todays-high-price><todays-low-price>29.5</todays-low-price><fifty-two-wk-high-price>51.05</fifty-two-wk-high-price><fifty-two-wk-low-price>23.88</fifty-two-wk-low-price><last-sale-price>29.69</last-sale-price><net-change-price>-1.26</net-change-price><net-change-pct>-4.07%</net-change-pct><share-volume-qty>106564400</share-volume-qty><previous-close-price>30.95</previous-close-price><best-bid-price>0</best-bid-price><best-ask-price>0</best-ask-price><best-bid-price session-type="AfterHours">0</best-bid-price><best-ask-price session-type="AfterHours">0</best-ask-price><current-pe-ratio>N/A</current-pe-ratio><total-outstanding-shares-qty>622750000</total-outstanding-shares-qty><current-yield-pct>0</current-yield-pct><earnings-actual-eps-amt>0</earnings-actual-eps-amt><cash-dividend-amt>0</cash-dividend-amt><cash-dividend-ex-date>19691231</cash-dividend-ex-date><sp500-beta-num>2.11</sp500-beta-num><trade-datetime>20020510 15:56:03</trade-datetime><issuer-address-line1-txt>Nasdaq Investment Product Services, Inc.</issuer-address-line1-txt><issuer-address-line3-txt>1735 K Street, N.W.</issuer-address-line3-txt><issuer-city-state-zip-txt>Washington DC 20006 United States</issuer-city-state-zip-txt><issuer-phone-num> 202-496-2552</issuer-phone-num><issuer-web-site-url>http://www.nasdaq.com/asp/indexshares.asp?symbol=QQQ</issuer-web-site-url><issuer-logo-url>http://a676.g.akamaitech.net/f/676/838/1h/nasdaq.com/logos/QQQ.GIF</issuer-logo-url><trading-status>ACTIVE</trading-status><market-capitalization-amt>18489447500</market-capitalization-amt><option-root-symbol symbol=""/></equity-quote><equity-quote symbol="NT" ilx-symbol="NT" hyperfeed-symbol="NT" telesphere-symbol="NT" cusip="656568102"><issue-name>Nortel Networks Corp</issue-name><market-status>O</market-status><market-center-code>NYSE</market-center-code><issue-type-code>Common Stock</issue-type-code><todays-high-price>2.89</todays-high-price><todays-low-price>2.64</todays-low-price><fifty-two-wk-high-price>16.2</fifty-two-wk-high-price><fifty-two-wk-low-price>2.63</fifty-two-wk-low-price><last-sale-price>2.75</last-sale-price><net-change-price>-0.10</net-change-price><net-change-pct>-3.51%</net-change-pct><share-volume-qty>10266100</share-volume-qty><previous-close-price>2.85</previous-close-price><best-bid-price>0</best-bid-price><best-ask-price>0</best-ask-price><best-bid-price session-type="AfterHours">0</best-bid-price><best-ask-price session-type="AfterHours">0</best-ask-price><current-pe-ratio>NE</current-pe-ratio><total-outstanding-shares-qty>3204653000</total-outstanding-shares-qty><current-yield-pct>0</current-yield-pct><earnings-actual-eps-amt>-7.12</earnings-actual-eps-amt><cash-dividend-amt>0</cash-dividend-amt><cash-dividend-ex-date>19691231</cash-dividend-ex-date><sp500-beta-num>2.17</sp500-beta-num><trade-datetime>20020510 15:56:03</trade-datetime><issuer-web-site-url>http://www.nortelnetworks.com</issuer-web-site-url><trading-status>ACTIVE</trading-status><market-capitalization-amt>8812795750</market-capitalization-amt><option-root-symbol symbol=""/></equity-quote>
</nasdaqamex-dot-com>




stock_test.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:template match="/">
		<html>
			<head>
				<title>Stock Information from Nasdaq</title>
			</head>
			<body bgcolor="#cccccc">
				<div align="center"><h1>Stock Information from <font color="#006600">Nasdaq</font></h1>
				<table cellspacing="12">
					<tbody>
						<th>
							<tr>
								<td><b><u>Name</u></b></td>
								<td><b><u>Last Sale</u></b></td>
							</tr>
						</th>
						<xsl:for-each select="//equity-quote">
							<xsl:sort select="@symbol" />
								<tr>
									<td>
										<font color="#0033cc"><xsl:apply-templates select="@symbol" /></font>
									</td>
									<td align="center">
										<xsl:apply-templates select="last-sale-price" />
									</td>
								</tr>
						</xsl:for-each>
					</tbody>
				</table></div>
			</body>
		</html>
	</xsl:template>
</xsl:stylesheet>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-01-09 03:17 UTC] BudIngraham at yahoo dot com
FYI, I am using Apache 1.3.27
 [2003-01-09 08:43 UTC] budingraham at yahoo dot com
I have since tested the new Sablot.dll in Windows 2000, and it  works fine.  This could be a bug that is confined to only Windows 98.  This would make this bug of relatively little importance.

There is one more file that is necessary for the test - NasdaqDotCom.dtd


NasdaqDotCom.dtd

<?xml version="1.0" encoding="UTF-8" ?>
<!-- NasdaqDotCom.dtd

   (c) Copyright 2001, The Nasdaq Stock Market, Inc. All Rights Reserved.

   This XML document type definition is a proposal for data interchange inter and intra 
   Nasdaq-amex.com.  Element and attribute names need validation within a broad Nasdaq and 
   Amex audience.  More samples need to be produced to ensure completeness of the DTDs.  This
   DTD is probably in the 90%+ level of completeness.  NASD's document named "Data Objects Logical 
   Naming Standards Version 1.0", dated January 1998 was used to name the elements and attributes.
   Use of additional class words of NAV, URL, EMAIL, HTML, SYMBOL, and RATIO, which are not available
   in the Naming Standards document are assumed to be acceptable. 

   Please forward comments and suggestions to Srini Kunnam or Fred Maples at x3017.

   Assumptions:
    1.  All leaf-level element names will contain a [MODIFIER][CLASS WORD] name standard per NASD naming 
        standards.
    2.  All ELEMENT names ending in "date" are formatted as "YYYYMMDD" such as "19990608" for June 8, 1999
    3.  All ELEMENT names ending in "datetime" are formatted as "YYYYMMDD hh:mm:ss" in Eastern Time
    4.  All ELEMENT names ending in "-email" are Internet email addresses such as "isfeedback@nasdaq.com"
    5.  All ELEMENT names ending in "-url" are fully qualified URLs such as "http://nasdaq-amex.com"
    6.  All ELEMENT names ending in "-pct" are percentages
    7.  All ELEMENT names ending in "-symbol" are alpha-numeric 1-16 byte tickers
    8.  All ELEMENT names ending in "-elt" are 2nd-level elements where explicit names help readability
    9.  All ELEMENT names ending in "-txt" are generic textual data
   10.  All ELEMENT names ending in "-flag" are Y/N, 1/0, or Yes/No flags
   11.  Support for currency and interest rate quotes excluded; not available on web site
   12.  A need for version support of this DTD exists and will be handled with new element tags such as 
        nasdaqdotcom-version1.
   13.  New XML namespaces, either from Nasdaq or other companies, are not required.
   14.  There's need to have an issuer short-name separate from long-name.  Nasdaq-amex.com shows only long one.
   15.  Support for portfolio information such as purchase price/date need not be included.
   16.  more coming
 
   Questions:
   1.  Should the trade-datetime be an attribute of equity-quote rather than subordinate element?
   2.  Is TCMV same thing as percentage of index?
   3.  Should the most active quote element use equity-quote?
   4.  Should biztalk.org's idea of message sources/destination IDs be incorporated?
   5.  Should the framed offsite URL references be part of nasdaq-dot-com-url elements?
   6.  Is the XC (composite) modeled correctly for the option-quote's market-center-code?
   7.  Should the as-of date for 52-week high/low be supported?
   8.  Should iss-symbol be moved to an alternate-symbol element, much like alternate-cusip?
   9.  Shouldn't the SEC's edgar-filing element and "ipo-*" elements (for NASDR) be consolidated?
  10.  How should we retire issuer-audio-report-logo-url and issuer-audio-report-href-url and phase in issuer-announcement?
  11.  Should the index-quote/symbol be an attribute of market-summary-elt rather than subordinate element?
  12.  Is the share-volume-qty/period attribute best pulled out into average-daily-share-volume-qty/period?

   Recent Change History:
   Who        When              What
   ===========================================================
   JFM        30-Jan-2001       Add calendar-code's native-open-time and native-close-time attributes
   JFM        30-Jan-2001       Add "PartialBusinessDay" as AV to calendar-code/type attribute
   JFM        16-Mar-2001       Add nasdaqamex-dot-com/nasdaq-partner element
   JFM         3-Apr-2001       Remove allowed values for company-news-item/source and market-news-item/source
   JFM         2-May-2001       Add equity-quote/news-datetime element
   JFM         2-May-2001       Remove nasdaqamex-dot-com/broker-dealer element and sub-elements
   JFM        15-May-2001       Add optional nasdaq-partner/partner-type attribute
   JFM         8-Jun-2001       Remove unused analyst-info-recommendations-elt element
   JFM         8-Jun-2001       Add nasdaq-dot-com element identical to nasdaqamex-dot-com
   JFM        12-Jun-2001       Removed unused equity-quote/atFinancial-symbol attribute
   JFM        12-Jun-2001       Add equity-quote/last-modified-txt element
   JFM        19-Jun-2001       Add equity-quote/sicovam-id attribute
   JFM        13-Jul-2001       Add index-quote/ilx-symbol attribute
   JFM        18-Jul-2001       Add NR as allowed value to footnote-code/symbol
   JFM        18-Jul-2001       Removed unused equity-quote/secovam-id attribute
   JFM        20-Jul-2001       Add equity-quote/selection-criteria attribute with "Heatmap" allowed value
   JFM        26-Jul-2001       Add industry-class/news-datetime and industry-class/news-headline-txt elements
   JFM        26-Jul-2001       Add industry-class/nasdaq-dot-com-url element
   JFM        20-Aug-2001       Add optional fund-quote/equity-symbol attribute
   JFM        27-Aug-2001       Removed unused service-request-summary element
   JFM        27-Aug-2001       Add nasdaqamex-dot-com/alert and nasdaq-dot-com/alert elements
   JFM        14-Sep-2001       Add equity-quote/page-view-count element and page-view-count/page-id attribute
   JFM        16-Oct-2001       Add equity-quote/region-txt element
   JFM        16-Oct-2001       Add "ForeignSymbols" to equity-list/equity-list-type allowed value list
   JFM        23-Oct-2001       Add equity-quote/opening-price element
   JFM         5-Nov-2001       Removed allowed values on nasdaq-dot-com-url/url-type attribute
   JFM         5-Nov-2001       Add nasdaq-dot-com-url/url-status, nvp-name, nvp-value, nvp-symbol, url-name, and url-count-flag attributes
   JFM         5-Nov-2001       Add nasdaq-dot-com-url to root nasdaq-dot-com element
   JFM         6-Nov-2001       Add user/error-code, error-description-txt, and configuration-txt elements
   JFM         6-Nov-2001       Change user/gu-id and user-id attributes from required to optional
   JFM         7-Nov-2001       Add error-description-txt/error-code attribute
   JFM         8-Nov-2001       Add index-name/name-type-code attribute
   JFM         8-Nov-2001       Add equity-list/equity-list-name, display-color-txt, and nasdaq-dot-com-url elements
   JFM         8-Nov-2001       Add nasdaq-dot-com/name-value-pair element
   JFM        12-Nov-2001       Add nasdaq-dot-com-url/redir-nvp-name and redir-nvp-value attributes
   JFM        27-Nov-2001       Add equity-quote/sub-classification attribute
   SSK	      13-Dec-2001       Add nasdaq-dot-com-url/redir-url-name	
   JFM        15-Dec-2001       Add equity-quote/fund-type-code element
   EVS        10-Jan-2002	Add name-value-pair-collection element
   JCD        30-Jan-2002       Add country element
   JFM        30-Jan-2002       Add country element to nasdaq-dot-com
-->
<!ELEMENT nasdaqamex-dot-com (equity-quote | index-quote | fund-quote | option-quote | equity-list | 
     market-summary-elt | market-news-item | service-request | industry-class | stock-split | user | nasdaq-partner | alert)*>
<!ATTLIST nasdaqamex-dot-com version CDATA #IMPLIED>
<!ATTLIST nasdaqamex-dot-com message-type CDATA #IMPLIED>
<!ATTLIST nasdaqamex-dot-com message-datetime CDATA #IMPLIED>

<!ELEMENT nasdaq-dot-com (equity-quote | index-quote | fund-quote | option-quote | equity-list | 
     market-summary-elt | market-news-item | service-request | industry-class | stock-split | user | nasdaq-partner | alert | name-value-pair | name-value-pair-collection | nasdaq-dot-com-url | country)*>
<!ATTLIST nasdaq-dot-com version CDATA #IMPLIED>    <!-- would allow something like version="1.0" in future -->
<!ATTLIST nasdaq-dot-com message-type CDATA #IMPLIED>   <!-- would allow something like message-type="PMIX01" in future -->
<!ATTLIST nasdaq-dot-com message-datetime CDATA #IMPLIED>

<!-- This DTD requires the content author to know what type of quote is being provided.  Normally
     this is obvious, but closed-end mutual funds may be problematic (found in equity and mutual funds).  -->

<!-- ***** The equity tag can contain any of these elements in any order. ***** -->
<!ELEMENT equity-quote (issue-name?, 
			market-center-code?, 
			issue-type-code?, 
			nasd-org-id?, 
                  	todays-high-price?, todays-low-price?, 
	              fifty-two-wk-high-price?, fifty-two-wk-low-price?, 
                  	last-sale-price?, 
			net-change-price?, net-change-pct?, 
                  	share-volume-qty?, 
                  	opening-price?, 
                    avg-daily-share-volume-qty?,
			previous-close-price?,
                  	best-bid-price?, best-ask-price?, 
                  	best-bid-share-qty?, best-ask-share-qty?, 
	             trade-datetime?,
	             trades-count?,
	             cache-expire-datetime?,

			alternate-cusip?,
			issuer-root-symbol?, 
                  	issuer-address-line1-txt?, issuer-address-line2-txt?, issuer-address-line3-txt?, 
			issuer-city-state-zip-txt?,
                  	issuer-phone-num?, 
			issuer-description-txt?, 
                  	issuer-disclosure-pdf-url?, 
			issuer-web-site-url?, 
			issuer-logo-url?, 
                  	issuer-edgar-url?, 
			issuer-audio-report-logo-url?, 
			issuer-audio-report-href-url?,
			issuer-announcement-logo-url?,
			issuer-announcement-href-url?,
                        tick-code?,
			nasdaq-dot-com-url?,
                  	symbol-change-date?, 
			effective-date?, expiration-date?, last-update-date?, 
			trading-status?,
			telesphere-code?,
			tracking-index-name?,

                  	total-outstanding-shares-qty?, 
			current-yield-pct?, 
			earnings-actual-eps-amt?,
                  	cash-dividend-amt?, cash-dividend-ex-date?, cash-dividend-pay-date?,
			sp500-beta-num?, 
                  	industry-class?,
			total-assets-amt?, 
                    total-liabilities-amt?,
			financial-ratio?,
                  	current-pe-ratio?, 

                  	market-capitalization-amt?,
                  	short-interest-elt?, 
			forecast-pe-ratio?, 
			forecast-earnings-peg-ratio?, 
			growth-pct?,
			shares-held-qty?,
			convertible-bond?,
			offsite-link?,

			option-root-symbol?,
                  	most-active-options-elt?, 
			index-participation-elt?,
			multiplier-qty?,

                  	edgar-filing?, 
                  	ipo-filing-id?, 
			ipo-filing-date?, 
			ipo-underwriter-txt?, 
			ipo-offer-price-txt?,

                        news-datetime?,

                  	action-code?,
                    market-status?,
			error-code?,
			error-description-txt?,
                  	company-news-item?, 
			earnings-surprise-history?, 
			earnings-forecasts?,
			page-view-count?,
			region-txt?,
			fund-type-code?,
                        last-modified-txt?)*>

<!-- The equity-quote's symbol will be the most popular item in this DTD.  Most everything is driven around this. -->
<!ATTLIST equity-quote symbol 		CDATA #IMPLIED> 
<!ATTLIST equity-quote cusip		CDATA #IMPLIED> 
<!ATTLIST equity-quote nasd-issue-id	CDATA #IMPLIED>    <!-- These attributes probably should be defined as ID -->
<!ATTLIST equity-quote iss-symbol	CDATA #IMPLIED> 
<!ATTLIST equity-quote ilx-symbol	CDATA #IMPLIED> 
<!ATTLIST equity-quote news-symbol	CDATA #IMPLIED> 
<!ATTLIST equity-quote hyperfeed-symbol CDATA #IMPLIED> 
<!ATTLIST equity-quote telesphere-symbol	CDATA #IMPLIED> 
<!ATTLIST equity-quote ibes-symbol		CDATA #IMPLIED>
<!ATTLIST equity-quote global-markets-symbol	CDATA #IMPLIED>
<!ATTLIST equity-quote shares-outstanding-symbol	CDATA #IMPLIED>
<!ATTLIST equity-quote classification			CDATA #IMPLIED>
<!ATTLIST equity-quote sub-classification		CDATA #IMPLIED>
<!ATTLIST equity-quote cik-id	CDATA #IMPLIED>
<!ATTLIST equity-quote serial-id	CDATA #IMPLIED>
<!ATTLIST equity-quote sicovam-id	CDATA #IMPLIED>
<!ATTLIST equity-quote sedol	CDATA #IMPLIED>
<!ATTLIST equity-quote isin	CDATA #IMPLIED>
<!ATTLIST equity-quote selection-criteria	CDATA #IMPLIED>  <!-- Allows "Heatmap" only -->

                                        <!-- PRE == PreMarketHours in this context. -->
<!ATTLIST equity-quote session-type 	(PRE | PreMarketHours | RegularHours | AfterHours) #IMPLIED> 
<!ATTLIST equity-quote ranking		CDATA #IMPLIED> 
<!ATTLIST equity-quote country-id	CDATA #IMPLIED> <!-- allows country or GMC:  France/160 -->
<!ATTLIST equity-quote currency-id	CDATA #IMPLIED> 

<!ELEMENT issue-name		(#PCDATA)>  <!-- may include equity quotes and options -->
<!ELEMENT market-center-code	(#PCDATA)>  <!-- allows Nasdaq-NM, Nasdaq-SCM, AMEX, or NYSE, CBOE, Philly, Pacific -->
<!ELEMENT issue-type-code	(#PCDATA)>  <!-- such as Common Stock, Preferred Stock, Class B, ... -->
<!ELEMENT nasd-org-id		(#PCDATA)>  <!-- allows 1..99999999 -->
<!ATTLIST nasd-org-id iss-org-id	CDATA #IMPLIED> 
<!ELEMENT todays-high-price	(#PCDATA)>
<!ELEMENT todays-low-price	(#PCDATA)>
<!ELEMENT last-modified-txt	(#PCDATA)>

<!--  JFM        14-Sep-2001       Add equity-quote/page-view-count element and page-view-count/page-id attribute -->
<!ELEMENT page-view-count		(#PCDATA)>
<!ATTLIST page-view-count page-id	CDATA #IMPLIED> 

<!ELEMENT region-txt		(#PCDATA)>

<!-- 11-Nov-99         Add trade-date to equity-quote/fifty-two-wk-high-price and fifty-two-wk-low-price -->
<!ELEMENT fifty-two-wk-high-price	(#PCDATA)>
<!ATTLIST fifty-two-wk-high-price trade-date	CDATA #IMPLIED>
<!ELEMENT fifty-two-wk-low-price	(#PCDATA)>
<!ATTLIST fifty-two-wk-low-price trade-date	CDATA #IMPLIED>

<!ELEMENT last-sale-price	(#PCDATA)>
<!ATTLIST last-sale-price	last-sale-type	(Closing | Other) #IMPLIED>
<!ELEMENT net-change-price	(#PCDATA)>
<!ATTLIST net-change-price	period	(Today | OneWeek | OneMonth | YTD | OneYear | ThreeYears | FiveYears | TenYears) #IMPLIED>
<!ELEMENT net-change-pct	(#PCDATA)>
<!ATTLIST net-change-pct	period	(Today | OneWeek | OneMonth | YTD | OneYear | ThreeYears | FiveYears | TenYears) #IMPLIED>
<!ELEMENT share-volume-qty	(#PCDATA)>
<!ATTLIST share-volume-qty	period	(Today | OneWeek | OneMonth | ThirteenWeeks | YTD | OneYear | ThreeYears) #IMPLIED>
<!ATTLIST share-volume-qty	summary-type	(Advanced | Declined | Unchanged | NewHighs | NewLows | AverageTradeSize) #IMPLIED>
<!ELEMENT opening-price		(#PCDATA)>
<!ELEMENT previous-close-price	(#PCDATA)>
<!ELEMENT distribution-date	(#PCDATA)>
<!ELEMENT best-bid-price	(#PCDATA)>
<!ELEMENT best-ask-price	(#PCDATA)>

<!--  JFM        29-Oct-2000       Correctly add fund-quote/ask-price  -->
<!ELEMENT ask-price	(#PCDATA)>

<!ATTLIST best-bid-price session-type 	(PreMarketHours | RegularHours | AfterHours) #IMPLIED> 
<!ATTLIST best-ask-price session-type 	(PreMarketHours | RegularHours | AfterHours) #IMPLIED> 

<!ELEMENT best-bid-share-qty	(#PCDATA)>
<!ELEMENT best-ask-share-qty	(#PCDATA)>
<!ELEMENT trade-datetime		(#PCDATA)>  <!-- used on equity and option quotes -->
<!ELEMENT trades-count		(#PCDATA)>
<!ATTLIST trades-count	period	(Today | OneWeek | OneMonth | ThirteenWeeks | YTD | OneYear | ThreeYears) #IMPLIED>
<!ELEMENT cache-expire-datetime		(#PCDATA)>  <!-- internally used on equity and index quotes -->
<!ELEMENT alternate-cusip	(#PCDATA)>   <!-- Required to map differences between I/B/E/S and ISS -->
<!ATTLIST alternate-cusip cusip-source 	(ibes | telesphere | iss) #REQUIRED>
<!ELEMENT issuer-root-symbol		(#PCDATA)>  <!-- Used only in interface to disclosure; probably can remove -->
<!ELEMENT issuer-address-line1-txt	(#PCDATA)>  <!-- Generic company level information for equities and mutual funds -->
<!ELEMENT issuer-address-line2-txt	(#PCDATA)>
<!ELEMENT issuer-address-line3-txt	(#PCDATA)>
<!ELEMENT issuer-city-state-zip-txt	(#PCDATA)>
<!ELEMENT issuer-phone-num		(#PCDATA)>
<!ELEMENT issuer-description-txt	(#PCDATA)>
<!ELEMENT issuer-disclosure-pdf-url	(#PCDATA)>
<!ELEMENT issuer-web-site-url		(#PCDATA)>
<!ATTLIST issuer-web-site-url url-type	(Main | Alternate | RTQ) #IMPLIED>
<!ATTLIST issuer-web-site-url url-title	CDATA #IMPLIED>
<!ATTLIST issuer-web-site-url ranking	CDATA #IMPLIED>
<!ELEMENT issuer-logo-url		(#PCDATA)>
<!ELEMENT issuer-edgar-url		(#PCDATA)>
<!ELEMENT issuer-audio-report-logo-url	(#PCDATA)>
<!ELEMENT issuer-audio-report-href-url	(#PCDATA)>
<!ELEMENT issuer-announcement-logo-url	(#PCDATA)>
<!ELEMENT issuer-announcement-href-url	(#PCDATA)>

<!ELEMENT tick-code       (#PCDATA)>
<!ATTLIST tick-code tick-type	(last-sale | best-ask | best-bid) #IMPLIED>

<!ELEMENT nasdaq-dot-com-url		(#PCDATA)>
<!ATTLIST nasdaq-dot-com-url url-type		CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url url-status		CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url url-count-flag	CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url url-name		CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url redir-url-name	CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url redir-nvp-name	CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url nvp-name		CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url nvp-value		CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url redir-nvp-value	CDATA #IMPLIED>
<!ATTLIST nasdaq-dot-com-url nvp-symbol		CDATA #IMPLIED>

<!ELEMENT symbol-change-date	(#PCDATA)>
<!ATTLIST symbol-change-date symbol 	CDATA #REQUIRED> 
<!ELEMENT effective-date		(#PCDATA)>
<!ELEMENT expiration-date		(#PCDATA)>
<!ELEMENT last-update-date		(#PCDATA)>
<!ELEMENT trading-status		(#PCDATA)>  <!-- such as Active, Held, ... -->
<!ELEMENT total-outstanding-shares-qty	(#PCDATA)>
<!ELEMENT current-yield-pct		(#PCDATA)>
<!ELEMENT cash-dividend-amt		(#PCDATA)>
<!ELEMENT cash-dividend-ex-date		(#PCDATA)>
<!ELEMENT cash-dividend-pay-date	(#PCDATA)>
<!ELEMENT sp500-beta-num		(#PCDATA)>
<!ELEMENT sic-code			(#PCDATA)>
<!ELEMENT total-assets-amt		(#PCDATA)>  <!-- Total assets in dollars of issuer company -->
<!ELEMENT total-liabilities-amt		(#PCDATA)>  <!-- Total liabilities in dollars of issuer company -->
<!ELEMENT financial-ratio		(#PCDATA)>
<!ATTLIST financial-ratio ratio-type (current | debt-to-equity | quick | price-to-book | total-assets-to-equity | net-income-to-net-sales) #IMPLIED>
<!ELEMENT current-pe-ratio		(#PCDATA)>   <!-- previous 12 months -->
<!ELEMENT market-capitalization-amt	(#PCDATA)>

<!ELEMENT short-interest-elt			(short-interest-volume-qty?, avg-daily-share-volume-qty?)*>
<!ATTLIST short-interest-elt settlement-date	CDATA #REQUIRED>
<!ELEMENT short-interest-volume-qty		(#PCDATA)>
<!ELEMENT avg-daily-share-volume-qty		(#PCDATA)>
<!ATTLIST avg-daily-share-volume-qty	period	(Today | OneWeek | OneMonth | ThirteenWeeks | YTD | OneYear | ThreeYears) #IMPLIED>

<!ELEMENT forecast-pe-ratio	(#PCDATA)>
<!ATTLIST forecast-pe-ratio year	(1999 | 2000 | 2001 | 2002 | 2003 | 2004 | LongTerm) #REQUIRED>
<!ELEMENT forecast-earnings-peg-ratio		(#PCDATA)>
<!ATTLIST forecast-earnings-peg-ratio year	(1999 | 2000 | 2001 | 2002 | 2003 | 2004 | LongTerm) #REQUIRED>

<!ELEMENT growth-pct		(#PCDATA)>
<!ATTLIST growth-pct growth-type CDATA #IMPLIED>   <!-- Allows "five-yr-net-eps", "five-yr-net-income", "five-yr-net-sales" -->
<!ELEMENT shares-held-qty	(#PCDATA)>
<!ATTLIST shares-held-qty	shares-held-type	(officers-directors | institutional) #IMPLIED>

<!ELEMENT convertible-bond	(#PCDATA)>
<!ATTLIST convertible-bond symbol 		CDATA #IMPLIED> 

<!ELEMENT offsite-link	EMPTY >
<!ATTLIST offsite-link offsite-type 		(Cognos.com | Convertbond.com) #IMPLIED> 

<!ELEMENT last-trade-exchange-code	(#PCDATA)>

<!ELEMENT option-root-symbol	(#PCDATA)>
<!ATTLIST option-root-symbol	type	(regular | leap) #IMPLIED> 
<!ATTLIST option-root-symbol	symbol	CDATA #REQUIRED> 
<!ELEMENT most-active-options-elt	(option-quote)*>
<!ATTLIST most-active-options-elt	type	CDATA #REQUIRED> 
<!ATTLIST most-active-options-elt	ranking	CDATA #REQUIRED> 
<!ELEMENT index-participation-elt	(index-quote, component-part-pct?, effective-date?)*>

<!-- The edgar-filing tag can contain any of these elements in any order. -->
<!ELEMENT edgar-filing (filing-company-name?, 
			filing-contents-txt?,
			filing-size-num?)>
<!ATTLIST edgar-filing filing-date CDATA #IMPLIED>
<!ELEMENT filing-company-name	(#PCDATA)>  <!-- used by edgar filings -->
<!ELEMENT filing-contents-txt	(#PCDATA)>  <!-- used by edgar filings -->
<!ELEMENT filing-size-num	(#PCDATA)>  <!-- used by edgar filings -->

<!ELEMENT ipo-filing-id			(#PCDATA)>
<!ELEMENT ipo-filing-date		(#PCDATA)>
<!ELEMENT ipo-underwriter-txt		(#PCDATA)>  <!-- for IPO Summary and Recent IPO Filings -->
<!ATTLIST ipo-underwriter-txt type	(lead | co) #REQUIRED>
<!ELEMENT ipo-offer-price-txt		(#PCDATA)>  <!-- for IPO Summary and Recent IPO Filings -->

<!ELEMENT action-code		(#PCDATA)>  <!-- generic action code whose contents are application specific -->
<!ATTLIST action-code	type	CDATA #IMPLIED>  <!-- Applications responsibility to interpret this.  No NMTOKENs given. -->
<!ELEMENT market-status		(#PCDATA)>
<!ELEMENT error-code		(#PCDATA)>
<!ATTLIST error-code	type	CDATA #IMPLIED>  <!-- Applications responsibility to interpret this.  No NMTOKENs given. -->
<!ELEMENT error-description-txt	(#PCDATA)>
<!ATTLIST error-description-txt	error-code	CDATA #IMPLIED>

<!ELEMENT company-news-item	(news-datetime?, news-headline-txt?, nasdaq-dot-com-url?, news-story-address-txt?)*>
<!ATTLIST company-news-item	source 		CDATA #IMPLIED>
<!ATTLIST company-news-item 	news-datetime	CDATA #IMPLIED>
<!ELEMENT news-datetime		(#PCDATA)>
<!ELEMENT news-headline-txt	(#PCDATA)>
<!ELEMENT news-story-address-txt	(#PCDATA)>

<!-- ***** The index tag can contain any of these elements in any order. ***** -->
<!ELEMENT index-quote ( index-name?, 
			market-center-code?, 
			issue-type-code?,
                  	todays-high-value?, todays-low-value?, 
			fifty-two-wk-high-value?, fifty-two-wk-low-value?,
                  	last-value?, 
			net-change-value?, net-change-pct?, 
			share-volume-qty?, 
			previous-close-value?,
                  	nasdaq-dot-com-url?, 
			telesphere-code?,
                  	index-datetime?,
                    cache-expire-datetime?,
			option-root-symbol?,
                  	company-news-item?, 
                    market-status?,
			multiplier-qty?,
                    equity-quote?,
			error-code?,
			error-description-txt?)*>
<!ATTLIST index-quote symbol 		CDATA #IMPLIED> 
<!ATTLIST index-quote order 		CDATA #IMPLIED> 
<!ATTLIST index-quote classification 	CDATA #IMPLIED> 
<!ATTLIST index-quote serial-id		CDATA #IMPLIED>
<!ATTLIST index-quote ilx-symbol	CDATA #IMPLIED> 

<!ELEMENT index-name		(#PCDATA)>  <!-- may include index quotes -->
<!ATTLIST index-name 	name-type-code	CDATA #IMPLIED>
<!ELEMENT fifty-two-wk-high-value	(#PCDATA)>   <!-- used only for indices -->
<!ELEMENT fifty-two-wk-low-value	(#PCDATA)>   <!-- used only for indices -->
<!ELEMENT last-value		(#PCDATA)>   <!-- used only for indices -->
<!ELEMENT net-change-value	(#PCDATA)>   <!-- used only for indices -->
<!ATTLIST net-change-value	period	(Today | OneWeek | OneMonth | YTD | OneYear | ThreeYears | FiveYears | TenYears) #IMPLIED>
<!ELEMENT todays-high-value	(#PCDATA)>   <!-- used only for indices -->
<!ELEMENT todays-low-value	(#PCDATA)>   <!-- used only for indices -->
<!ELEMENT previous-close-value	(#PCDATA)>   <!-- used only for indices -->
<!ELEMENT telesphere-code		(#PCDATA)>
<!ELEMENT tracking-index-name		(#PCDATA)>
<!ELEMENT index-datetime		(#PCDATA)>  <!-- used on index quotes -->
<!ELEMENT multiplier-qty	(#PCDATA)>
<!ATTLIST multiplier-qty  multiplier-type (DRM | ABPMV | Others) #REQUIRED>

<!-- The fund tag can contain any of these elements in any order.  This element is used for
     mutual funds, money market funds, and fund families.  -->
<!ELEMENT fund-quote (	fund-name?, 
			family-name?, 
			market-datetime?, 
			market-center-code?, 
			fund-type-code?,
                  	issuer-address-line1-txt?, issuer-address-line2-txt?, issuer-address-line3-txt?, 
			issuer-city-state-zip-txt?,
                  	issuer-phone-num?, 
			issuer-description-txt?, 
			issuer-web-site-url?, 
			nasdaq-dot-com-url?,
                  	current-nav?, 
			ask-price?, 
			net-change-price?, net-change-pct?, 
			previous-nav?,
                  	dividend-amt?, 
			beginning-nav?, ending-nav?, 
			distribution-date?,
                  	short-term-gains-amt?, long-term-gains-amt?, unallocated-gains-amt?, 
	                average-maturity-days-count?, 
			footnote-code?,
                        fund-return-pct?,
                        total-assets-amt?,
                        message-type-code?,
			error-code?,
			error-description-txt?)*>
<!ATTLIST fund-quote symbol		CDATA #REQUIRED>
<!ATTLIST fund-quote equity-symbol	CDATA #IMPLIED>

<!ELEMENT fund-name		(#PCDATA)>  <!-- may include money market and mutual funds -->
<!ELEMENT family-name		(#PCDATA)>  <!-- may include money market and mutual funds -->
<!ELEMENT market-datetime	(#PCDATA)>  <!-- used on mutual funds and market summary -->
<!ELEMENT fund-type-code	(#PCDATA)>  <!-- such as Mutual Fund, Money Market Fund, ... (or a lower level code) -->
<!ELEMENT current-nav		(#PCDATA)>
<!ELEMENT previous-nav		(#PCDATA)>
<!ELEMENT beginning-nav		(#PCDATA)>  <!-- over capital gains distribution period -->
<!ELEMENT ending-nav		(#PCDATA)>  <!-- over capital gains distribution period -->

<!ELEMENT fund-return-pct	(#PCDATA)>  <!-- for mutual and money market funds -->
<!ATTLIST fund-return-pct	period	(OneMonth | YTD | OneYear | ThreeYears | FiveYears | TenYears) #IMPLIED>
<!ELEMENT short-term-gains-amt		(#PCDATA)>
<!ELEMENT long-term-gains-amt		(#PCDATA)>
<!ELEMENT unallocated-gains-amt		(#PCDATA)>
<!ELEMENT average-maturity-days-count	(#PCDATA)>
<!ELEMENT dividend-amt			(#PCDATA)>
<!ELEMENT footnote-code		(#PCDATA)>
<!ATTLIST footnote-code symbol 	(A | B | C | D | F | G | N | P | R | S | T | X | NR) #REQUIRED> 
<!ELEMENT message-type-code	(#PCDATA)>

<!-- ***** The option tag can contain any of these elements in any order. ***** -->
<!ELEMENT option-quote (issue-name?, 
                  	underlying-quote-elt?, 
                  	last-sale-price?, 
			net-change-price?, 
			net-change-pct?, 
			share-volume-qty?, 
                  	todays-high-price?, todays-low-price?, 
			previous-close-price?,
                  	best-bid-price?, 
			best-ask-price?, 
			open-interest-qty?, 
			trade-datetime?,
			market-center-code?,
			last-trade-exchange-code?,
			error-code?,
			error-description-txt?)*>
<!ATTLIST option-quote symbol 			CDATA #IMPLIED> 
<!ATTLIST option-quote underlying-symbol 	CDATA #IMPLIED> 
<!ATTLIST option-quote option-type 		CDATA #IMPLIED> 
<!ATTLIST option-quote strike-price		CDATA #IMPLIED>
<!ATTLIST option-quote expiration-date-txt	CDATA #IMPLIED>
<!ATTLIST option-quote leap-indicator-code	CDATA #IMPLIED>
<!ELEMENT open-interest-qty	(#PCDATA)>

<!-- ***** The elements for equity-list can occur in any order. ***** -->
<!ELEMENT equity-list	(equity-quote?, equity-list-name?, display-color-txt?, nasdaq-dot-com-url?)*>
<!ATTLIST equity-list	symbol			CDATA #IMPLIED>
<!ATTLIST equity-list	equity-list-type	CDATA #REQUIRED>
<!ELEMENT symbol		(#PCDATA)>  <!-- for Most Active equities or options-->
<!ELEMENT equity-list-name	(#PCDATA)>
<!ELEMENT display-color-txt	(#PCDATA)>

<!-- ***** Any elements of the quarterly-earnings-surprise-elt can occur in any order. ***** -->
<!ELEMENT quarterly-earnings-surprise-elt	(symbol?, issue-name?, earnings-surprise-history?)*>
<!ATTLIST quarterly-earnings-surprise-elt type		(Exceeded | Met | FailedToMeet) #REQUIRED>
<!ATTLIST quarterly-earnings-surprise-elt rank		CDATA #REQUIRED>
<!ATTLIST quarterly-earnings-surprise-elt surprise-date	CDATA #REQUIRED>
<!ELEMENT surprise-exceeded-count		(#PCDATA)>  <!-- Used to create home page -->
<!ELEMENT surprise-met-count		(#PCDATA)>
<!ELEMENT surprise-failed-to-meet-count	(#PCDATA)>
<!ELEMENT earnings-surprise-history	(earnings-report-date?, earnings-consensus-eps-amt?, earnings-actual-eps-amt?, earnings-surprise-pct?)*>
<!ATTLIST earnings-surprise-history quarter-end-txt	CDATA #REQUIRED>
<!ELEMENT earnings-forecasts	(earnings-consensus-eps-amt?, earnings-low-forecast-eps-amt?, earnings-high-forecast-eps-amt?)*>
<!ATTLIST earnings-forecasts type	(quarter | year) #REQUIRED>
<!ATTLIST earnings-forecasts quarter-end-txt	CDATA #REQUIRED>
<!ELEMENT earnings-report-date		(#PCDATA)>
<!ELEMENT earnings-consensus-eps-amt	(#PCDATA)>
<!ELEMENT earnings-high-forecast-eps-amt	(#PCDATA)>
<!ELEMENT earnings-low-forecast-eps-amt		(#PCDATA)>
<!ELEMENT earnings-actual-eps-amt		(#PCDATA)>
<!ELEMENT earnings-surprise-pct		(#PCDATA)>

<!-- ***** The market-summary-elt tag can contain any of these elements in any order. ***** -->
<!ELEMENT market-summary-elt (market-status?, 
			calendar-code?, 
			market-center-code?, 
			summary-qty?,
			share-volume-qty?, 
			index-quote?)*>
<!ATTLIST market-summary-elt service-code (ACT | QUOTE | TRADE) #IMPLIED>
<!ATTLIST market-summary-elt market-center-code CDATA #IMPLIED>
<!ATTLIST market-summary-elt market-datetime CDATA #IMPLIED>
<!ATTLIST market-summary-elt session-type 	(PreMarketHours | RegularHours | AfterHours) #IMPLIED> 

<!ELEMENT underlying-quote-elt	(equity-quote | index-quote)*>
<!ELEMENT calendar-code		(#PCDATA)>  <!-- generic action code whose contents are application specific -->
<!ATTLIST calendar-code	type	(PartialBusinessDay | BusinessDay | Holiday | EndofWeek | EndofMonth | EndofQuarter | EndofYear | BeginofWeek | 
                                 BeginofMonth | BeginofQuarter | BeginofYear) #IMPLIED>
<!ATTLIST calendar-code native-open-time	CDATA #IMPLIED>
<!ATTLIST calendar-code native-close-time	CDATA #IMPLIED>

<!ELEMENT summary-qty			(#PCDATA)>
<!ATTLIST summary-qty	summary-type	(Advanced | Declined | Unchanged | NewHighs | NewLows) #IMPLIED>
<!ELEMENT component-part-pct		(#PCDATA)>   <!-- used to describe components percentages of Nasdaq-100 -->

<!-- ***** The elements for market-news-item can occur in any order ***** -->
<!ELEMENT market-news-item	(news-datetime?, news-headline-txt?, nasdaq-dot-com-url?)*>
<!ATTLIST market-news-item	source 		CDATA #IMPLIED>
<!ATTLIST market-news-item 	country-id	CDATA #IMPLIED> 

<!-- ***** The elements for service-request can occur in any order. ***** -->
<!ELEMENT service-request	(requestor-name?, 
				requestor-email?, 
				to-email?, 
				requestor-address-line1-txt?, 
				requestor-address-line2-txt?, 
				requestor-address-line3-txt?, 
				requestor-city-state-zip-txt?,
                           requestor-zip-code?,
                           requestor-initials-txt?,
                                requestor-phone-num?,
                                requestor-source-code?,
                                request-type-code?,
                                request-datetime?,
				request-url?, 
				comment-txt?)*>
<!ATTLIST service-request internal-id	CDATA	#IMPLIED>
<!ELEMENT requestor-name		(#PCDATA)>
<!ELEMENT requestor-email		(#PCDATA)>
<!ELEMENT to-email			(#PCDATA)>
<!ELEMENT requestor-address-line1-txt	(#PCDATA)>
<!ELEMENT requestor-address-line2-txt	(#PCDATA)>
<!ELEMENT requestor-address-line3-txt	(#PCDATA)>
<!ELEMENT requestor-city-state-zip-txt	(#PCDATA)>
<!ELEMENT requestor-zip-code		(#PCDATA)>
<!ELEMENT requestor-initials-txt	(#PCDATA)>
<!ELEMENT requestor-phone-num		(#PCDATA)>
<!ELEMENT requestor-source-code		(#PCDATA)>
<!ELEMENT request-datetime		(#PCDATA)>
<!ELEMENT comment-txt			(#PCDATA)>
<!ELEMENT request-url			(#PCDATA)>
<!ELEMENT request-type-code		(#PCDATA)>
<!ATTLIST request-type-code	type	(MarketSite | SPDRDownload | MidCapDownload | SelectDownload | DIAMONDSDownload | WEBSDownload | 
                                         SPDRMail | MidCapMail | SelectMail | DIAMONDSMail | WEBSMail | MailToFriend) #IMPLIED> 

<!-- ***** The elements for industry-class can occur in any order. ***** -->
<!ELEMENT industry-class		(industry-txt?, sic-code?, nasdaq-dot-com-url?, news-datetime?, news-headline-txt?)*>
<!ATTLIST industry-class internal-id CDATA #IMPLIED>
<!ATTLIST industry-class sic-code CDATA #IMPLIED>

<!ELEMENT industry-txt			(#PCDATA)>

<!--  JFM  19-Nov-99  Add user and it's elements to nasdaqamex-dot-com element -->
<!ELEMENT user		(user-email?,
			user-name?,
			last-logon-id?,
			configuration-txt?,
			error-code?,
			error-description-txt?)*>
<!ATTLIST user gu-id		CDATA	#IMPLIED>
<!ATTLIST user user-id		CDATA	#IMPLIED>
<!ELEMENT user-name			(#PCDATA)>
<!ELEMENT user-email		(#PCDATA)>
<!ELEMENT last-logon-id		(#PCDATA)>
<!ELEMENT configuration-txt	(#PCDATA)>
<!ATTLIST configuration-txt config-type-code	CDATA	#IMPLIED>

<!--  JFM        27-Aug-2001       Add nasdaq-dot-com/alert element -->
<!ELEMENT notification-txt	(#PCDATA)>
<!ELEMENT notification-datetime	(#PCDATA)>

<!ELEMENT alert		(user-email?,
                        notification-txt?,
                        notification-datetime?,
			user-name?)*>
<!ATTLIST alert pu-id		CDATA	#REQUIRED>
<!ATTLIST alert user-id		CDATA	#IMPLIED>

<!ELEMENT name-value-pair	(#PCDATA)>
<!ATTLIST name-value-pair name		CDATA	#REQUIRED>

<!ELEMENT name-value-pair-collection	(name-value-pair?, name-value-pair-collection?)*>
<!ATTLIST name-value-pair-collection name		CDATA	#REQUIRED>

<!-- ***** SSK   18-Jan-01   Add Stock split element and attribute ***** -->
<!ELEMENT stock-split (#PCDATA)>
<!ATTLIST stock-split effective-date CDATA #IMPLIED>

<!-- ***** The nasdaq-partner tag can contain any of these elements in any order. ***** -->
<!ELEMENT nasdaq-partner (partner-name?, 
			partner-logo-url?,
			partner-href-url?)*>
<!ELEMENT partner-name		(#PCDATA)>
<!ELEMENT partner-logo-url	(#PCDATA)>
<!ELEMENT partner-href-url	(#PCDATA)>

<!ATTLIST nasdaq-partner partner-id	CDATA	#REQUIRED>
<!ATTLIST nasdaq-partner partner-type	CDATA	#IMPLIED>

<!-- ***** JCD 30-Jan-02   Add Country element and attributes ***** -->
<!ELEMENT country		(#PCDATA)>

<!ATTLIST country	name	CDATA	#IMPLIED>
<!ATTLIST country	region	CDATA	#IMPLIED>
 [2003-01-09 19:48 UTC] sniper@php.net
This is some bug in the Sablotron itself:
http://archive.gingerall.cz/archives/public/sablot2002/msg02223.html

But I have no idea what version is bundled with PHP 4.3.0 win32 package.

 [2003-02-20 08:01 UTC] sniper@php.net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 17:01:29 2024 UTC