Diff for /Amaya/amaya/fetchHTMLname.c between versions 1.17 and 1.18

version 1.17, 2000/08/23 16:29:02 version 1.18, 2000/08/28 13:52:09
Line 27 Line 27
 AttributeMapping XhtmlAttributeMappingTable[] =  AttributeMapping XhtmlAttributeMappingTable[] =
 {  {
    /* The first entry MUST be unknown_attr */     /* The first entry MUST be unknown_attr */
    {TEXT("unknown_attr"), TEXT(""), 'A', HTML_ATTR_Invalid_attribute, L_Basic},  
    {TEXT("abbr"), TEXT(""), 'A', HTML_ATTR_abbr, L_Basic},     {TEXT("abbr"), TEXT(""), 'A', HTML_ATTR_abbr, L_Basic},
    {TEXT("accept"), TEXT(""), 'A', HTML_ATTR_accept, L_Basic},     {TEXT("accept"), TEXT(""), 'A', HTML_ATTR_accept, L_Basic},
    {TEXT("accept-charset"), TEXT("form"), 'A', HTML_ATTR_accept_charset, L_Basic},     {TEXT("accept-charset"), TEXT("form"), 'A', HTML_ATTR_accept_charset, L_Basic},
Line 73  AttributeMapping XhtmlAttributeMappingTa Line 72  AttributeMapping XhtmlAttributeMappingTa
   
    {TEXT("cellspacing"), TEXT(""), 'A', HTML_ATTR_cellspacing, L_Transitional},     {TEXT("cellspacing"), TEXT(""), 'A', HTML_ATTR_cellspacing, L_Transitional},
    {TEXT("cellpadding"), TEXT(""), 'A', HTML_ATTR_cellpadding, L_Transitional},     {TEXT("cellpadding"), TEXT(""), 'A', HTML_ATTR_cellpadding, L_Transitional},
    {TEXT("char"), TEXT(""), 'A', HTML_ATTR_char, L_Basic},     {TEXT("char"), TEXT(""), 'A', HTML_ATTR_char, L_Transitional},
    {TEXT("charoff"), TEXT(""), 'A', HTML_ATTR_charoff, L_Basic},     {TEXT("charoff"), TEXT(""), 'A', HTML_ATTR_charoff, L_Transitional},
    {TEXT("charset"), TEXT(""), 'A', HTML_ATTR_charset, L_Basic},     {TEXT("charset"), TEXT(""), 'A', HTML_ATTR_charset, L_Basic},
    {TEXT("checked"), TEXT(""), 'A', HTML_ATTR_Checked, L_Basic},     {TEXT("checked"), TEXT(""), 'A', HTML_ATTR_Checked, L_Basic},
    {TEXT("cite"), TEXT(""), 'A', HTML_ATTR_cite, L_Basic},     {TEXT("cite"), TEXT(""), 'A', HTML_ATTR_cite, L_Basic},
Line 115  AttributeMapping XhtmlAttributeMappingTa Line 114  AttributeMapping XhtmlAttributeMappingTa
 #ifdef GRAPHML  #ifdef GRAPHML
    {TEXT("height"), TEXT("svg"), 'A', HTML_ATTR_SvgHeight, L_Transitional},     {TEXT("height"), TEXT("svg"), 'A', HTML_ATTR_SvgHeight, L_Transitional},
 #endif /* GRAPHML */  #endif /* GRAPHML */
    {TEXT("height"), TEXT(""), 'A', HTML_ATTR_Height_, L_Basic},     {TEXT("height"), TEXT("img"), 'A', HTML_ATTR_Height_, L_Basic},
      {TEXT("height"), TEXT("object"), 'A', HTML_ATTR_Height_, L_Basic},
      {TEXT("height"), TEXT(""), 'A', HTML_ATTR_Height_, L_Transitional},
    {TEXT("href"), TEXT(""), 'A', HTML_ATTR_HREF_, L_Basic},     {TEXT("href"), TEXT(""), 'A', HTML_ATTR_HREF_, L_Basic},
    {TEXT("hreflang"), TEXT(""), 'A', HTML_ATTR_hreflang, L_Basic},     {TEXT("hreflang"), TEXT(""), 'A', HTML_ATTR_hreflang, L_Basic},
    {TEXT("hspace"), TEXT(""), 'A', HTML_ATTR_hspace, L_Transitional},     {TEXT("hspace"), TEXT(""), 'A', HTML_ATTR_hspace, L_Transitional},
Line 139  AttributeMapping XhtmlAttributeMappingTa Line 140  AttributeMapping XhtmlAttributeMappingTa
    {TEXT("multiple"), TEXT(""), 'A', HTML_ATTR_Multiple, L_Basic},     {TEXT("multiple"), TEXT(""), 'A', HTML_ATTR_Multiple, L_Basic},
   
    {TEXT("N"), TEXT(""), 'C', 0, L_Basic},     {TEXT("N"), TEXT(""), 'C', 0, L_Basic},
    {TEXT("name"), TEXT("applet"), 'A', HTML_ATTR_applet_name, L_Basic},     {TEXT("name"), TEXT("applet"), 'A', HTML_ATTR_applet_name, L_Transitional},
    {TEXT("name"), TEXT("frame"), 'A', HTML_ATTR_FrameName, L_Basic},     {TEXT("name"), TEXT("frame"), 'A', HTML_ATTR_FrameName, L_Transitional},
    {TEXT("name"), TEXT("iframe"), 'A', HTML_ATTR_FrameName, L_Basic},     {TEXT("name"), TEXT("iframe"), 'A', HTML_ATTR_FrameName, L_Transitional},
    {TEXT("name"), TEXT("meta"), 'A', HTML_ATTR_meta_name, L_Basic},     {TEXT("name"), TEXT("meta"), 'A', HTML_ATTR_meta_name, L_Basic},
    {TEXT("name"), TEXT("param"), 'A', HTML_ATTR_Param_name, L_Basic},     {TEXT("name"), TEXT("param"), 'A', HTML_ATTR_Param_name, L_Basic},
    {TEXT("name"), TEXT(""), 'A', HTML_ATTR_NAME, L_Basic},     {TEXT("name"), TEXT(""), 'A', HTML_ATTR_NAME, L_Basic},
    {TEXT("nohref"), TEXT(""), 'A', HTML_ATTR_nohref, L_Basic},     {TEXT("nohref"), TEXT(""), 'A', HTML_ATTR_nohref, L_Basic},
    {TEXT("noresize"), TEXT(""), 'A', HTML_ATTR_no_resize, L_Basic},     {TEXT("noresize"), TEXT(""), 'A', HTML_ATTR_no_resize, L_Basic},
    {TEXT("noshade"), TEXT(""), 'A', HTML_ATTR_NoShade, L_Basic},     {TEXT("noshade"), TEXT(""), 'A', HTML_ATTR_NoShade, L_Basic},
    {TEXT("nowrap"), TEXT(""), 'A', HTML_ATTR_No_wrap, L_Basic},     {TEXT("nowrap"), TEXT(""), 'A', HTML_ATTR_No_wrap, L_Transitional},
   
    {TEXT("object"), TEXT("applet"), 'A', HTML_ATTR_object, L_Transitional},     {TEXT("object"), TEXT("applet"), 'A', HTML_ATTR_object, L_Transitional},
    {TEXT("onblur"), TEXT(""), 'A', HTML_ATTR_onblur, L_Transitional},     {TEXT("onblur"), TEXT(""), 'A', HTML_ATTR_onblur, L_Transitional},
Line 179  AttributeMapping XhtmlAttributeMappingTa Line 180  AttributeMapping XhtmlAttributeMappingTa
    {TEXT("rows"), TEXT("frameset"), 'A', HTML_ATTR_RowHeight, L_Transitional},     {TEXT("rows"), TEXT("frameset"), 'A', HTML_ATTR_RowHeight, L_Transitional},
    {TEXT("rows"), TEXT("textarea"), 'A', HTML_ATTR_Rows, L_Basic},     {TEXT("rows"), TEXT("textarea"), 'A', HTML_ATTR_Rows, L_Basic},
    {TEXT("rowspan"), TEXT(""), 'A', HTML_ATTR_rowspan_, L_Basic},     {TEXT("rowspan"), TEXT(""), 'A', HTML_ATTR_rowspan_, L_Basic},
    {TEXT("rules"), TEXT("table"), 'A', HTML_ATTR_rules_, L_Basic},     {TEXT("rules"), TEXT("table"), 'A', HTML_ATTR_rules_, L_Transitional},
   
    {TEXT("scheme"), TEXT("meta"), 'A', HTML_ATTR_scheme, L_Basic},     {TEXT("scheme"), TEXT("meta"), 'A', HTML_ATTR_scheme, L_Basic},
    {TEXT("scope"), TEXT(""), 'A', HTML_ATTR_scope, L_Basic},     {TEXT("scope"), TEXT(""), 'A', HTML_ATTR_scope, L_Basic},
Line 218  AttributeMapping XhtmlAttributeMappingTa Line 219  AttributeMapping XhtmlAttributeMappingTa
    {TEXT("type"), TEXT("ul"), 'A', HTML_ATTR_BulletStyle, L_Basic},     {TEXT("type"), TEXT("ul"), 'A', HTML_ATTR_BulletStyle, L_Basic},
    {TEXT("type"), TEXT(""), SPACE, DummyAttribute, L_Basic},     {TEXT("type"), TEXT(""), SPACE, DummyAttribute, L_Basic},
   
      {TEXT("unknown_attr"), TEXT(""), 'A', HTML_ATTR_Invalid_attribute, L_Transitional},
    {TEXT("usemap"), TEXT(""), 'A', HTML_ATTR_USEMAP, L_Basic},     {TEXT("usemap"), TEXT(""), 'A', HTML_ATTR_USEMAP, L_Basic},
   
    {TEXT("valign"), TEXT("tbody"), 'A', HTML_ATTR_Row_valign, L_Basic},     {TEXT("valign"), TEXT("tbody"), 'A', HTML_ATTR_Row_valign, L_Transitional},
    {TEXT("valign"), TEXT("td"), 'A', HTML_ATTR_Cell_valign, L_Basic},     {TEXT("valign"), TEXT("td"), 'A', HTML_ATTR_Cell_valign, L_Transitional},
    {TEXT("valign"), TEXT("tfoot"), 'A', HTML_ATTR_Row_valign, L_Basic},     {TEXT("valign"), TEXT("tfoot"), 'A', HTML_ATTR_Row_valign, L_Transitional},
    {TEXT("valign"), TEXT("th"), 'A', HTML_ATTR_Cell_valign, L_Basic},     {TEXT("valign"), TEXT("th"), 'A', HTML_ATTR_Cell_valign, L_Transitional},
    {TEXT("valign"), TEXT("thead"), 'A', HTML_ATTR_Row_valign, L_Basic},     {TEXT("valign"), TEXT("thead"), 'A', HTML_ATTR_Row_valign, L_Transitional},
    {TEXT("valign"), TEXT("tr"), 'A', HTML_ATTR_Row_valign, L_Basic},     {TEXT("valign"), TEXT("tr"), 'A', HTML_ATTR_Row_valign, L_Transitional},
    {TEXT("value"), TEXT("li"), 'A', HTML_ATTR_ItemValue, L_Basic},     {TEXT("value"), TEXT("li"), 'A', HTML_ATTR_ItemValue, L_Basic},
    {TEXT("value"), TEXT("param"), 'A', HTML_ATTR_Param_value, L_Basic},     {TEXT("value"), TEXT("param"), 'A', HTML_ATTR_Param_value, L_Basic},
    {TEXT("value"), TEXT(""), 'A', HTML_ATTR_Value_, L_Basic},     {TEXT("value"), TEXT(""), 'A', HTML_ATTR_Value_, L_Basic},
Line 235  AttributeMapping XhtmlAttributeMappingTa Line 237  AttributeMapping XhtmlAttributeMappingTa
    {TEXT("vspace"), TEXT(""), 'A', HTML_ATTR_vspace, L_Transitional},     {TEXT("vspace"), TEXT(""), 'A', HTML_ATTR_vspace, L_Transitional},
   
    {TEXT("width"), TEXT("applet"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("applet"), 'A', HTML_ATTR_Width__, L_Transitional},
    {TEXT("width"), TEXT("col"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("col"), 'A', HTML_ATTR_Width__, L_Strict},
    {TEXT("width"), TEXT("colgroup"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("colgroup"), 'A', HTML_ATTR_Width__, L_Strict},
    {TEXT("width"), TEXT("hr"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("hr"), 'A', HTML_ATTR_Width__, L_Transitional},
    {TEXT("width"), TEXT("iframe"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("iframe"), 'A', HTML_ATTR_Width__, L_Transitional},
    {TEXT("width"), TEXT("image"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("image"), 'A', HTML_ATTR_Width__, L_Transitional},
Line 244  AttributeMapping XhtmlAttributeMappingTa Line 246  AttributeMapping XhtmlAttributeMappingTa
    {TEXT("width"), TEXT("object"), 'A', HTML_ATTR_Width__, L_Basic},     {TEXT("width"), TEXT("object"), 'A', HTML_ATTR_Width__, L_Basic},
    {TEXT("width"), TEXT("pre"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("pre"), 'A', HTML_ATTR_Width__, L_Transitional},
 #ifdef GRAPHML  #ifdef GRAPHML
    {TEXT("width"), TEXT("svg"), 'A', HTML_ATTR_SvgWidth, L_Transitional},     {TEXT("width"), TEXT("svg"), 'A', HTML_ATTR_SvgWidth, L_Strict},
 #endif /* GRAPHML */  #endif /* GRAPHML */
    {TEXT("width"), TEXT("table"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("table"), 'A', HTML_ATTR_Width__, L_Transitional},
    {TEXT("width"), TEXT("td"), 'A', HTML_ATTR_Width__, L_Transitional},     {TEXT("width"), TEXT("td"), 'A', HTML_ATTR_Width__, L_Transitional},
Line 254  AttributeMapping XhtmlAttributeMappingTa Line 256  AttributeMapping XhtmlAttributeMappingTa
 #endif /* GRAPHML */  #endif /* GRAPHML */
   
    {TEXT("zzghost"), TEXT(""), 'A', HTML_ATTR_Ghost_restruct, L_Basic},     {TEXT("zzghost"), TEXT(""), 'A', HTML_ATTR_Ghost_restruct, L_Basic},
    {TEXT(""), TEXT(""), EOS, 0, L_Basic}                /* Last entry. Mandatory */     {TEXT(""), TEXT(""), EOS, 0, L_Undefined}            /* Last entry. Mandatory */
 };  };
   
 /* define a pointer to let other parser functions access the local table */  /* define a pointer to let other parser functions access the local table */
Line 417  Document            doc; Line 419  Document            doc;
    as well as the corresponding Thot SSchema     as well as the corresponding Thot SSchema
   ----------------------------------------------------------------------*/    ----------------------------------------------------------------------*/
 #ifdef __STDC__  #ifdef __STDC__
 AttributeMapping   *MapAttr (CHAR_T* Attr, SSchema *schema, int elemEntry, Document doc)  AttributeMapping   *MapAttr (CHAR_T *attrName, SSchema *schema, int elemEntry, Document doc)
 #else  #else
 AttributeMapping   *MapAttr (Attr, schema, elemEntry, doc)  AttributeMapping   *MapAttr (attrName, schema, elemEntry, doc)
 CHAR_T*               Attr;  CHAR_T             *attrName;
 SSchema*            schema;  SSchema            *schema;
 int                 elemEntry;  int                 elemEntry;
 Document            doc;  Document            doc;
 #endif  #endif
 {  {
   int                 i;    int               i;
   int                 entry;    *schema = TtaGetDocumentSSchema (doc);
     i = XmlMapAttribute (attrName, pHTMLGIMapping[elemEntry].XMLname, doc, XhtmlAttributeMappingTable);
   entry = -1;    if (XhtmlAttributeMappingTable[i].XMLattribute[0] != attrName[0])
   *schema = NULL;      /* not found */
   i = 0;  
   do  
     if (!ustrcasecmp (XhtmlAttributeMappingTable[i].XMLattribute, Attr))  
       if (XhtmlAttributeMappingTable[i].XMLelement[0] == EOS)  
         {  
           entry = i;  
           *schema = TtaGetDocumentSSchema (doc);  
         }  
      else if (elemEntry >= 0 &&  
               !ustrcasecmp (XhtmlAttributeMappingTable[i].XMLelement, pHTMLGIMapping[elemEntry].XMLname))  
        {  
          entry = i;  
          *schema = TtaGetDocumentSSchema (doc);  
        }  
       else  
         i++;  
     else  
       i++;  
   while (entry < 0 && XhtmlAttributeMappingTable[i].AttrOrContent != EOS);  
   
   if (entry >= 0)  
     return (&XhtmlAttributeMappingTable[entry]);  
   else  
     return (NULL);      return (NULL);
     else
       return (&XhtmlAttributeMappingTable[i]);
 }  }
   
   
 /*----------------------------------------------------------------------  /*----------------------------------------------------------------------
    MapHTMLAttribute search in the HTML Attribute Mapping Tables the entry     MapHTMLAttribute
    for the attribute of name Attr and returns the corresponding Thot     Search in the Attribute Mapping Table the entry for the attribute
    attribute type.     of name Attr and returns the corresponding Thot attribute type.
   ----------------------------------------------------------------------*/    ----------------------------------------------------------------------*/
 #ifdef __STDC__  #ifdef __STDC__
 void           MapHTMLAttribute (CHAR_T* Attr, AttributeType *attrType, CHAR_T* elementName, Document doc)  AttributeMapping *MapHTMLAttribute (CHAR_T *attrName,
                                       AttributeType *attrType,
                                       CHAR_T *elementName,
                                       Document doc)
 #else  #else
 void           MapHTMLAttribute (Attr, attrType, elementName, doc)  AttributeMapping *MapHTMLAttribute (attrName,
 CHAR_T*        Attr;                                      attrType,
 AttributeType* attrType;                                      elementName,
 CHAR_T*        elementName;                                       doc)
 Document       doc;  CHAR_T*           attrName;
   AttributeType*    attrType;
   CHAR_T*           elementName;
   Document          doc;
 #endif  #endif
 {  {
   SSchema              schema = NULL;    int                 i;
   AttributeMapping*   tableEntry;  
   int                 elemEntry;  
   
   elemEntry = MapGI (elementName, &schema, doc);    attrType->AttrSSchema = GetXHTMLSSchema (doc);
   if (elemEntry >= 0)    i = XmlMapAttribute (attrName, elementName, doc, XhtmlAttributeMappingTable);
     if (XhtmlAttributeMappingTable[i].XMLattribute[0] != attrName[0])
     {      {
       tableEntry = MapAttr (Attr, &schema, elemEntry, doc);        /* not found */
       if (tableEntry != NULL)        attrType->AttrTypeNum = 0;
         {        return (NULL);
           attrType->AttrTypeNum = tableEntry->ThotAttribute;  
           if (schema == NULL && doc != 0)  
             attrType->AttrSSchema = TtaGetSSchema (TEXT("HTML"), doc);  
           else        
             attrType->AttrSSchema = schema;  
         }  
       else  
         {  
           attrType->AttrTypeNum = 0;  
           attrType->AttrSSchema = NULL;  
         }  
     }      }
   else    else
     {      {
       attrType->AttrTypeNum = 0;        attrType->AttrTypeNum = XhtmlAttributeMappingTable[i].ThotAttribute;
       attrType->AttrSSchema = NULL;        return (&XhtmlAttributeMappingTable[i]);
     }      }
 }  }
   

Removed from v.1.17  
changed lines
  Added in v.1.18


Webmaster