Report an attribute type declaration.

Only the effective (first) declaration for an attribute will be reported. The type will be one of the strings CDATA, ID, IDREF, IDREFS, NMTOKEN, NMTOKENS, ENTITY, ENTITIES, a parenthesized token group with the separator | and all whitespace removed, or the word NOTATION followed by a space followed by a parenthesized token group with all whitespace removed.

The value will be the value as reported to applications, appropriately normalized and with entity and character references expanded.

Parameters:

  • element_name: name of the associated element.
  • attribute_name: name of the attribute.
  • attribute_type: string representing the attribute type.
  • mode: string representing the attribute defaulting mode (#IMPLIED, #REQUIRED, or #FIXED) or null if none of these applies.
  • value: string representing the attribute's default value, or null if there is none.

Property definitions

sax $ DeclHandler :: attribute_decl
	# Report an attribute type declaration.
	#
	# Only the effective (first) declaration for an attribute will
	# be reported. The type will be one of the strings `CDATA`,
	# `ID`, `IDREF`, `IDREFS`, `NMTOKEN`, `NMTOKENS`, `ENTITY`,
	# `ENTITIES`, a parenthesized token group with
	# the separator `|` and all whitespace removed, or the word
	# `NOTATION` followed by a space followed by a parenthesized
	# token group with all whitespace removed.
	#
	# The value will be the value as reported to applications,
	# appropriately normalized and with entity and character
	# references expanded.
	#
	# Parameters:
	#
	# * `element_name`: name of the associated element.
	# * `attribute_name`: name of the attribute.
	# * `attribute_type`: string representing the attribute type.
	# * `mode`: string representing the attribute defaulting mode (`#IMPLIED`,
	# `#REQUIRED`, or `#FIXED`) or `null` if none of these applies.
	# * `value`: string representing the attribute's default value,
	# or `null` if there is none.
	fun attribute_decl(element_name: String,
			attribute_name: String,
			attribute_type: String,
			mode: nullable String,
			value: nullable String) do end
lib/sax/ext/decl_handler.nit:50,2--77,33

saxophonit $ SAXEventLogger :: attribute_decl
	redef fun attribute_decl(element_name, attribute_name, attribute_type, mode, value) do
		log.push(["attribute_decl",
				element_name,
				attribute_name,
				attribute_type,
				mode or else "^NULL",
				value or else "^NULL"])
		if decl_handler != null then
			decl_handler.attribute_decl(element_name, attribute_name,
					attribute_type, mode, value)
		end
	end
lib/saxophonit/testing.nit:448,2--459,4