XML has been developed as a standard data format for information storage and exchange. In most XML database systems, queries are processed by searching the hierarchy of each underlying XML document. Similar to relational databases, most XML documents are actually designed based on the relationship among such semantic concepts as object, attribute and value. Moreover, queries are also issued with concerns of these concepts, e.g., to find the attribute values of a certain object or to find the relationship between two objects. This book presents a new approach to process XML queries. We take semantics as a central concern during XML query processing. We design semantics-based algorithms to perform pattern matching, which is the core operation for XML query processing, as well as grouping and aggregation for analytical queries. We theoretically and experimentally show the advantage of our semantic approach over other existing approaches, in terms of query processing performance. This result should be useful for future research and applications in XML data management.