ID: 21539
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Reproducible crash
Operating System: Windows 98
PHP Version: 4.3.0
New Comment:
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 "[EMAIL PROTECTED]"
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>
Previous Comments:
------------------------------------------------------------------------
[2003-01-09 03:17:05] [EMAIL PROTECTED]
FYI, I am using Apache 1.3.27
------------------------------------------------------------------------
[2003-01-09 03:13:50] [EMAIL PROTECTED]
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>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21539&edit=1