Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. <?xml version="1.0" standalone="no"?>
  2. <?xml-stylesheet href="test-to-html.xsl" type="text/xml"?>
  3. <!--
  4.  Copyright (c) 2003 X-Hive Corporation
  5.  
  6.  All Rights Reserved. This work is distributed under the W3C(r)
  7.  Software License [1] in the hope that it will be useful, but WITHOUT
  8.  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  9.  FITNESS FOR A PARTICULAR PURPOSE.
  10.  
  11.  [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  12. -->
  13.  
  14.  
  15. <!DOCTYPE test SYSTEM "dom3.dtd" [
  16.   <!ENTITY % entities SYSTEM "dom3tests.ent">
  17.   %entities;
  18. ]>
  19.  
  20.  
  21. <test xmlns="&level3;" name="DOMEntityResolverTest1">
  22.   <metadata>
  23.     <title>DOMEntityResolverTest1</title>
  24.     &creator;
  25.     <description>Tests a custom entity resolver. The entity resolver creates an input source that supplies 2 elt1 elements. The original entity reference referes to 1 elt1</description>
  26.     &contributor; &date;
  27.     <subject resource="&spec;#LS-LSResourceResolver-resolveResource"/>
  28.     <subject resource="http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/load-save#parameter-resource-resolver"/>
  29.   </metadata>
  30.   <implementationAttribute name="validating" value="true"/>
  31.  
  32.  
  33.   <var name="myentityresolver" type="LSResourceResolver">
  34.      <resolveResource>
  35.         <var name="erInputSource" type="LSInput"/>
  36.         <var name='implementation'   type='DOMImplementation'/>
  37.         <var name='lsImplementation' type='DOMImplementationLS'/>
  38.         <var name="substitute"       type="DOMString" value='"&lt;elt1&gt;second elt1&lt;/elt1&gt;&lt;elt1&gt;third elt1&lt;/elt1&gt;"'/>
  39.  
  40.         <implementation var='implementation'/>
  41.         <assign var='lsImplementation' value='implementation'/>
  42.  
  43.         <createLSInput  var='erInputSource' obj='lsImplementation'/>
  44.         <stringData obj="erInputSource" value="substitute" interface="LSInput"/>
  45.  
  46.         <return value="erInputSource"/>
  47.      </resolveResource>
  48.  
  49.   </var>
  50.  
  51.   <var name="elementList" type="NodeList"/>
  52.   <var name="configuration" type="DOMConfiguration"/>
  53.   <var name="resourceURI" type="DOMString"/>
  54.  
  55.   &vars;
  56.   &init;
  57.  
  58.   <domConfig var="configuration" obj="parser" interface="LSParser"/>
  59.  
  60.   <getResourceURI var="resourceURI" href="TEST4" contentType="text/xml"/>
  61.  
  62.   <!-- before applying the entity resolver there should be 2 elt1 in this document -->
  63.   <parseURI var="document" obj="parser" uri="resourceURI"/>
  64.   <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
  65.   <assertSize collection="elementList" size="2" id="count_elt1_before_applying_entity_resolver"/>
  66.  
  67.   <setParameter obj="configuration" name='"resource-resolver"' value="myentityresolver"/>
  68.  
  69.   <!-- after applying the entity resolver there should be 3 elt1 in this document -->
  70.   <parseURI var="document" obj="parser" uri="resourceURI"/>
  71.   <getElementsByTagName interface="Document" obj="document" tagname="&quot;elt1&quot;" var="elementList"/>
  72.   <assertSize collection="elementList" size="3" id="count_elt1_after_applying_entity_resolver"/>
  73.  
  74. </test>
  75.  
  76.  
  77.  
  78.  
  79.  
  80.