Specifying Attributes in Queries

To specify an attribute name in a query, precede the attribute name with an at sign (@). The XPath processor treats elements and attributes in the same way wherever possible. For example:

//@style
               

            

This query returns the style attributes associated with the magazine, the three books, and the my:book element. That is, it returns all the style attributes in the document. It does not return the elements that contain the attributes.

Following is another query that includes an attribute:

/bookstore/book/@style
               

            

This query returns the three style attributes for the three book elements.

The following query returns the style attribute of the context node:

@style 
               

            

If the context node does not have a style attribute, the result set is empty.

The next query returns the exchange attribute on price elements in the current context:

price/@exchange 
               

            

Following is an example that is not valid because attributes cannot have subelements:

price/@exchange/total 
               

            

Following is a query that finds the style attribute for all book elements in the document:

//book/@style 
               

            

Restrictions

Attributes cannot contain subelements. Consequently, you cannot apply a path operator to an attribute. If you try to, you receive a syntax error.

Attributes are inherently unordered. Consequently, you cannot apply a position number to an attribute. If you try to, you receive a syntax error.

Attributes and Wildcards

You can use an at sign (@) and asterisk (*) together to retrieve a collection of attributes. For example, the following query finds all attributes in the current context:

@* 
               

            

Internet & eBusiness

Internet & eBusiness

EDIFACT Sample Converted to XML

A sample EDIFACT document before and after conversion to XML, showing markup and full automatically-generated internal documentation.

Multi Channel Publishing

Multi channel publishing lets you go beyond single-source publishing of HTML and PDF to also generate simultaneously for non-document forms, such as to communicate with partners or drive spreadsheets.

XML Schema Editor

Stylus Studio's XML Schema Editor lets you easily develop advanced data models expressed in W3C XML Schema. Its synchronized split-pane interface shows both a visual XML Schema Diagram and the underlying code, and you can edit in either one.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member