Query and transformation languages developed since the mid 90es for XML and semistructured data e.g. XQuery, the precursors of XQuery, and XSLT built upon a path-oriented node selection: A node in a data item is specified in terms of a root-to-node path in the manner of the file selection languages of operating systems. Constructs from regular expressions such as *, +, '?, and "wildcards" give rise to a flexible node retrieval from incompletely specified data items. This paper investigates an alternative approach to querying XML and semistructured data. A metaphor for this approach views queries as patterns, answers as data items matching the queries. Formally, an answer to a query is defined as a simulation [1] of an instance of the query in a data item. The basic