/*
 *
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 */

/*-------------------------------------------------------------------------- 
          CSS TREE SHAPE
  --------------------------------------------------------------------------
    ( DOCUMENT 
        ( NAMESPACE_LIST NAMESPACE_DEFINITION* )
        ( FONT_FACE_LIST FONT_FACE_DEFINITION* )
        ( RULE_LIST 
            ( RULE 
                ( SELECTOR_GROUP
                    ( SELECTOR 
                        ( SELECTOR_NAMESPACE_PREFIX STRING? ) 
                        ( SELECTOR_TYPE_NAME STRING? ) 
                        ( SELECTOR_CONDITION_LIST SELECTOR_CONDITION* )
                    )+
                )
                ( MEDIA_QUERY_LIST MEDIA_QUERY_CONDITION* )
                ( PROPERTY_LIST 
                    ( PROPERTY STRING PROPERTY_VALUE )* 
                ) 
            )*
        ) 
    )
 --------------------------------------------------------------------------*/

Pattern document
DOCUMENT (namespaceList namespaceList, fontFaceList fontFaceList, ruleList ruleList);

Pattern namespaceList
NAMESPACE_LIST (namespaceDefinition namespaces*);

Pattern namespaceDefinition
NAMESPACE_DEFINITION (void);

Pattern ruleList 
RULE_LIST (rule rules*);

Pattern rule 
RULE (selectorGroup selectorGroup, mediaQuery mediaQuery, propertyList propertyList);

Pattern selectorGroup
SELECTOR_GROUP (selector selectors*);

Pattern selector
SELECTOR (void);

Pattern propertyList 
PROPERTY_LIST (property properties*);

Pattern property
PROPERTY (void); 

Pattern mediaQuery
MEDIA_QUERY (mediaQueryCondition conditions*);

Pattern mediaQueryCondition
MEDIA_QUERY_CONDITION (void);

Pattern fontFaceList
FONT_FACE_LIST (fontFace fontFaces*);

Pattern fontFace
FONT_FACE (void);

