module REXML
  # Defines a number of tokens used for parsing XML.  Not for general
  # consumption.
  module XMLTokens
    NCNAME_STR= '[\w:][\-\w\d.]*'
    NAME_STR= "(?:#{NCNAME_STR}:)?#{NCNAME_STR}"

    NAMECHAR = '[\-\w\d\.:]'
    NAME = "([\\w:]#{NAMECHAR}*)"
    NMTOKEN = "(?:#{NAMECHAR})+"
    NMTOKENS = "#{NMTOKEN}(\\s+#{NMTOKEN})*"
    REFERENCE = "(?:&#{NAME};|&#\\d+;|&#x[0-9a-fA-F]+;)"

    #REFERENCE = "(?:#{ENTITYREF}|#{CHARREF})"
    #ENTITYREF = "&#{NAME};"
    #CHARREF = "&#\\d+;|&#x[0-9a-fA-F]+;"
  end
end
