March 8, 2002 - Switching from XSLT to XPath for Pattern-Based Node Selection | WebReference

March 8, 2002 - Switching from XSLT to XPath for Pattern-Based Node Selection

Yehuda Shiran March 8, 2002
Switching from XSLT to XPath for Pattern-Based Node Selection
Tips: March 2002

Yehuda Shiran, Ph.D.
Doc JavaScript

Pattern-based selection can be based on two standards: XSLT, and XPath. Usually, the XPath standard will satisfy your requirements. Since the default is XSLT patterns, you need to change the SelectionLanguage property to XPath. When you want to read the mydvd7.xml file for example, start off your page with the following lines:

  var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
  xmlDoc.async = false;
  xmlDoc.load("mydvd7.xml");
  xmlDoc.setProperty("SelectionLanguage", "XPath");
Here is mydvd7.xml for your reference:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="mydvd7.xsl"?>
<!DOCTYPE sales SYSTEM "mydvd7.dtd">
  <sales>
    <summary>
      <heading>MyDVD Rental Store</heading>
      <subhead>Periodical Sales Report</subhead>
      <description>Sales Report for January, February, 
	    and &lt;&month;&gt; of 2001</description>
      <author>author: &preparedby;</author>
      <date>Jan 30, 2002</date>
    </summary>
    <data>
      <month>
        <name>January 2001</name>
        <week number="1" dvds_rented="12000" />
        <week number="2" dvds_rented="15000" />
        <week number="3" dvds_rented="18000" />
        <week number="4" dvds_rented="11800" />		  
      </month>
      <month>
        <name>February 2001</name>
        <week number="1" dvds_rented="11500" />
        <week number="2" dvds_rented="12390" />
        <week number="3" dvds_rented="19050" />
        <week number="4" dvds_rented="11200" />		  
      </month>
      <month>
        <name>March 2001</name>
        <week number="1" dvds_rented="15300" />
        <week number="2" dvds_rented="12390" />
        <week number="3" dvds_rented="10050" />
        <week number="4" dvds_rented="11230" />		  
      </month>
    </data>
  </sales>