: mdAdvanced    # All properties which are not explicitly overloaded are 
                # advanced

# Genaral rules for dictionaries
################################
Catalog. : mdNormal     # Catalog properties can be changed by default
Pages. : mdReadOnly     # Intermediate node properties shouldn't be changed
                        # by default because they may lead to page tree
                        # corruption
Page. : mdNormal        
Outlines. : mdReadOnly  # Outlines dictionary has read only elements by default
Annot. : mdNormal       # Annotation dictionary may be changed by default
Border. : mdNormal      # Border style dictionary may be changed by default

# General rules for fields
##########################
.Type: mdReadOnly       # All Type fields are read only - it is very nasty to 
                        # change them, but may be usefull to see them
.Subtype: mdReadOnly    # All Subtype fields are read only - it is more precise
                        # description of structure type (e. g. Annot type). 
                        # It shouldn't be changed
.Parent: mdHidden
.Length: mdReadOnly     # All Length fields are read only - they are mainly 
                        # stream dictionary members and has to be sync with
                        # stream length
.Size: mdReadOnly       # embded stream size shouldn't be changed
.CheckSum: mdReadOnly   # embded stream check sum shouldn't be changed

# Concrete rules           

# Document catalog specialized values
Catalog.Pages: mdReadOnly 
Catalog.Version: mdReadOnly
Catalog.Perms : mdHidden
Catalog.Legal : mdHidden

# Leaf page tree node specialized values
Page.LastModified: mdReadOnly
Page.Annots: mdReadOnly # Annotations should be changed by CPage interface
Page.Resources : mdReadOnly # Page resources shouldn't changed

# Outlines dictionary specialized values
Outlines.Title: mdNormal # Outline title can be changed
