root/src/laser/lsr_tables.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. gf_lsr_anim_type_from_attribute
  2. gf_lsr_rare_type_from_attribute
  3. gf_lsr_anim_type_to_attribute
  4. gf_lsr_rare_type_to_attribute
  5. gf_lsr_same_rare

/*
 *                      GPAC - Multimedia Framework C SDK
 *
 *                      Authors: Cyril Concolato - Jean Le Feuvre
 *    Copyright (c)2004-200X Telecom ParisTech - All rights reserved
 *
 *  This file is part of GPAC / SVG Scene Graph sub-project
 *
 *  GPAC is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General Public License as published by
 *  the Free Software Foundation; either version 2, or (at your option)
 *  any later version.
 *
 *  GPAC is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; see the file COPYING.  If not, write to
 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */


/*
        DO NOT MOFIFY - File generated on GMT Tue May 15 11:18:46 2007

        BY SVGGen for GPAC Version 0.5.0
*/


#include <gpac/internal/laser_dev.h>

#ifndef GPAC_DISABLE_LASER

s32 gf_lsr_anim_type_from_attribute(u32 tag) {
        switch(tag) {
        case TAG_SVG_ATT_target:
                return 0;
        case TAG_SVG_ATT_accumulate:
                return 1;
        case TAG_SVG_ATT_additive:
                return 2;
        case TAG_SVG_ATT_audio_level:
                return 3;
        case TAG_SVG_ATT_bandwidth:
                return 4;
        case TAG_SVG_ATT_begin:
                return 5;
        case TAG_SVG_ATT_calcMode:
                return 6;
        case TAG_LSR_ATT_children:
                return 7;
        case TAG_SVG_ATT_choice:
                return 8;
        case TAG_SVG_ATT_clipBegin:
                return 9;
        case TAG_SVG_ATT_clipEnd:
                return 10;
        case TAG_SVG_ATT_color:
                return 11;
        case TAG_SVG_ATT_color_rendering:
                return 12;
        case TAG_SVG_ATT_cx:
                return 13;
        case TAG_SVG_ATT_cy:
                return 14;
        case TAG_SVG_ATT_d:
                return 15;
        case TAG_SVG_ATT_delta:
                return 16;
        case TAG_SVG_ATT_display:
                return 17;
        case TAG_SVG_ATT_display_align:
                return 18;
        case TAG_SVG_ATT_dur:
                return 19;
        case TAG_SVG_ATT_editable:
                return 20;
        case TAG_LSR_ATT_enabled:
                return 21;
        case TAG_SVG_ATT_end:
                return 22;
        case TAG_XMLEV_ATT_event:
                return 23;
        case TAG_SVG_ATT_externalResourcesRequired:
                return 24;
        case TAG_SVG_ATT_fill:
                return 25;
        case TAG_SVG_ATT_fill_opacity:
                return 26;
        case TAG_SVG_ATT_fill_rule:
                return 27;
        case TAG_SVG_ATT_focusable:
                return 28;
        case TAG_SVG_ATT_font_family:
                return 29;
        case TAG_SVG_ATT_font_size:
                return 30;
        case TAG_SVG_ATT_font_style:
                return 31;
        case TAG_SVG_ATT_font_variant:
                return 32;
        case TAG_SVG_ATT_font_weight:
                return 33;
        case TAG_SVG_ATT_fullscreen:
                return 34;
        case TAG_SVG_ATT_gradientUnits:
                return 35;
        case TAG_XMLEV_ATT_handler:
                return 36;
        case TAG_SVG_ATT_height:
                return 37;
        case TAG_SVG_ATT_image_rendering:
                return 38;
        case TAG_SVG_ATT_keyPoints:
                return 39;
        case TAG_SVG_ATT_keySplines:
                return 40;
        case TAG_SVG_ATT_keyTimes:
                return 41;
        case TAG_SVG_ATT_line_increment:
                return 42;
        case TAG_XMLEV_ATT_target:
                return 43;
        case TAG_SVG_ATT_mediaCharacterEncoding:
                return 44;
        case TAG_SVG_ATT_mediaContentEncodings:
                return 45;
        case TAG_SVG_ATT_mediaSize:
                return 46;
        case TAG_SVG_ATT_mediaTime:
                return 47;
        case TAG_SVG_ATT_nav_down:
                return 48;
        case TAG_SVG_ATT_nav_down_left:
                return 49;
        case TAG_SVG_ATT_nav_down_right:
                return 50;
        case TAG_SVG_ATT_nav_left:
                return 51;
        case TAG_SVG_ATT_nav_next:
                return 52;
        case TAG_SVG_ATT_nav_prev:
                return 53;
        case TAG_SVG_ATT_nav_right:
                return 54;
        case TAG_SVG_ATT_nav_up:
                return 55;
        case TAG_SVG_ATT_nav_up_left:
                return 56;
        case TAG_SVG_ATT_nav_up_right:
                return 57;
        case TAG_XMLEV_ATT_observer:
                return 58;
        case TAG_SVG_ATT_offset:
                return 59;
        case TAG_SVG_ATT_opacity:
                return 60;
        case TAG_SVG_ATT_overflow:
                return 61;
        case TAG_SVG_ATT_overlay:
                return 62;
        case TAG_SVG_ATT_path:
                return 63;
        case TAG_SVG_ATT_pathLength:
                return 64;
        case TAG_SVG_ATT_pointer_events:
                return 65;
        case TAG_SVG_ATT_points:
                return 66;
        case TAG_SVG_ATT_preserveAspectRatio:
                return 67;
        case TAG_SVG_ATT_r:
                return 68;
        case TAG_SVG_ATT_repeatCount:
                return 69;
        case TAG_SVG_ATT_repeatDur:
                return 70;
        case TAG_SVG_ATT_requiredExtensions:
                return 71;
        case TAG_SVG_ATT_requiredFeatures:
                return 72;
        case TAG_SVG_ATT_requiredFormats:
                return 73;
        case TAG_SVG_ATT_restart:
                return 74;
        case TAG_SVG_ATT_rotate:
                return 75;
        case TAG_LSR_ATT_rotation:
                return 76;
        case TAG_SVG_ATT_rx:
                return 77;
        case TAG_SVG_ATT_ry:
                return 78;
        case TAG_LSR_ATT_scale:
                return 79;
        case TAG_SVG_ATT_shape_rendering:
                return 80;
        case TAG_SVG_ATT_size:
                return 81;
        case TAG_SVG_ATT_solid_color:
                return 82;
        case TAG_SVG_ATT_solid_opacity:
                return 83;
        case TAG_SVG_ATT_stop_color:
                return 84;
        case TAG_SVG_ATT_stop_opacity:
                return 85;
        case TAG_SVG_ATT_stroke:
                return 86;
        case TAG_SVG_ATT_stroke_dasharray:
                return 87;
        case TAG_SVG_ATT_stroke_dashoffset:
                return 88;
        case TAG_SVG_ATT_stroke_linecap:
                return 89;
        case TAG_SVG_ATT_stroke_linejoin:
                return 90;
        case TAG_SVG_ATT_stroke_miterlimit:
                return 91;
        case TAG_SVG_ATT_stroke_opacity:
                return 92;
        case TAG_SVG_ATT_stroke_width:
                return 93;
        case TAG_LSR_ATT_svg_height:
                return 94;
        case TAG_LSR_ATT_svg_width:
                return 95;
        case TAG_SVG_ATT_syncBehavior:
                return 96;
        case TAG_SVG_ATT_syncBehaviorDefault:
                return 97;
        case TAG_SVG_ATT_syncReference:
                return 98;
        case TAG_SVG_ATT_syncTolerance:
                return 99;
        case TAG_SVG_ATT_syncToleranceDefault:
                return 100;
        case TAG_SVG_ATT_systemLanguage:
                return 101;
        case TAG_SVG_ATT_text_align:
                return 102;
        case TAG_SVG_ATT_text_anchor:
                return 103;
        case TAG_SVG_ATT_text_decoration:
                return 104;
        case TAG_LSR_ATT_text_display:
                return 105;
        case TAG_SVG_ATT_text_rendering:
                return 106;
        case TAG_LSR_ATT_textContent:
                return 107;
        case TAG_SVG_ATT_transform:
                return 108;
        case TAG_SVG_ATT_transformBehavior:
                return 109;
        case TAG_LSR_ATT_translation:
                return 110;
        case TAG_SVG_ATT_vector_effect:
                return 111;
        case TAG_SVG_ATT_viewBox:
                return 112;
        case TAG_SVG_ATT_viewport_fill:
                return 113;
        case TAG_SVG_ATT_viewport_fill_opacity:
                return 114;
        case TAG_SVG_ATT_visibility:
                return 115;
        case TAG_SVG_ATT_width:
                return 116;
        case TAG_SVG_ATT_x:
                return 117;
        case TAG_SVG_ATT_x1:
                return 118;
        case TAG_SVG_ATT_x2:
                return 119;
        case TAG_XLINK_ATT_actuate:
                return 120;
        case TAG_XLINK_ATT_arcrole:
                return 121;
        case TAG_XLINK_ATT_href:
                return 122;
        case TAG_XLINK_ATT_role:
                return 123;
        case TAG_XLINK_ATT_show:
                return 124;
        case TAG_XLINK_ATT_title:
                return 125;
        case TAG_XLINK_ATT_type:
                return 126;
        case TAG_XML_ATT_base:
                return 127;
        case TAG_XML_ATT_lang:
                return 128;
        case TAG_SVG_ATT_y:
                return 129;
        case TAG_SVG_ATT_y1:
                return 130;
        case TAG_SVG_ATT_y2:
                return 131;
        case TAG_SVG_ATT_zoomAndPan:
                return 132;
        default:
                return -1;
        }
}



s32 gf_lsr_rare_type_from_attribute(u32 tag) {
        switch(tag) {
        case TAG_SVG_ATT__class:
                return 0;
        case TAG_SVG_ATT_audio_level:
                return 1;
        case TAG_SVG_ATT_color:
                return 2;
        case TAG_SVG_ATT_color_rendering:
                return 3;
        case TAG_SVG_ATT_display:
                return 4;
        case TAG_SVG_ATT_display_align:
                return 5;
        case TAG_SVG_ATT_fill_opacity:
                return 6;
        case TAG_SVG_ATT_fill_rule:
                return 7;
        case TAG_SVG_ATT_image_rendering:
                return 8;
        case TAG_SVG_ATT_line_increment:
                return 9;
        case TAG_SVG_ATT_pointer_events:
                return 10;
        case TAG_SVG_ATT_shape_rendering:
                return 11;
        case TAG_SVG_ATT_solid_color:
                return 12;
        case TAG_SVG_ATT_solid_opacity:
                return 13;
        case TAG_SVG_ATT_stop_color:
                return 14;
        case TAG_SVG_ATT_stop_opacity:
                return 15;
        case TAG_SVG_ATT_stroke_dasharray:
                return 16;
        case TAG_SVG_ATT_stroke_dashoffset:
                return 17;
        case TAG_SVG_ATT_stroke_linecap:
                return 18;
        case TAG_SVG_ATT_stroke_linejoin:
                return 19;
        case TAG_SVG_ATT_stroke_miterlimit:
                return 20;
        case TAG_SVG_ATT_stroke_opacity:
                return 21;
        case TAG_SVG_ATT_stroke_width:
                return 22;
        case TAG_SVG_ATT_text_anchor:
                return 23;
        case TAG_SVG_ATT_text_rendering:
                return 24;
        case TAG_SVG_ATT_viewport_fill:
                return 25;
        case TAG_SVG_ATT_viewport_fill_opacity:
                return 26;
        case TAG_SVG_ATT_vector_effect:
                return 27;
        case TAG_SVG_ATT_visibility:
                return 28;
        case TAG_SVG_ATT_requiredExtensions:
                return 29;
        case TAG_SVG_ATT_requiredFeatures:
                return 30;
        case TAG_SVG_ATT_requiredFormats:
                return 31;
        case TAG_SVG_ATT_systemLanguage:
                return 32;
        case TAG_XML_ATT_base:
                return 33;
        case TAG_XML_ATT_lang:
                return 34;
        case TAG_XML_ATT_space:
                return 35;
        case TAG_SVG_ATT_nav_next:
                return 36;
        case TAG_SVG_ATT_nav_up:
                return 37;
        case TAG_SVG_ATT_nav_up_left:
                return 38;
        case TAG_SVG_ATT_nav_up_right:
                return 39;
        case TAG_SVG_ATT_nav_prev:
                return 40;
        case TAG_SVG_ATT_nav_down:
                return 41;
        case TAG_SVG_ATT_nav_down_left:
                return 42;
        case TAG_SVG_ATT_nav_down_right:
                return 43;
        case TAG_SVG_ATT_nav_left:
                return 44;
        case TAG_SVG_ATT_focusable:
                return 45;
        case TAG_SVG_ATT_nav_right:
                return 46;
        case TAG_SVG_ATT_transform:
                return 47;
        case TAG_SVG_ATT_text_decoration:
                return 48;
        case TAG_SVG_ATT_syncMaster:
                return 49;
        case TAG_SVG_ATT_focusHighlight:
                return 49;
        case TAG_SVG_ATT_initialVisibility:
                return 49;
        case TAG_SVG_ATT_fullscreen:
                return 49;
        case TAG_SVG_ATT_requiredFonts:
                return 49;
        case TAG_SVG_ATT_font_variant:
                return 50;
        case TAG_SVG_ATT_font_family:
                return 51;
        case TAG_SVG_ATT_font_size:
                return 52;
        case TAG_SVG_ATT_font_style:
                return 53;
        case TAG_SVG_ATT_font_weight:
                return 54;
        case TAG_XLINK_ATT_title:
                return 55;
        case TAG_XLINK_ATT_type:
                return 56;
        case TAG_XLINK_ATT_role:
                return 57;
        case TAG_XLINK_ATT_arcrole:
                return 58;
        case TAG_XLINK_ATT_actuate:
                return 59;
        case TAG_XLINK_ATT_show:
                return 60;
        case TAG_SVG_ATT_end:
                return 61;
        case TAG_SVG_ATT_max:
                return 62;
        case TAG_SVG_ATT_min:
                return 63;
        default:
                return -1;
        }
}



s32 gf_lsr_anim_type_to_attribute(u32 tag) {
        switch(tag) {
        case 0:
                return TAG_SVG_ATT_target;
        case 1:
                return TAG_SVG_ATT_accumulate;
        case 2:
                return TAG_SVG_ATT_additive;
        case 3:
                return TAG_SVG_ATT_audio_level;
        case 4:
                return TAG_SVG_ATT_bandwidth;
        case 5:
                return TAG_SVG_ATT_begin;
        case 6:
                return TAG_SVG_ATT_calcMode;
        case 7:
                return TAG_LSR_ATT_children;
        case 8:
                return TAG_SVG_ATT_choice;
        case 9:
                return TAG_SVG_ATT_clipBegin;
        case 10:
                return TAG_SVG_ATT_clipEnd;
        case 11:
                return TAG_SVG_ATT_color;
        case 12:
                return TAG_SVG_ATT_color_rendering;
        case 13:
                return TAG_SVG_ATT_cx;
        case 14:
                return TAG_SVG_ATT_cy;
        case 15:
                return TAG_SVG_ATT_d;
        case 16:
                return TAG_SVG_ATT_delta;
        case 17:
                return TAG_SVG_ATT_display;
        case 18:
                return TAG_SVG_ATT_display_align;
        case 19:
                return TAG_SVG_ATT_dur;
        case 20:
                return TAG_SVG_ATT_editable;
        case 21:
                return TAG_LSR_ATT_enabled;
        case 22:
                return TAG_SVG_ATT_end;
        case 23:
                return TAG_XMLEV_ATT_event;
        case 24:
                return TAG_SVG_ATT_externalResourcesRequired;
        case 25:
                return TAG_SVG_ATT_fill;
        case 26:
                return TAG_SVG_ATT_fill_opacity;
        case 27:
                return TAG_SVG_ATT_fill_rule;
        case 28:
                return TAG_SVG_ATT_focusable;
        case 29:
                return TAG_SVG_ATT_font_family;
        case 30:
                return TAG_SVG_ATT_font_size;
        case 31:
                return TAG_SVG_ATT_font_style;
        case 32:
                return TAG_SVG_ATT_font_variant;
        case 33:
                return TAG_SVG_ATT_font_weight;
        case 34:
                return TAG_SVG_ATT_fullscreen;
        case 35:
                return TAG_SVG_ATT_gradientUnits;
        case 36:
                return TAG_XMLEV_ATT_handler;
        case 37:
                return TAG_SVG_ATT_height;
        case 38:
                return TAG_SVG_ATT_image_rendering;
        case 39:
                return TAG_SVG_ATT_keyPoints;
        case 40:
                return TAG_SVG_ATT_keySplines;
        case 41:
                return TAG_SVG_ATT_keyTimes;
        case 42:
                return TAG_SVG_ATT_line_increment;
        case 43:
                return TAG_XMLEV_ATT_target;
        case 44:
                return TAG_SVG_ATT_mediaCharacterEncoding;
        case 45:
                return TAG_SVG_ATT_mediaContentEncodings;
        case 46:
                return TAG_SVG_ATT_mediaSize;
        case 47:
                return TAG_SVG_ATT_mediaTime;
        case 48:
                return TAG_SVG_ATT_nav_down;
        case 49:
                return TAG_SVG_ATT_nav_down_left;
        case 50:
                return TAG_SVG_ATT_nav_down_right;
        case 51:
                return TAG_SVG_ATT_nav_left;
        case 52:
                return TAG_SVG_ATT_nav_next;
        case 53:
                return TAG_SVG_ATT_nav_prev;
        case 54:
                return TAG_SVG_ATT_nav_right;
        case 55:
                return TAG_SVG_ATT_nav_up;
        case 56:
                return TAG_SVG_ATT_nav_up_left;
        case 57:
                return TAG_SVG_ATT_nav_up_right;
        case 58:
                return TAG_XMLEV_ATT_observer;
        case 59:
                return TAG_SVG_ATT_offset;
        case 60:
                return TAG_SVG_ATT_opacity;
        case 61:
                return TAG_SVG_ATT_overflow;
        case 62:
                return TAG_SVG_ATT_overlay;
        case 63:
                return TAG_SVG_ATT_path;
        case 64:
                return TAG_SVG_ATT_pathLength;
        case 65:
                return TAG_SVG_ATT_pointer_events;
        case 66:
                return TAG_SVG_ATT_points;
        case 67:
                return TAG_SVG_ATT_preserveAspectRatio;
        case 68:
                return TAG_SVG_ATT_r;
        case 69:
                return TAG_SVG_ATT_repeatCount;
        case 70:
                return TAG_SVG_ATT_repeatDur;
        case 71:
                return TAG_SVG_ATT_requiredExtensions;
        case 72:
                return TAG_SVG_ATT_requiredFeatures;
        case 73:
                return TAG_SVG_ATT_requiredFormats;
        case 74:
                return TAG_SVG_ATT_restart;
        case 75:
                return TAG_SVG_ATT_rotate;
        case 76:
                return TAG_LSR_ATT_rotation;
        case 77:
                return TAG_SVG_ATT_rx;
        case 78:
                return TAG_SVG_ATT_ry;
        case 79:
                return TAG_LSR_ATT_scale;
        case 80:
                return TAG_SVG_ATT_shape_rendering;
        case 81:
                return TAG_SVG_ATT_size;
        case 82:
                return TAG_SVG_ATT_solid_color;
        case 83:
                return TAG_SVG_ATT_solid_opacity;
        case 84:
                return TAG_SVG_ATT_stop_color;
        case 85:
                return TAG_SVG_ATT_stop_opacity;
        case 86:
                return TAG_SVG_ATT_stroke;
        case 87:
                return TAG_SVG_ATT_stroke_dasharray;
        case 88:
                return TAG_SVG_ATT_stroke_dashoffset;
        case 89:
                return TAG_SVG_ATT_stroke_linecap;
        case 90:
                return TAG_SVG_ATT_stroke_linejoin;
        case 91:
                return TAG_SVG_ATT_stroke_miterlimit;
        case 92:
                return TAG_SVG_ATT_stroke_opacity;
        case 93:
                return TAG_SVG_ATT_stroke_width;
        case 94:
                return TAG_LSR_ATT_svg_height;
        case 95:
                return TAG_LSR_ATT_svg_width;
        case 96:
                return TAG_SVG_ATT_syncBehavior;
        case 97:
                return TAG_SVG_ATT_syncBehaviorDefault;
        case 98:
                return TAG_SVG_ATT_syncReference;
        case 99:
                return TAG_SVG_ATT_syncTolerance;
        case 100:
                return TAG_SVG_ATT_syncToleranceDefault;
        case 101:
                return TAG_SVG_ATT_systemLanguage;
        case 102:
                return TAG_SVG_ATT_text_align;
        case 103:
                return TAG_SVG_ATT_text_anchor;
        case 104:
                return TAG_SVG_ATT_text_decoration;
        case 105:
                return TAG_LSR_ATT_text_display;
        case 106:
                return TAG_SVG_ATT_text_rendering;
        case 107:
                return TAG_LSR_ATT_textContent;
        case 108:
                return TAG_SVG_ATT_transform;
        case 109:
                return TAG_SVG_ATT_transformBehavior;
        case 110:
                return TAG_LSR_ATT_translation;
        case 111:
                return TAG_SVG_ATT_vector_effect;
        case 112:
                return TAG_SVG_ATT_viewBox;
        case 113:
                return TAG_SVG_ATT_viewport_fill;
        case 114:
                return TAG_SVG_ATT_viewport_fill_opacity;
        case 115:
                return TAG_SVG_ATT_visibility;
        case 116:
                return TAG_SVG_ATT_width;
        case 117:
                return TAG_SVG_ATT_x;
        case 118:
                return TAG_SVG_ATT_x1;
        case 119:
                return TAG_SVG_ATT_x2;
        case 120:
                return TAG_XLINK_ATT_actuate;
        case 121:
                return TAG_XLINK_ATT_arcrole;
        case 122:
                return TAG_XLINK_ATT_href;
        case 123:
                return TAG_XLINK_ATT_role;
        case 124:
                return TAG_XLINK_ATT_show;
        case 125:
                return TAG_XLINK_ATT_title;
        case 126:
                return TAG_XLINK_ATT_type;
        case 127:
                return TAG_XML_ATT_base;
        case 128:
                return TAG_XML_ATT_lang;
        case 129:
                return TAG_SVG_ATT_y;
        case 130:
                return TAG_SVG_ATT_y1;
        case 131:
                return TAG_SVG_ATT_y2;
        case 132:
                return TAG_SVG_ATT_zoomAndPan;
        default:
                return -1;
        }
}



s32 gf_lsr_rare_type_to_attribute(u32 tag) {
        switch(tag) {
        case 0:
                return TAG_SVG_ATT__class;
        case 1:
                return TAG_SVG_ATT_audio_level;
        case 2:
                return TAG_SVG_ATT_color;
        case 3:
                return TAG_SVG_ATT_color_rendering;
        case 4:
                return TAG_SVG_ATT_display;
        case 5:
                return TAG_SVG_ATT_display_align;
        case 6:
                return TAG_SVG_ATT_fill_opacity;
        case 7:
                return TAG_SVG_ATT_fill_rule;
        case 8:
                return TAG_SVG_ATT_image_rendering;
        case 9:
                return TAG_SVG_ATT_line_increment;
        case 10:
                return TAG_SVG_ATT_pointer_events;
        case 11:
                return TAG_SVG_ATT_shape_rendering;
        case 12:
                return TAG_SVG_ATT_solid_color;
        case 13:
                return TAG_SVG_ATT_solid_opacity;
        case 14:
                return TAG_SVG_ATT_stop_color;
        case 15:
                return TAG_SVG_ATT_stop_opacity;
        case 16:
                return TAG_SVG_ATT_stroke_dasharray;
        case 17:
                return TAG_SVG_ATT_stroke_dashoffset;
        case 18:
                return TAG_SVG_ATT_stroke_linecap;
        case 19:
                return TAG_SVG_ATT_stroke_linejoin;
        case 20:
                return TAG_SVG_ATT_stroke_miterlimit;
        case 21:
                return TAG_SVG_ATT_stroke_opacity;
        case 22:
                return TAG_SVG_ATT_stroke_width;
        case 23:
                return TAG_SVG_ATT_text_anchor;
        case 24:
                return TAG_SVG_ATT_text_rendering;
        case 25:
                return TAG_SVG_ATT_viewport_fill;
        case 26:
                return TAG_SVG_ATT_viewport_fill_opacity;
        case 27:
                return TAG_SVG_ATT_vector_effect;
        case 28:
                return TAG_SVG_ATT_visibility;
        case 29:
                return TAG_SVG_ATT_requiredExtensions;
        case 30:
                return TAG_SVG_ATT_requiredFeatures;
        case 31:
                return TAG_SVG_ATT_requiredFormats;
        case 32:
                return TAG_SVG_ATT_systemLanguage;
        case 33:
                return TAG_XML_ATT_base;
        case 34:
                return TAG_XML_ATT_lang;
        case 35:
                return TAG_XML_ATT_space;
        case 36:
                return TAG_SVG_ATT_nav_next;
        case 37:
                return TAG_SVG_ATT_nav_up;
        case 38:
                return TAG_SVG_ATT_nav_up_left;
        case 39:
                return TAG_SVG_ATT_nav_up_right;
        case 40:
                return TAG_SVG_ATT_nav_prev;
        case 41:
                return TAG_SVG_ATT_nav_down;
        case 42:
                return TAG_SVG_ATT_nav_down_left;
        case 43:
                return TAG_SVG_ATT_nav_down_right;
        case 44:
                return TAG_SVG_ATT_nav_left;
        case 45:
                return TAG_SVG_ATT_focusable;
        case 46:
                return TAG_SVG_ATT_nav_right;
        case 47:
                return TAG_SVG_ATT_transform;
        case 48:
                return TAG_SVG_ATT_text_decoration;
        case 50:
                return TAG_SVG_ATT_font_variant;
        case 51:
                return TAG_SVG_ATT_font_family;
        case 52:
                return TAG_SVG_ATT_font_size;
        case 53:
                return TAG_SVG_ATT_font_style;
        case 54:
                return TAG_SVG_ATT_font_weight;
        case 55:
                return TAG_XLINK_ATT_title;
        case 56:
                return TAG_XLINK_ATT_type;
        case 57:
                return TAG_XLINK_ATT_role;
        case 58:
                return TAG_XLINK_ATT_arcrole;
        case 59:
                return TAG_XLINK_ATT_actuate;
        case 60:
                return TAG_XLINK_ATT_show;
        case 61:
                return TAG_SVG_ATT_end;
        case 62:
                return TAG_SVG_ATT_max;
        case 63:
                return TAG_SVG_ATT_min;
        default:
                return -1;
        }
}



u32 gf_lsr_same_rare(SVGAllAttributes *elt_atts, SVGAllAttributes *base_atts)
{
        GF_FieldInfo f_elt, f_base;
        
        memset(&f_elt, 0, sizeof(GF_FieldInfo));
        memset(&f_base, 0, sizeof(GF_FieldInfo));
        
        f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT__class;
        f_elt.far_ptr = elt_atts->_class;
        f_base.far_ptr = base_atts->_class;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_audio_level;
        f_elt.far_ptr = elt_atts->audio_level;
        f_base.far_ptr = base_atts->audio_level;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_color;
        f_elt.far_ptr = elt_atts->color;
        f_base.far_ptr = base_atts->color;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_color_rendering;
        f_elt.far_ptr = elt_atts->color_rendering;
        f_base.far_ptr = base_atts->color_rendering;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Display_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_display;
        f_elt.far_ptr = elt_atts->display;
        f_base.far_ptr = base_atts->display;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_DisplayAlign_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_display_align;
        f_elt.far_ptr = elt_atts->display_align;
        f_base.far_ptr = base_atts->display_align;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_fill_opacity;
        f_elt.far_ptr = elt_atts->fill_opacity;
        f_base.far_ptr = base_atts->fill_opacity;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_FillRule_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_fill_rule;
        f_elt.far_ptr = elt_atts->fill_rule;
        f_base.far_ptr = base_atts->fill_rule;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_image_rendering;
        f_elt.far_ptr = elt_atts->image_rendering;
        f_base.far_ptr = base_atts->image_rendering;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_line_increment;
        f_elt.far_ptr = elt_atts->line_increment;
        f_base.far_ptr = base_atts->line_increment;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_PointerEvents_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_pointer_events;
        f_elt.far_ptr = elt_atts->pointer_events;
        f_base.far_ptr = base_atts->pointer_events;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_shape_rendering;
        f_elt.far_ptr = elt_atts->shape_rendering;
        f_base.far_ptr = base_atts->shape_rendering;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_solid_color;
        f_elt.far_ptr = elt_atts->solid_color;
        f_base.far_ptr = base_atts->solid_color;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_solid_opacity;
        f_elt.far_ptr = elt_atts->solid_opacity;
        f_base.far_ptr = base_atts->solid_opacity;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stop_color;
        f_elt.far_ptr = elt_atts->stop_color;
        f_base.far_ptr = base_atts->stop_color;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stop_opacity;
        f_elt.far_ptr = elt_atts->stop_opacity;
        f_base.far_ptr = base_atts->stop_opacity;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_StrokeDashArray_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_dasharray;
        f_elt.far_ptr = elt_atts->stroke_dasharray;
        f_base.far_ptr = base_atts->stroke_dasharray;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Length_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_dashoffset;
        f_elt.far_ptr = elt_atts->stroke_dashoffset;
        f_base.far_ptr = base_atts->stroke_dashoffset;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_StrokeLineCap_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_linecap;
        f_elt.far_ptr = elt_atts->stroke_linecap;
        f_base.far_ptr = base_atts->stroke_linecap;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_StrokeLineJoin_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_linejoin;
        f_elt.far_ptr = elt_atts->stroke_linejoin;
        f_base.far_ptr = base_atts->stroke_linejoin;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_miterlimit;
        f_elt.far_ptr = elt_atts->stroke_miterlimit;
        f_base.far_ptr = base_atts->stroke_miterlimit;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_opacity;
        f_elt.far_ptr = elt_atts->stroke_opacity;
        f_base.far_ptr = base_atts->stroke_opacity;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Length_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_stroke_width;
        f_elt.far_ptr = elt_atts->stroke_width;
        f_base.far_ptr = base_atts->stroke_width;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_TextAnchor_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_anchor;
        f_elt.far_ptr = elt_atts->text_anchor;
        f_base.far_ptr = base_atts->text_anchor;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_RenderingHint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_rendering;
        f_elt.far_ptr = elt_atts->text_rendering;
        f_base.far_ptr = base_atts->text_rendering;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Paint_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_viewport_fill;
        f_elt.far_ptr = elt_atts->viewport_fill;
        f_base.far_ptr = base_atts->viewport_fill;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Number_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_viewport_fill_opacity;
        f_elt.far_ptr = elt_atts->viewport_fill_opacity;
        f_base.far_ptr = base_atts->viewport_fill_opacity;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_VectorEffect_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_vector_effect;
        f_elt.far_ptr = elt_atts->vector_effect;
        f_base.far_ptr = base_atts->vector_effect;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Visibility_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_visibility;
        f_elt.far_ptr = elt_atts->visibility;
        f_base.far_ptr = base_atts->visibility;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = XMLRI_List_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredExtensions;
        f_elt.far_ptr = elt_atts->requiredExtensions;
        f_base.far_ptr = base_atts->requiredExtensions;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = XMLRI_List_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredFeatures;
        f_elt.far_ptr = elt_atts->requiredFeatures;
        f_base.far_ptr = base_atts->requiredFeatures;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_StringList_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_requiredFormats;
        f_elt.far_ptr = elt_atts->requiredFormats;
        f_base.far_ptr = base_atts->requiredFormats;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_StringList_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_systemLanguage;
        f_elt.far_ptr = elt_atts->systemLanguage;
        f_base.far_ptr = base_atts->systemLanguage;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_base;
        f_elt.far_ptr = elt_atts->xml_base;
        f_base.far_ptr = base_atts->xml_base;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_LanguageID_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_lang;
        f_elt.far_ptr = elt_atts->xml_lang;
        f_base.far_ptr = base_atts->xml_lang;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = XML_Space_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XML_ATT_space;
        f_elt.far_ptr = elt_atts->xml_space;
        f_base.far_ptr = base_atts->xml_space;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_next;
        f_elt.far_ptr = elt_atts->nav_next;
        f_base.far_ptr = base_atts->nav_next;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up;
        f_elt.far_ptr = elt_atts->nav_up;
        f_base.far_ptr = base_atts->nav_up;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up_left;
        f_elt.far_ptr = elt_atts->nav_up_left;
        f_base.far_ptr = base_atts->nav_up_left;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_up_right;
        f_elt.far_ptr = elt_atts->nav_up_right;
        f_base.far_ptr = base_atts->nav_up_right;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_prev;
        f_elt.far_ptr = elt_atts->nav_prev;
        f_base.far_ptr = base_atts->nav_prev;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down;
        f_elt.far_ptr = elt_atts->nav_down;
        f_base.far_ptr = base_atts->nav_down;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down_left;
        f_elt.far_ptr = elt_atts->nav_down_left;
        f_base.far_ptr = base_atts->nav_down_left;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_down_right;
        f_elt.far_ptr = elt_atts->nav_down_right;
        f_base.far_ptr = base_atts->nav_down_right;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_left;
        f_elt.far_ptr = elt_atts->nav_left;
        f_base.far_ptr = base_atts->nav_left;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focusable_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_focusable;
        f_elt.far_ptr = elt_atts->focusable;
        f_base.far_ptr = base_atts->focusable;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Focus_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_nav_right;
        f_elt.far_ptr = elt_atts->nav_right;
        f_base.far_ptr = base_atts->nav_right;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_Transform_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_transform;
        f_elt.far_ptr = elt_atts->transform;
        f_base.far_ptr = base_atts->transform;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_text_decoration;
        f_elt.far_ptr = elt_atts->text_decoration;
        f_base.far_ptr = base_atts->text_decoration;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_FontVariant_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_variant;
        f_elt.far_ptr = elt_atts->font_variant;
        f_base.far_ptr = base_atts->font_variant;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_FontFamily_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_family;
        f_elt.far_ptr = elt_atts->font_family;
        f_base.far_ptr = base_atts->font_family;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_FontSize_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_size;
        f_elt.far_ptr = elt_atts->font_size;
        f_base.far_ptr = base_atts->font_size;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_FontStyle_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_style;
        f_elt.far_ptr = elt_atts->font_style;
        f_base.far_ptr = base_atts->font_style;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SVG_FontWeight_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_font_weight;
        f_elt.far_ptr = elt_atts->font_weight;
        f_base.far_ptr = base_atts->font_weight;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_title;
        f_elt.far_ptr = elt_atts->xlink_title;
        f_base.far_ptr = base_atts->xlink_title;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_type;
        f_elt.far_ptr = elt_atts->xlink_type;
        f_base.far_ptr = base_atts->xlink_type;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_role;
        f_elt.far_ptr = elt_atts->xlink_role;
        f_base.far_ptr = base_atts->xlink_role;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = XMLRI_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_arcrole;
        f_elt.far_ptr = elt_atts->xlink_arcrole;
        f_base.far_ptr = base_atts->xlink_arcrole;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_actuate;
        f_elt.far_ptr = elt_atts->xlink_actuate;
        f_base.far_ptr = base_atts->xlink_actuate;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = DOM_String_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_XLINK_ATT_show;
        f_elt.far_ptr = elt_atts->xlink_show;
        f_base.far_ptr = base_atts->xlink_show;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SMIL_Times_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_end;
        f_elt.far_ptr = elt_atts->end;
        f_base.far_ptr = base_atts->end;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SMIL_Duration_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_max;
        f_elt.far_ptr = elt_atts->max;
        f_base.far_ptr = base_atts->max;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        f_elt.fieldType = f_base.fieldType = SMIL_Duration_datatype;
        f_elt.fieldIndex = f_base.fieldIndex = TAG_SVG_ATT_min;
        f_elt.far_ptr = elt_atts->min;
        f_base.far_ptr = base_atts->min;
        if (!gf_svg_attributes_equal(&f_elt, &f_base)) return 0;

        return 1;
}

#endif /*GPAC_DISABLE_LASER*/


/* [<][>][^][v][top][bottom][index][help] */