------------------------------------------------------------------------------ -- XML/Ada - An XML suite for Ada95 -- -- -- -- Copyright (C) 2002-2012, AdaCore -- -- -- -- This library is free software; you can redistribute it and/or modify it -- -- under terms of the GNU General Public License as published by the Free -- -- Software Foundation; either version 3, or (at your option) any later -- -- version. This library is distributed in the hope that it will be useful, -- -- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- -- -- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- -- -- -- -- -- -- -- -- -- -- -- You should have received a copy of the GNU General Public License and -- -- a copy of the GCC Runtime Library Exception along with this program; -- -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- -- . -- -- -- ------------------------------------------------------------------------------ with Unicode.CES.Utf8; with Unicode.CES.Utf32; use Unicode.CES; package Sax.Encodings is Encoding : constant Unicode.CES.encoding_scheme := Unicode.CES.Utf8.Utf8_Encoding; -- The default encoding used internally by XML/Ada, in particular in the -- DOM tree. All characters are unicode. -- The default value of UTF8 is economical in terms of memory, supports the -- whole unicode range of characters, but is slightly slower to process. -- -- You can change this to Basic_8bit, which is both very fast and with -- reduced memory usage, but will only apply to Latin-1 documents. -- -- You can also change this to UTF32 for instance, which will use more -- memory, but is faster to process. -- -- In all cases, if you modify this value, you will need to reencode all -- the strings below in the new encoding. function From_Utf32 (Str : Unicode.CES.Utf32.utf32_le_string) return Unicode.CES.Utf8.utf8_string renames Unicode.CES.Utf8.From_Utf32; ---------------- -- Constants -- ---------------- -- This is a set of constant strings that need to be defined for the -- parser. We do not initialize them through calls to Encoding.Encode, for -- efficiency reasons, and so that we know in advance the length of the -- byte_sequence (no memory allocation). -- These strings must be encoded with the default encoding. Amp_Sequence : constant byte_sequence := "amp"; Amp_DOM_Sequence : constant byte_sequence := "&"; Any_Sequence : constant byte_sequence := "ANY"; Apos_Sequence : constant byte_sequence := "apos"; Attlist_Sequence : constant byte_sequence := "ATTLIST"; Cdata_Sequence : constant byte_sequence := "CDATA"; Cr_Sequence : constant byte_sequence := " "; Doctype_Sequence : constant byte_sequence := "DOCTYPE"; Element_Sequence : constant byte_sequence := "LEMENT"; Empty_Sequence : constant byte_sequence := "EMPTY"; Encoding_Sequence : constant byte_sequence := "encoding"; Entit_Sequence : constant byte_sequence := "ENTIT"; Id_Sequence : constant byte_sequence := "ID"; Ies_Sequence : constant byte_sequence := "IES"; Fixed_Sequence : constant byte_sequence := "FIXED"; Gt_Sequence : constant byte_sequence := "gt"; Gt_DOM_Sequence : constant byte_sequence := ">"; Implied_Sequence : constant byte_sequence := "IMPLIED"; Include_Sequence : constant byte_sequence := "INCLUDE"; Ignore_Sequence : constant byte_sequence := "IGNORE"; Lang_Sequence : constant byte_sequence := "lang"; Lf_Sequence : constant byte_sequence := " "; Lt_Sequence : constant byte_sequence := "lt"; Lt_DOM_Sequence : constant byte_sequence := "<"; Mtoken_Sequence : constant byte_sequence := "MTOKEN"; Ndata_Sequence : constant byte_sequence := "NDATA"; Otation_Sequence : constant byte_sequence := "OTATION"; No_Sequence : constant byte_sequence := "no"; Notation_Sequence : constant byte_sequence := "NOTATION"; Ntity_Sequence : constant byte_sequence := "NTITY"; Pcdata_Sequence : constant byte_sequence := "#PCDATA"; Public_Sequence : constant byte_sequence := "PUBLIC"; Quot_Sequence : constant byte_sequence := "quot"; Quot_DOM_Sequence : constant byte_sequence := """; Ref_Sequence : constant byte_sequence := "REF"; Required_Sequence : constant byte_sequence := "REQUIRED"; Standalone_Sequence : constant byte_sequence := "standalone"; Tab_Sequence : constant byte_sequence := " "; System_Sequence : constant byte_sequence := "SYSTEM"; Version_Sequence : constant byte_sequence := "version"; Xml_Sequence : constant byte_sequence := "xml"; Xmlns_Sequence : constant byte_sequence := "xmlns"; Yes_Sequence : constant byte_sequence := "yes"; True_Sequence : constant byte_sequence := "true"; False_Sequence : constant byte_sequence := "false"; Vertical_Line_Sequence : constant byte_sequence := "|"; Comma_Sequence : constant byte_sequence := ","; Closing_Parenthesis_Sequence : constant byte_sequence := ")"; Opening_Parenthesis_Sequence : constant byte_sequence := "("; Star_Sequence : constant byte_sequence := "*"; Question_Mark_Sequence : constant byte_sequence := "?"; Plus_Sign_Sequence : constant byte_sequence := "+"; Colon_Sequence : constant byte_sequence := ":"; Percent_Sign_Sequence : constant byte_sequence := "%"; Space_Word_Sequence : constant byte_sequence := "space"; Default_Sequence : constant byte_sequence := "default"; Preserve_Sequence : constant byte_sequence := "preserve"; Space_Sequence : constant byte_sequence := " "; Space_Numeric_Sequence : constant byte_sequence := " "; Less_Than_Sequence : constant byte_sequence := "<"; Greater_Than_Sequence : constant byte_sequence := ">"; Equals_Sign_Sequence : constant byte_sequence := "="; Quotation_Mark_Sequence : constant byte_sequence := """"; Slash_Sequence : constant byte_sequence := "/"; URN_Sequence : constant byte_sequence := "urn:"; Namespaces_URI_Sequence : constant byte_sequence := "http://www.w3.org/XML/1998/namespace"; Xmlns_URI_Sequence : constant byte_sequence := "http://www.w3.org/2000/xmlns/"; Cdata_Section_Name_Sequence : constant byte_sequence := "#cdata-section"; Comment_Name_Sequence : constant byte_sequence := "#comment"; Document_Name_Sequence : constant byte_sequence := "#document"; Document_Fragment_Name_Sequence : constant byte_sequence := "#document-fragment"; Text_Name_Sequence : constant byte_sequence := "#text"; Error_Handler_Sequence : constant byte_sequence := "error-handler"; Canonical_Form_Sequence : constant byte_sequence := "canonical-form"; Cdata_Sections_Sequence : constant byte_sequence := "cdata-sections"; Comments_Sequence : constant byte_sequence := "comments"; Datatype_Normalization_Sequence : constant byte_sequence := "datatype-normalization"; Discard_Default_Content_Sequence : constant byte_sequence := "discard-default-content"; Entities_Sequence : constant byte_sequence := "entities"; Infoset_Sequence : constant byte_sequence := "infoset"; Namespaces_Sequence : constant byte_sequence := "namespaces"; Namespace_Declarations_Sequence : constant byte_sequence := "namespace-declarations"; Normalize_Characters_Sequence : constant byte_sequence := "normalize-characters"; Split_Cdata_Sections_Sequence : constant byte_sequence := "split-cdata-sections"; Validate_Sequence : constant byte_sequence := "validate"; Validate_If_Schema_Sequence : constant byte_sequence := "validate-if-schema"; Whitespace_In_Element_Sequence : constant byte_sequence := "whitespace-in-element-content"; Mailto_Sequence : constant byte_sequence := "mailto:"; end Sax.Encodings;