Quick References
      ADO
      ASP
      CSS2
      HTML
      JavaScript
      Jet SQL
      VBScript
      WML
      WMLScript
      WSH
      XHTML
      XML DOM
      XSLT

Features
      Knowledge Base
      Tutorials

Partners
     ZVON.ORG
     XML
     Planet Source Code
     VisualBuilder
     Web Design
     Your HTML Source
     XML/XSLT Forums
     ASPAlliance
     Scripts
     
     Programmers Heaven
     Tek-Tips Forums
     Developer Fusion
     Code Project











PROPERTY:  Object::specified

This property is a Microsoft extension to the W3C DOM.

Object  Attr   CDATASection   CharacterData   Comment   Document   DocumentFragment   DocumentType   Entity   EntityReference   Node   Notation   ProcessingInstruction   Text
 
Object.specified

The specified property returns a boolean value which indicates whether or not this attribute has a value specified in the XML document. If a value is specified in the document then it returns true. If no value is specified in the document, but the DTD for it specifies a default value, then specified returns false. Otherwise, if there is no value assigned in the XML document, and the value assigned to the attribute in the DTD is #IMPLIED, then the attribute does not appear in the structure model for the document.

The following example uses the 'staff.xml' file where the second 'employee' element does not have a 'pay' attribute, but where a default value is specified in the DTD for the document. The code loops through the children of the root element and assigns the attributes of each to a NamedNodeMap. The specified property is then displayed for the 'pay' attribute.

XML:
<staff>
   <employee ssn="123456" pay="3">
      <f_name>John</f_name>
      <l_name>Sullivan</l_name>
   </employee>
   <employee ssn="987654">
      <f_name>Mary</f_name>
      <l_name>Lopez</l_name>
   </employee>
</staff>

Code (JavaScript):
xml_doc = new ActiveXObject("Microsoft.XMLDOM");
xml_doc.async = false;
xml_doc.load("staff.xml");

root = xml_doc.documentElement;
n_children = root.childNodes.length;
for (i = 0; i < n_children; i++)
{
   curr_node = root.childNodes.item(i);
   atts = curr_node.attributes;
   document.write(atts[1].specified + "<br>");
}

Output:
true
false

Note:
The specified property will always return true for any node type other than an attribute.



 


Copyright 1999-2005 by Infinite Software Solutions, Inc. All rights reserved.
Trademark Information