Mercurial > emacs
view etc/schema/xslt.rnc @ 109067:b5f73bf59a4f
Use non-deprecated Gtk+ functions, add changes for Gtk+3 with GSEAL_ENABLE.
* configure.in: Add --with-x-toolkit=gtk3. Remove HAVE_GTK_MULTIDISPLAY,
check for gtk_file_chooser_dialog_new, and HAVE_GTK_FILE_BOTH (implied
by minimum required Gtk+ 2.6). Add checks for functions introduced
in Gtk+ 2.14 or newer.
* xterm.h (gtk_widget_get_window, gtk_widget_get_mapped)
(gtk_adjustment_get_page_size, gtk_adjustment_get_upper): New
defines based on what configure finds.
* xterm.c (XTflash): Use gtk_widget_get_window.
(xg_scroll_callback): Use gtk_adjustment_get_upper and
gtk_adjustment_get_page_size.
(handle_one_xevent): Use gtk_widget_get_mapped.
(x_term_init): Remove HAVE_GTK_MULTIDISPLAY and associated error
messages.
* xmenu.c (create_and_show_popup_menu): Call gtk_widget_get_mapped.
* gtkutil.h: Replace HAVE_GTK_FILE_BOTH with
HAVE_GTK_FILE_SELECTION_NEW.
* gtkutil.c (xg_display_open, xg_display_close): Remove
HAVE_GTK_MULTIDISPLAY, it is always defined.
(xg_display_open): Return type is void.
(gtk_widget_set_has_window)
(gtk_dialog_get_action_area, gtk_dialog_get_content_area)
(gtk_widget_get_sensitive, gtk_adjustment_set_page_size)
(gtk_adjustment_set_page_increment)
(gtk_adjustment_get_step_increment): #define these if not found
by configure.
(remove_submenu): New define based on Gtk+ version.
(xg_set_cursor, xg_frame_resized, xg_event_is_for_scrollbar): Use
gtk_widget_get_window.
(xg_frame_resized, xg_update_frame_menubar): Use gtk_widget_get_mapped.
(xg_create_frame_widgets): Use gtk_widget_set_has_window.
(create_dialog): Use gtk_dialog_get_action_area and
gtk_dialog_get_content_area.
(xg_uses_old_file_dialog, xg_get_file_name): Remove HAVE_GTK_FILE_BOTH
and HAVE_GTK_FILE_CHOOSER_DIALOG_NEW. File chooser is always
available, so checking for HAVE_GTK_FILE_SELECTION_NEW is enough.
(xg_update_menubar, xg_update_submenu, xg_show_toolbar_item): Use
g_object_ref and g_object_unref.
(xg_update_menu_item, xg_tool_bar_menu_proxy): Use
gtk_widget_get_sensitive.
(xg_update_submenu): Use remove_submenu.
(xg_update_scrollbar_pos): Don't use GtkFixedChild, use child
properties instead to get old x and y position.
(xg_set_toolkit_scroll_bar_thumb): Use gtk_adjustment_get_page_size,
gtk_adjustment_get_step_increment, gtk_adjustment_set_page_size,
gtk_adjustment_set_step_increment and gtk_adjustment_set_page_increment.
(xg_get_tool_bar_widgets): New function.
(xg_tool_bar_menu_proxy, xg_show_toolbar_item)
(update_frame_tool_bar): Call xg_get_tool_bar_widgets.
(toolbar_set_orientation): New #define based on if configure
finds gtk_orientable_set_orientation.
(xg_create_tool_bar): Call toolbar_set_orientation.
(xg_make_tool_item, xg_show_toolbar_item): Call gtk_box_pack_start
instead of gtk_box_pack_start_defaults.
author | Jan D <jan.h.d@swipnet.se> |
---|---|
date | Mon, 28 Jun 2010 12:11:26 +0200 |
parents | bb94fc610c9f |
children |
line wrap: on
line source
# Copyright (C) 2001-2008 World Wide Web Consortium, (Massachusetts # Institute of Technology, European Research Consortium for # Informatics and Mathematics, Keio University). All Rights Reserved. # This work is distributed under the W3C(R) Software License 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. # This was mostly generated from the syntax summary in the XSLT # Recommendation (using XSLT of course). # Issues: this validates extension elements as literal result # elements, which is overly restrictive. namespace local = "" default namespace xsl = "http://www.w3.org/1999/XSL/Transform" start = stylesheet.element | transform.element | literal-result-element-as-stylesheet version = "1.0" top-level-elements.model = (top-level-element.category | top-level-extension)* top-level-extension = element * - (xsl:* | local:*) { grammar { start = any any = (attribute * { text } | text | element * { any })* } } template.model = (instruction.category | literal-result-element | text)* literal-result-element-as-stylesheet = element * - xsl:* { attribute xsl:version { version }, literal-result-element-no-version.atts, template.model } literal-result-element = element * - xsl:* { literal-result-element.atts, template.model } literal-result-element.atts = literal-result-element-no-version.atts, attribute xsl:version { version }? literal-result-element-no-version.atts = (attribute * - xsl:* { avt.datatype } | attribute xsl:extension-element-prefixes { prefixes.datatype } | attribute xsl:exclude-result-prefixes { prefixes.datatype } | attribute xsl:use-attribute-sets { qnames.datatype })* top-level-element.category = include.element | strip-space.element | preserve-space.element | template.element | namespace-alias.element | attribute-set.element | variable.element | param.element | key.element | decimal-format.element | output.element instruction.category = apply-templates.element | apply-imports.element | call-template.element | element.element | attribute.element | text.element | processing-instruction.element | comment.element | copy.element | value-of.element | number.element | for-each.element | if.element | choose.element | variable.element | copy-of.element | message.element | fallback.element extension.atts = attribute * - (xsl:* | local:*) { text }* stylesheet.element = element stylesheet { stylesheet.model } transform.element = element transform { stylesheet.model } stylesheet.model = extension.atts, attribute id { xsd:NCName }?, attribute extension-element-prefixes { prefixes.datatype }?, attribute exclude-result-prefixes { prefixes.datatype }?, attribute version { version }, (import.element*, top-level-elements.model) include.element = element include { extension.atts, attribute href { xsd:anyURI } } import.element = element import { extension.atts, attribute href { xsd:anyURI } } strip-space.element = element strip-space { extension.atts, attribute elements { wildcards.datatype } } preserve-space.element = element preserve-space { extension.atts, attribute elements { wildcards.datatype } } template.element = element template { extension.atts, attribute match { pattern.datatype }?, attribute name { qname.datatype }?, attribute priority { number.datatype }?, attribute mode { qname.datatype }?, (param.element*, template.model) } apply-templates.element = element apply-templates { extension.atts, attribute select { expression.datatype }?, attribute mode { qname.datatype }?, (sort.element | with-param.element)* } apply-imports.element = element apply-imports { extension.atts } call-template.element = element call-template { extension.atts, attribute name { qname.datatype }, with-param.element* } namespace-alias.element = element namespace-alias { extension.atts, attribute stylesheet-prefix { prefix.datatype }, attribute result-prefix { prefix.datatype } } element.element = element element { extension.atts, attribute name { qname.datatype | expr-avt.datatype }, attribute namespace { xsd:anyURI | brace-avt.datatype }?, attribute use-attribute-sets { qnames.datatype }?, template.model } attribute.element = element attribute { extension.atts, attribute name { qname.datatype | expr-avt.datatype }, attribute namespace { xsd:anyURI | brace-avt.datatype }?, template.model } attribute-set.element = element attribute-set { extension.atts, attribute name { qname.datatype }, attribute use-attribute-sets { qnames.datatype }?, attribute.element* } text.element = element text { extension.atts, attribute disable-output-escaping { xsd:string "yes" | xsd:string "no" }?, text } processing-instruction.element = element processing-instruction { extension.atts, attribute name { xsd:NCName | expr-avt.datatype }, template.model } comment.element = element comment { extension.atts, template.model } copy.element = element copy { extension.atts, attribute use-attribute-sets { qnames.datatype }?, template.model } value-of.element = element value-of { extension.atts, attribute select { expression.datatype }, attribute disable-output-escaping { xsd:string "yes" | xsd:string "no" }? } number.element = element number { extension.atts, attribute level { xsd:string "single" | xsd:string "multiple" | xsd:string "any" }?, attribute count { pattern.datatype }?, attribute from { pattern.datatype }?, attribute value { expression.datatype }?, attribute format { avt.datatype }?, attribute lang { xsd:NMTOKEN | expr-avt.datatype }?, attribute letter-value { xsd:string "alphabetic" | xsd:string "traditional" | expr-avt.datatype }?, attribute grouping-separator { char.datatype | expr-avt.datatype }?, attribute grouping-size { number.datatype | expr-avt.datatype }? } for-each.element = element for-each { extension.atts, attribute select { expression.datatype }, (sort.element*, template.model) } if.element = element if { extension.atts, attribute test { expression.datatype }, template.model } choose.element = element choose { extension.atts, (when.element+, otherwise.element?) } when.element = element when { extension.atts, attribute test { expression.datatype }, template.model } otherwise.element = element otherwise { extension.atts, template.model } sort.element = element sort { extension.atts, attribute select { expression.datatype }?, attribute lang { xsd:NMTOKEN | expr-avt.datatype }?, attribute data-type { xsd:string "text" | xsd:string "number" | qname-but-not-ncname.datatype | expr-avt.datatype }?, attribute order { xsd:string "ascending" | xsd:string "descending" | expr-avt.datatype }?, attribute case-order { xsd:string "upper-first" | xsd:string "lower-first" | expr-avt.datatype }? } variable.element = element variable { extension.atts, attribute name { qname.datatype }, (attribute select { expression.datatype } | template.model) } param.element = element param { extension.atts, attribute name { qname.datatype }, (attribute select { expression.datatype } | template.model) } copy-of.element = element copy-of { extension.atts, attribute select { expression.datatype } } with-param.element = element with-param { extension.atts, attribute name { qname.datatype }, (attribute select { expression.datatype } | template.model) } key.element = element key { extension.atts, attribute name { qname.datatype }, attribute match { pattern.datatype }, attribute use { expression.datatype } } decimal-format.element = element decimal-format { extension.atts, attribute name { qname.datatype }?, attribute decimal-separator { char.datatype }?, attribute grouping-separator { char.datatype }?, attribute infinity { text }?, attribute minus-sign { char.datatype }?, attribute NaN { text }?, attribute percent { char.datatype }?, attribute per-mille { char.datatype }?, attribute zero-digit { char.datatype }?, attribute digit { char.datatype }?, attribute pattern-separator { char.datatype }? } message.element = element message { extension.atts, attribute terminate { xsd:string "yes" | xsd:string "no" }?, template.model } fallback.element = element fallback { extension.atts, template.model } output.element = element output { extension.atts, attribute method { xsd:string "xml" | xsd:string "html" | xsd:string "text" | qname-but-not-ncname.datatype }?, attribute version { xsd:NMTOKEN }?, attribute encoding { text }?, attribute omit-xml-declaration { xsd:string "yes" | xsd:string "no" }?, attribute standalone { xsd:string "yes" | xsd:string "no" }?, attribute doctype-public { text }?, attribute doctype-system { text }?, attribute cdata-section-elements { qnames.datatype }?, attribute indent { xsd:string "yes" | xsd:string "no" }?, attribute media-type { text }? } prefixes.datatype = list { (xsd:NCName | "#default")* } prefix.datatype = xsd:NCName | "#default" wildcards.datatype = list { (xsd:QName | xsd:token { pattern = "\*|\i\c*:\*" })* } qname.datatype = xsd:QName qnames.datatype = list { xsd:QName* } char.datatype = xsd:string { length = "1" } number.datatype = xsd:decimal expression.datatype = text pattern.datatype = text qname-but-not-ncname.datatype = xsd:QName { pattern = ".*:.*" } # An AVT containing at least one expression. expr-avt.datatype = xsd:string { pattern = """([^\{\}]|\{\{|\}\})*\{([^"'\{\}]|"[^"]*"|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*""" } # An AVT containing at least one brace; ie where instantiated AVT # is not the same as the literal AVT. brace-avt.datatype = xsd:string { pattern = """[^\{\}]*(\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*""" } avt.datatype = xsd:string { pattern = """([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*""" }