-- ------------------------------------------------------------

{- |
   Module     : Text.XML.HXT.DOM.XmlKeywords
   Copyright  : Copyright (C) 2005 Uwe Schmidt
   License    : MIT

   Maintainer : Uwe Schmidt (uwe@fh-wedel.de)
   Stability  : experimental
   Portability: portable

   Constants for XML keywords, for special attribute names
   and special attribute values

-}

-- ------------------------------------------------------------

module Text.XML.HXT.DOM.XmlKeywords
where

-- ------------------------------------------------------------
--
-- string constants for representing DTD keywords and attributes

t_xml,                          -- tag names
 t_root         :: String

a_default,                     -- attribute names
 a_contentLength,
 a_column,
 a_encoding,
 a_kind,
 a_line,
 a_module,
 a_modifier,
 a_name,
 a_output_encoding,
 a_peref,
 a_source,
 a_status,
 a_standalone,
 a_type,
 a_url,
 a_value,
 a_version,
 a_xml,
 a_xmlns        :: String

v_0,                            -- attribute values
 v_1,
 v_2,
 v_yes,
 v_no,
 v_any,
 v_children,
 v_choice,
 v_empty,
 v_mixed,
 v_seq,
 v_null,
 v_option,
 v_pcdata,
 v_star,
 v_plus         :: String

k_any,                          -- DTD keywords
 k_cdata,
 k_empty,
 k_entity,
 k_entities,
 k_id,
 k_idref,
 k_idrefs,
 k_include,
 k_ignore,
 k_nmtoken,
 k_nmtokens,
 k_peref,
 k_public,
 k_system,
 k_enumeration,
 k_fixed,
 k_implied,
 k_ndata,
 k_notation,
 k_pcdata,
 k_required,
 k_default      :: String

-- ------------------------------------------------------------

t_xml :: String
t_xml           = String
"xml"
t_root :: String
t_root          = String
"/"           -- name of root node tag

a_column :: String
a_column                        = String
"column"
a_contentLength :: String
a_contentLength                 = String
"Content-Length"
a_default :: String
a_default                       = String
"default"
a_encoding :: String
a_encoding                      = String
"encoding"
a_kind :: String
a_kind                          = String
"kind"
a_line :: String
a_line                          = String
"line"
a_module :: String
a_module                        = String
"module"
a_modifier :: String
a_modifier                      = String
"modifier"
a_name :: String
a_name                          = String
"name"
a_output_encoding :: String
a_output_encoding               = String
"output-encoding"
a_peref :: String
a_peref                         = String
k_peref
a_source :: String
a_source                        = String
"source"
a_standalone :: String
a_standalone                    = String
"standalone"
a_status :: String
a_status                        = String
"status"
a_type :: String
a_type                          = String
"type"
a_url :: String
a_url                           = String
"url"
a_value :: String
a_value                         = String
"value"
a_version :: String
a_version                       = String
"version"
a_xml :: String
a_xml                           = String
"xml"
a_xmlns :: String
a_xmlns                         = String
"xmlns"

v_yes :: String
v_yes           = String
"yes"
v_no :: String
v_no            = String
"no"
v_0 :: String
v_0             = String
"0"
v_1 :: String
v_1             = String
"1"
v_2 :: String
v_2             = String
"2"

v_any :: String
v_any           = String
k_any
v_children :: String
v_children      = String
"children"
v_choice :: String
v_choice        = String
"choice"
v_empty :: String
v_empty         = String
k_empty
v_pcdata :: String
v_pcdata        = String
k_pcdata
v_mixed :: String
v_mixed         = String
"mixed"
v_seq :: String
v_seq           = String
"seq"

v_null :: String
v_null          = String
""
v_option :: String
v_option        = String
"?"
v_star :: String
v_star          = String
"*"
v_plus :: String
v_plus          = String
"+"

k_any :: String
k_any           = String
"ANY"
k_cdata :: String
k_cdata         = String
"CDATA"
k_empty :: String
k_empty         = String
"EMPTY"
k_entity :: String
k_entity        = String
"ENTITY"
k_entities :: String
k_entities      = String
"ENTITIES"
k_id :: String
k_id            = String
"ID"
k_idref :: String
k_idref         = String
"IDREF"
k_idrefs :: String
k_idrefs        = String
"IDREFS"
k_include :: String
k_include       = String
"INCLUDE"
k_ignore :: String
k_ignore        = String
"IGNORE"
k_nmtoken :: String
k_nmtoken       = String
"NMTOKEN"
k_nmtokens :: String
k_nmtokens      = String
"NMTOKENS"
k_peref :: String
k_peref         = String
"PERef"
k_public :: String
k_public        = String
"PUBLIC"
k_system :: String
k_system        = String
"SYSTEM"

k_enumeration :: String
k_enumeration   = String
"#ENUMERATION"
k_fixed :: String
k_fixed         = String
"#FIXED"
k_implied :: String
k_implied       = String
"#IMPLIED"
k_ndata :: String
k_ndata         = String
"NDATA"
k_notation :: String
k_notation      = String
"NOTATION"
k_pcdata :: String
k_pcdata        = String
"#PCDATA"
k_required :: String
k_required      = String
"#REQUIRED"
k_default :: String
k_default       = String
"#DEFAULT"


dtdPrefix       :: String
dtdPrefix :: String
dtdPrefix       = String
"doctype-"

-- ------------------------------------------------------------
--

-- attribute names for transfer protocol attributes
-- used in XmlInput for describing header information
-- of http and other requests

transferPrefix
 , transferProtocol
 , transferMimeType
 , transferEncoding
 , transferURI
 , transferDefaultURI
 , transferStatus
 , transferMessage
 , transferVersion :: String

transferPrefix :: String
transferPrefix          = String
"transfer-"

transferProtocol :: String
transferProtocol        = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"Protocol"
transferVersion :: String
transferVersion         = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"Version"
transferMimeType :: String
transferMimeType        = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"MimeType"
transferEncoding :: String
transferEncoding        = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"Encoding"
transferDefaultURI :: String
transferDefaultURI      = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"DefaultURI"
transferStatus :: String
transferStatus          = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"Status"
transferMessage :: String
transferMessage         = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"Message"
transferURI :: String
transferURI             = String
transferPrefix String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"URI"

-- ------------------------------------------------------------
--

httpPrefix      :: String
httpPrefix :: String
httpPrefix      = String
"http-"

stringProtocol  :: String
stringProtocol :: String
stringProtocol  = String
"string:"

-- ------------------------------------------------------------
--
-- known namespaces

-- |
-- the predefined namespace uri for xml: \"http:\/\/www.w3.org\/XML\/1998\/namespace\"

xmlNamespace    :: String
xmlNamespace :: String
xmlNamespace    = String
"http://www.w3.org/XML/1998/namespace"

-- |
-- the predefined namespace uri for xmlns: \"http:\/\/www.w3.org\/2000\/xmlns\/\"

xmlnsNamespace  :: String
xmlnsNamespace :: String
xmlnsNamespace  = String
"http://www.w3.org/2000/xmlns/"

-- | Relax NG namespace
relaxNamespace  :: String
relaxNamespace :: String
relaxNamespace  = String
"http://relaxng.org/ns/structure/1.0"

-- ------------------------------------------------------------