2006-05-04  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Add DOM3 xpath tests as self-contained SVG files. 
        
        * dom/svg: Added.
        * dom/svg/level3: Added.
        * dom/svg/level3/xpath: Added.
        * dom/svg/level3/xpath/Attribute_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Attribute_Nodes.js: Added.
        * dom/svg/level3/xpath/Attribute_Nodes.svg: Added.
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns-expected.txt: Added.
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns.js: Added.
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns.svg: Added.
        * dom/svg/level3/xpath/Comment_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Comment_Nodes.js: Added.
        * dom/svg/level3/xpath/Comment_Nodes.svg: Added.
        * dom/svg/level3/xpath/Conformance_Expressions-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_Expressions.js: Added.
        * dom/svg/level3/xpath/Conformance_Expressions.svg: Added.
        * dom/svg/level3/xpath/Conformance_ID-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_ID.js: Added.
        * dom/svg/level3/xpath/Conformance_ID.svg: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_3-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_3.js: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_3.svg: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_empty-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_empty.js: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_empty.svg: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_null-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_null.js: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_null.svg: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_3-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_3.js: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_3.svg: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_empty-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_empty.js: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_empty.svg: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_null-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_null.js: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_null.svg: Added.
        * dom/svg/level3/xpath/Element_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Element_Nodes.js: Added.
        * dom/svg/level3/xpath/Element_Nodes.svg: Added.
        * dom/svg/level3/xpath/Processing_Instruction_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Processing_Instruction_Nodes.js: Added.
        * dom/svg/level3/xpath/Processing_Instruction_Nodes.svg: Added.
        * dom/svg/level3/xpath/Text_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Text_Nodes.js: Added.
        * dom/svg/level3/xpath/Text_Nodes.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluatorCast01-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluatorCast01.js: Added.
        * dom/svg/level3/xpath/XPathEvaluatorCast01.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_document-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_document.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_document.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.svg: Added.
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_false-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_false.js: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_false.svg: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_true-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_true.js: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_true.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_UNORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_numberValue-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_numberValue.js: Added.
        * dom/svg/level3/xpath/XPathResult_numberValue.svg: Added.
        * dom/svg/level3/xpath/XPathResult_resultType-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_resultType.js: Added.
        * dom/svg/level3/xpath/XPathResult_resultType.svg: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_stringValue-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_stringValue.js: Added.
        * dom/svg/level3/xpath/XPathResult_stringValue.svg: Added.
        * dom/svg/level3/xpath/svgunit.js: Added.




git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/dom/svg/level3/xpath/Attribute_Nodes.js b/LayoutTests/dom/svg/level3/xpath/Attribute_Nodes.js
new file mode 100644
index 0000000..bef153f
--- /dev/null
+++ b/LayoutTests/dom/svg/level3/xpath/Attribute_Nodes.js
@@ -0,0 +1,157 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium, 
+(Massachusetts Institute of Technology, European Research Consortium 
+for Informatics and Mathematics, Keio University). All 
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the 
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+// expose test function names
+function exposeTestFunctionNames()
+{
+return ['Attribute_Nodes'];
+}
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+//   This function is called by the testing framework before
+//      running the test suite.
+//
+//   If there are no configuration exceptions, asynchronous
+//        document loading is started.  Otherwise, the status
+//        is set to complete and the exception is immediately
+//        raised when entering the body of the test.
+//
+function setUpPage() {
+   setUpPageStatus = 'running';
+   try {
+     //
+     //   creates test document builder, may throw exception
+     //
+     builder = createConfiguredBuilder();
+
+      docsLoaded = 0;
+      
+      var docRef = null;
+      if (typeof(this.doc) != 'undefined') {
+        docRef = this.doc;
+      }
+      docsLoaded += preload(docRef, "doc", "staff");
+        
+       if (docsLoaded == 1) {
+          setUpPage = 'complete';
+       }
+    } catch(ex) {
+    	catchInitializationError(builder, ex);
+        setUpPage = 'complete';
+    }
+}
+
+
+
+//
+//   This method is called on the completion of 
+//      each asychronous load started in setUpTests.
+//
+//   When every synchronous loaded document has completed,
+//      the page status is changed which allows the
+//      body of the test to be executed.
+function loadComplete() {
+    if (++docsLoaded == 1) {
+        setUpPageStatus = 'complete';
+    }
+}
+
+
+/**
+* 
+      S1.2.2 Attribute Nodes - 
+      Create ANY_TYPE XPathResult matching  //@*,
+      check that each matching Node is an Attribute Node,
+      that parentNodes of returned Attributes are null,
+      and that ownerElements are in fact Elements.
+    
+* @author Bob Clary
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#Mapping
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator-createNSResolver
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathEvaluator-evaluate
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathNSResolver
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathResult
+* @see http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331/xpath#XPathResult-iterateNext
+*/
+function Attribute_Nodes() {
+   var success;
+    if(checkInitialization(builder, "Attribute_Nodes") != null) return;
+    var ANY_TYPE = 0;
+      var NUMBER_TYPE = 1;
+      var STRING_TYPE = 2;
+      var BOOLEAN_TYPE = 3;
+      var UNORDERED_NODE_ITERATOR_TYPE = 4;
+      var ORDERED_NODE_ITERATOR_TYPE = 5;
+      var UNORDERED_NODE_SNAPSHOT_TYPE = 6;
+      var ORDERED_NODE_SNAPSHOT_TYPE = 7;
+      var ANY_UNORDERED_NODE_TYPE = 8;
+      var FIRST_ORDERED_NODE_TYPE = 9;
+      var doc;
+      var resolver;
+      var evaluator;
+      var contextNode;
+      var inresult = null;
+
+      var outresult = null;
+
+      var expression = "//@*";
+      var xpathType = ANY_TYPE;
+      var outNode;
+      var nodeType;
+      var parent;
+      var owner;
+      var ownerType;
+      
+      var docRef = null;
+      if (typeof(this.doc) != 'undefined') {
+        docRef = this.doc;
+      }
+      doc = load(docRef, "doc", "staff");
+      evaluator = createXPathEvaluator(doc);
+resolver = evaluator.createNSResolver(doc);
+      contextNode =  doc;
+outresult = evaluator.evaluate(expression,contextNode,resolver,xpathType,inresult);
+      outNode = outresult.iterateNext();
+      
+    while(
+	
+	(outNode != null)
+
+	) {
+	nodeType = outNode.nodeType;
+
+      assertEquals("S1.2.2-Attribute-Nodes-nodeType",2,nodeType);
+       parent = outNode.parentNode;
+
+      assertNull("S1.2.2-Attribute-Nodes-parentNode",parent);
+    owner = outNode.ownerElement;
+
+      ownerType = owner.nodeType;
+
+      assertEquals("S1.2.2-Attribute-Nodes-owner-nodeType",1,ownerType);
+       outNode = outresult.iterateNext();
+      
+	}
+
+}
+
+
+
+
+function runTest() {
+   Attribute_Nodes();
+}