Web specifications support in Opera Presto 2.6

Last update: October 12, 2010; incorporating data through Core Milestone 37

Opera Presto rendering engine

This document and its associated support tables apply specifically to the Opera Presto 2.6 rendering engine. It incorporates Opera Presto web specification support up to, and including the latest Core Milestone, which is identified in the preceding paragraph. Changes and additions occurring since Opera Presto 2.5 are identified with their specific Core Milestones. Please see the following Changes since Opera Presto 2.5 topic.

Opera desktop, device, and mobile products

Opera products use and depend upon various parts of the Opera Presto rendering engine and its web specification features. It is important to note that while the latest Opera Presto rendering engine has incorporated new web specification features, they may not have been added to the latest released versions of Opera products.

The Opera user agent string

Opera products will identify which Opera Presto version and Core Milestone they are using in their user agent string. Depending on your Opera product, the Opera user agent string is placed the the "About Opera" page, found by typing opera:about in the address bar, or by clicking "Help > About Opera" in the Menu. Here is an example:

Opera/9.80 (Windows NT 5.1; U; en) Presto/2.6.30 Version/10.62

This example user agent string belongs to the release version of Opera 10.62 for desktop. It describes that it is using the Opera Presto 2.6 (Presto/2.6) rendering engine, incorporating Core Milestone 30 (.30). This Opera desktop product can contain web specification support as provided in Opera Presto 2.6, Milestone 30 and earlier. It does not contain web specifications which have been included in later builds of Opera Presto 2.6 with Core Milestones 31, 32, 33, 34, 35, etc.

A high-level overview of current web specifications support in Opera products is available on opera.com at: Web specifications support in Opera products: an overview.

Opera articles

For further reference, and where applicable, Opera web specification support table documents now contain hyperlinks to Opera technical articles written by leading subject matter experts. These are sourced from Opera's extensive developer website, dev.opera.com.

Core Milestone changes since Opera Presto 2.5

Implemented in Opera Presto 2.6, Core Milestone 37 (Final) of October 6, 2010

CSS3 Backgrounds and Borders module
Updated Opera's EventSource implementation
Implement Web Sockets
Implement IETF RFC5987

Implemented in Opera Presto 2.6, Core Milestone 36 of September 24, 2010

No additional W3C web specification support was added in this Core Milestone release.

Implemented in Opera Presto 2.6, Core Milestone 35 of September 10, 2010

Big5-HKSCS encoding

Implemented in Opera Presto 2.6, Core Milestone 34 of August 26, 2010

DOM Level 3 Events: Interface CustomEvent
HTML5 Web Messaging
  • This allows documents to communicate with each other regardless of their source domain, and is designed in a way which does not enable cross-site scripting attacks.
  • See W3C HTML5 Web Messaging.
Improved use of WebM media in HTML5 <video>/<audio>
  • Added cross-platform support for VP8 and Vorbis in a WebM container to the GStreamer media backend.
  • See WebM.
Web Workers API
  • Support is added for W3C Web Workers, which is an API for running scripts in the background independently of any user interface scripts.
    • This allows for long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions, and allows long tasks to be executed without yielding to keep the page responsive.
    • See this demo.

Implemented in Opera Presto 2.6, Core Milestone 33 of July 29, 2010

CSS Level 2.1
  • Support is provided for the "none" value of the content property (content:none).
CSS3 Text Module properties
  • text-overflow; see the W3C CSS3 Text module property details.
  • This is the shorthand property for the text-overflow-mode and text-overflow-ellipsis properties.
  • It allows an author to introduce a visual hint at the two ending boundaries of the text flow within the element box (after and end).
  • Opera supports the use of the ellipsis value on multi-line blocks.
Encodings
JIL (Joint Innovation Lab)
  • Added support for
    • The JIL Common Gateway Services protocol and the API functions that depend on it; see the JIL Developer web page.
    • JIL file access plus JIL Gold: file operations.
Web Storage API
  • Added support for window.opera.scriptStorage property for user scripts alone.
    • This property returns a Storage object as specified in the W3C Web Storage API, and is unique per script.
    • User scripts can use this object to share presistent data across domains.
    • Script storage objects currently do not fire storage events.
    • The scriptStorage object has limited quota, defined in opera:config.

Implemented in Opera Presto 2.6, Core Milestone 32 of July 15, 2010

CSS3 Paged Media Module properties
HTML5

Implemented in Opera Presto 2.6, Core Milestone 31 of July 1, 2010

No additional W3C web specification support was added in this Core Milestone release.

Implemented in Opera Presto 2.6, Core Milestone 30 of June 18, 2010

Geolocation services
  • Geolocation service capability was introduced on an experimental basis in Opera Presto 2.5, and supports the W3C Geolocation API Specification.
  • User-enabled geolocation services in Opera Presto 2.6 are available for use in Opera products.
  • IP address and WiFi recognition are implemented.
    • IP address recognition works by recognizing your IP address and telling you the cordinates based on it.
    • WiFi recognition works by gathering and then sending a list of all nearby wireless networks including MAC (Media Access Control) address, SSID (Service set identifier) name, and signal strength, which returns your coordinates.
  • An address bar map pin icon indicates a web page is accessing the Geolocation API.
  • A user decides to share or not share their device location with a website based on trust; see section 4.2 of the W3C Geolocation specification.
  • Further information is available at the Opera Desktop Team blog: "The return of Geolocation".
  • See this demo.
Offline Web Applications
WebM video and audio container
  • WebM works together with the HTML5 <video> and <audio> elements supported in the Opera Presto rendering engine.
  • The WebM format consists of the VP8 video and Vorbis audio codecs wrapped inside a .webm container. It is based on the Matroska media container format, and offers high-quality video with fast seeking.
  • See these Opera articles:

Opera support tables

ARIA support

Support table
ARIA support

Opera's participation

ARIA is a proposal/work in progress. Opera participates within this working group which will ultimately release the ARIA specification. Please see the ARIA Working Draft and Editor's Draft for details.

Opera supports the HTML implementation of ARIA according to the latest draft. Here is an example:

<div role="checkbox" aria-checked="true" tabindex="0"></div>

CSS support

Support tables
CSS Mobile Profile 2
CSS Properties
CSS3 At-rules Module
CSS3 Backgrounds and Borders Module
CSS3 Basic Box Model Module
CSS3 Basic User Interface Module
CSS3 Colors Module
CSS3 Fonts Module
CSS3 Media Features/Queries Module
CSS3 -o- vendor extensions
CSS3 Selectors Module
CSS3 Text Module
CSS3 Transitions Module
CSS3 2D Transforms Module

CSS Levels 1 and 2.1

Opera Presto offers support for:

CSS Level 3 modularized working drafts and candidate recommendations

Opera Presto offers partial support for CSS Level 3 modularized working drafts and candidate recommendations. Note that these CSS3 modules are at an early stage of development and may be changed or removed at any time.

► CSS3 Backgrounds and Borders Module
► CSS3 Basic Box Model Module
  • Opera Presto offers partial support for the CSS3 Basic Box Model Module.
  • See our support table: CSS3 Basic Box Model
► CSS3 Basic User Interface Module
  • Opera Presto offers partial support for the CSS3 Basic User Interface Module.
  • See our support table: CSS3 Basic User Interface.
► CSS3 Color Module
  • Opera Presto supports all of the CSS3 Color Module.
  • See our support table: CSS3 Colors
► CSS3 Fonts Module
  • Opera Presto offers partial support for the CSS3 Fonts Module.
  • See our support table: CSS3 Fonts
► CSS3 Media Queries Module
  • Opera Presto offers partial support for the CSS3 Media Queries Module.
  • See our support table: CSS3 Media Queries .
► CSS3 Selectors Module
  • Opera Presto offers full support for the CSS3 Selectors Module.
  • See our support table: CSS3 Selectors.
► CSS3 Text Module
  • Opera Presto offers partial support for the CSS3 Text Module.
  • See our support table: CSS3 Text
► CSS3 2D Transforms Module
  • Opera Presto offers full support for the CSS3 2D Transforms Module.
  • See our support table: CSS3 2D Transforms
► CSS3 Transitions Module
  • Opera Presto offers partial support for the CSS3 Transitions Module.
  • See our support table: CSS3 Transitions

CSS Mobile Profile 2.0

CSS -o- vendor extension properties

CSS with XML

  • In order to display an XML document, a CSS style sheet should be present.
  • Authors can attach Cascading Style Sheets to their XML documents through a processing instruction. Here is a simple example:
    <?xml version="1.0"?>
    <?xml-stylesheet href="shakespeare.css" type="text/css"?>
    

DOM support

Support tables
DOM 2 Core and XML modules
DOM 2 HTML Objects
DOM 2 UI, Mouse and Mutation Event modules
DOM 2 View, Style, CSS1 and CSS2 modules
Element Traversal Specification module
Selectors API module
XHR (XMLHttpRequest / "Ajax")

DOM 2 Core

Opera has full support for the Fundamental interfaces of DOM 2 Core , with minor exceptions. Opera does not support the following Extended interfaces on purpose, expecting a future revision of DOM Core will remove them:

  • Notation
  • Entity
  • EntityReference

Selectors API

Opera Presto supports the Selectors API Level 1 module.

  • NodeSelector interface
    • querySelector()
    • querySelectorAll()

DOM 3 Core

Opera supports several carefully selected DOM 3 Core features. Several of these are:

  • compareDocumentPosition() method
  • textContent attribute

DOM 2 HTML

Opera has full support for DOM 2 HTML, with minor exceptions corresponding to HTML support exceptions.

DOM 2 Events

Opera has full support of DOM 2 Events with no exceptions.

  • The work on DOM 3 Events has restarted at the W3C.
  • We expect to have no exceptions when it becomes a recommendation.

DOM 2 Style

Opera supports DOM 2 Style with some exceptions.

  • This module is under development in the W3C and we expect to fully support the updated version.

DOM 2 Range

Opera supports the DOM 2 Range.

DOM 2 Traversal

Opera supports DOM 2 Traversal, with some exceptions.

DOM 3 Element Traversal specification (Working Draft)

Opera supports the Element Traversal specification (W3C Proposed Recommendation).

  • The ElementTraversal interface allows script navigation of the elements of a DOM tree, excluding all other nodes in the DOM, such as text nodes.
  • It also provides an attribute to expose the number of child elements of an element.

DOM 3 Load and Save

Opera supports Load and Save, with some exceptions.

DOM 3 XPath

Opera supports DOM 3 XPath, with the same exceptions as with XSLT.

  • This DOM specification is currently a W3C note.

XMLHttpRequest (XHR)

XMLHttpRequest is a work in progress, and we expect to fully support it when it becomes a recommendation.

  • Progress events have been temporarily removed.

window.btoa and window.atob

  • Opera supports window.btoa and window.atob for base64 encoding and decoding
  • See reference: window.btoa
  • See reference: window.atob

ECMAScript support

Support table
ECMAScript

ECMAScript is the standardized version of JavaScript Core. It is being standardized through the ECMA standards body. ECMAScript does not include browser and document related objects.

ECMA-262 2 and 3

Opera supports the entire ECMA-262 2nd and 3rd standards, with no exceptions. They are more or less aligned with JavaScript 1.3/1.5 Core.

ECMA-262 5 (ECMAScript 5)

  • Opera partially supports ECMAScript 5
  • Native JSON support has been added

Opera is actively participating with ECMA TC39 in developing successors to the current spec. Opera will support future editions of the language as consensus is reached and the specifications become finalized.

Geolocation support

Geolocation service capability was introduced on an experimental basis in Opera Presto 2.5, and supports the W3C Geolocation API Specification. User-enabled geolocation services in Opera Presto 2.6 are available for use in Opera products.

  • IP address and WiFi recognition are implemented.
    • IP address recognition works by recognizing your IP address and telling you the cordinates based on it.
    • WiFi recognition works by gathering and then sending a list of all nearby wireless networks including MAC (Media Access Control) address, SSID (Service set identifier) name, and signal strength, which returns your coordinates.
  • An address bar map pin icon indicates a web page is accessing the Geolocation API.
  • A user decides to share or not share their device location with a website based on trust; see section 4.2 of the W3C Geolocation specification.
  • Further information is available at the Opera Desktop Team blog: "The return of Geolocation".
  • See this demo.

Graphics support

Animation

OpenGL

Opera supports the OpenGL 2D/3D graphics API; see OpenGL API

Direct3D

Opera supports the Direct3D device driver interface (DDI); see Direct3D

<canvas> element

Support table
<canvas> element

Opera supports the <canvas> element specification, including canvas shadows, which is currently a work in progress.

Scalable Vector Graphics (SVG)

Support tables
SVG attributes
SVG CSS properties
SVG DOM interfaces
SVG elements
► Events

There is support for listening to any event in the svg module. Some events are not sent by core, for example: activate.

  • SVG 1.1 doesn't specify a key-event set, and thus the attributes onkeyup, onkeydown and onkeypress don't register a corresponding event listener for those events.
  • In Opera it's possible to install listeners for key-events with DOM, for example: element.addEventListener('keydown', keyhandler-function, false).
  • If key-events are used it's vital to use evt.preventDefault() to prevent any key-event that should be handled only by the script from escaping upwards to the UI which may be listening for shortcut keys.
► FPS
  • FPS (Frames Per Second) support: Opera enables you to manipulate the speed (frames per second) of your SVG animations using JavaScript by supporting the SVGElement.currentFps and SVGElement.targetFps properties. These properties respectively read and control SVG frames per second; see this Opera reference.
► Integration

Opera supports the following SVG inclusion types.

  • In HTML: <object> element
  • In HTML: <iframe> element
  • In HTML: <embed> element
  • In HTML: <img> element
  • In CSS: background-image property
  • In CSS: list-style-image property
► Interoperability

Some content may fail to render if sent with the wrong MIME-type, or if the namespace declarations are missing.

  • The correct MIME-type for svg is image/svg+xml.
  • The namespaces to open are svg: http://www.w3.org/2000/svg and xlink: http://www.w3.org/1999/xlink.
  • For CSS it should be noted that you must specify length values with units. For example:
    • font-size: 12; in CSS will mean the value is invalid, and thus it will be ignored.
    • This applies to all style elements, style attributes and external stylesheets.
    • The CSS content property can also embed SVG.
► Painting

Support has been added for the buffered-rendering property; see section 11.10.5.

► Printing

SVG is output as a bitmap image to the printer.

  • The output is not sent in vector format, thus the clarity of the image may be blurred.
► SVG fonts
  • Font switching: Support has been added in the rendering/rasterizing of glyphs in mobile technologies; see Section 3.4 Types of graphics elements.
  • SVG fonts in HTML support: Use SVG font files to style your text using CSS (in both HTML and SVG files); see this Opera reference.

Raster Graphics

Opera supports:

  • GIF
  • JPEG (partial support):
    • Supported:
      • Baseline
      • Extended
      • Progressive (SOF0, SOF1 and SOF2)
    • Not supported:
      • Lossless
      • Differential (hierarchical)
      • Arithmetic
  • BMP
  • ICO
  • WBMP
  • PNG including alpha channel (degrees of transparency) and gamma support (device independent colors)
  • APNG

HTML 4 and XHTML support

Support tables
DOCTYPE Switches
HTML, XHTML and WML

HTML 4.01

Opera supports HTML 4.01 with these exceptions:

  • Event attributes are not supported for the option element.
  • The col width attribute does not support multilengths.
  • The object standby and declare attributes are not supported.
  • The table cell attributes char and charoff are not supported.

XHTML 1.0 and XHTML Modularization

Opera does not have a XHTML content-type mode of text/html. XHTML written as text/html is handled just like HTML.

XHTML 1.1 support

Opera supports XHTML 1.1 with these exceptions:

  • The col width attribute does not support multilengths.
  • The object standby and declare attributes are not supported.
  • The table cell attributes char and charoff are not supported.
  • Ruby annotations are not supported.

XHTML Basic

Opera supports XHTML Basic with the following exceptions:

  • The object standby, declare attributes are not supported.
  • The inputmode attribute is supported, however
    • its implementation is platform-dependant
    • it is not enabled by default
    • it is not in the Opera 9.6 Desktop version

OMA XHTML Mobile Profile

Opera supports the XHTML Mobile Profile 1.0 and 1.1 and extensions to XHTML Basic with no exceptions.

XHTML+Voice Profile (X+V)

Opera fully supports the XHTML+Voice profile (and the Mobile Profile subset).

  • The support of X+V includes support of CSS3 Speech (with an -xv- prefix as this module is under preparation).
  • X+V needs to be served as an XML media type (application/xml, application/xhtml+xml, application/x-xhtml+voice+xml) for XML Events to take effect.
  • For more information see the X+V developer documentation.

WML 1.3 and 2.0

Wireless Markup Language versions 1.0 to 1.3, while based on an HTML subset, must be considered a separate markup language for most practical purposes. WML 2.0 can better be considered an extension of XHTML Basic with WML 1.3 features. Opera supports WML 1.3 and 2.0 with the following exceptions:

  • the columns attribute
  • the input formatting code <lang:class>
  • the wml:getvar element

HTML5 support

Support table
HTML5 Elements, Attributes, and APIs
W3C References
W3C: Draft of the HTML5 Specification (multipage version)
W3C: Draft of the Web Developer's Guide to HTML5

Opera adds support for the next version of HTML - HTML5. For your reference, the preceding two external hyperlinks are provided for HTML5 drafts/works in progress by the W3C. Please note that changes to the draft specification and notes may be made at any time. HTML5 is a work in progress and respectively, Opera considers its implementations for HTML5 experimental until its specification has stabilized.

HTML5 Forms

Support table
HTML5 Forms

Opera has experimental support for HTML5 Forms which is a work in progress. HTML5 Forms replaces the separate Web Forms 2.0 specification which has been integrated into the HTML5 specification.

MathML support

MathML for CSS profile

Support table
MathML for CSS profile elements/attributes

Opera supports the current working draft of the MathML for CSS profile with the following exceptions:

  • Radicals and some fences do not inherit text color from document.
  • White space characters between token elements (mi, mn, mo, ms, mspace, mtext) are not discarded.
  • Class and style attributes are not supported.

Networking protocols support

HTTP 1.0 and HTTP 1.1 support

Opera supports HTTP 1.0 (RFC 1945) and HTTP 1.1 (RFC 2616) protocols with the following exception:

  • Content-Location

Opera does support:

  • Basic Authentication (passwords)
    • Digest Authentication support, excepting integrity check on body
  • Byte range support which enables resuming downloads (provided the server supports it)
  • Cachecontrol for:
    • no-cache (always check for fresh document)
    • no-store (don't save to disk)
  • Multipart/mixed messages: RFC 2045 and RFC 2046
  • Persistent connections (multiple request/response through one connection): RFC 2616
  • SSL, TLS (RFC 2246) support (also through proxy/firewall)
  • HTTP over TLS: RFC 2818

Other protocol support

Proxy support for

Cookies

Opera provides support for the following items:

Encryption

Opera supports 128 and 256 bit encryption (RSA, DSA and DH key exchange methods) for:

  • Secure Sockets Layer (SSL) version 3
  • Transport Layer Security (TLS) 1.0, 1.1, and 1.2

This is supported for HTTP (web), NNTP (news), POP and SMTP (e-mail).

  • Note: SSL 2 is obsolete and no longer supported.

Further support is provided for

  • Generating private keys and submitting certificate requests
  • EV (Extended Validation)
    • An indicator (green bar) for EV certificates acts as an identifier in the Address bar

News

A simple online newsreader with support for encrypted newsservers and newsserver with passwords is provided.

  • Supports decoding of single article attachments, MIME or unencoded.

Offline Web Applications support

Support table
Offline Web Applications

Support is added for W3C Offline Web Applications implementing the user interface for caching.

This allows documents to communicate with each other regardless of their source domain, and is designed in a way which does not enable cross-site scripting attacks. See this demo.

Text and internationalization support

Unicode character set support in Opera

Opera can work with all the characters in the Unicode specification.

  • All text communicated to Opera from the network is converted into Unicode.
  • In order for Opera to render Unicode characters, the needed glyphs have to be available in the fonts on your system. This might be a problem for older Windows systems. For information on available fonts, see Unicode fonts for Windows computers.
  • Updated Unicode character data tables from Unicode v5.0.0 to v5.1.0.
  • Uniblocks table now supports ranges outside Unicode plane 0. This is needed to do proper font-switching of characters outside the Unicode plane 0.

Opera implements the following writing system related functionality improvements:

  • font-switching: needed in order to display characters that the current font does not include
  • line-breaking: needed in order to break scripts written without spaces, such as Chinese, Japanese, and Korean
  • CJK: improved line height and underlining in Chinese, Japanese, and Korean
  • KDDI emojis: improved support for KDDI emojis and special characters
  • Multistyle: improved default fonts for non-western Web pages

Opera relies on the operating system to perform:

  • character shaping: contextual glyph selection, ligature forming, character stacking, combining character support, etc.

Legacy encoding support

Support table
Legacy encodings in addition to Unicode

Although Opera works with the Unicode character set and its character encodings of UTF-16 and UTF-8, most text on the Internet is encoded in legacy encodings, for instance:

  • ISO 8859-1
  • Windows-1251
  • Shift_JIS (MIME name)
  • EUC-KR

Opera handles this by detecting the character encoding used, and converting it to UTF-16. The user has three options for how to handle these pages.

  • Auto-detect: in this mode Opera will attempt to detect the encoding used by the page
    • If the transport protocol provides an encoding name, that is used
    • If not, Opera will look at the page for a charset declaration
    • If this is missing, Opera will attempt to auto-detect the encoding, using the domain name to see if the script is a CJK script, and if so which one
    • Opera can also auto-detect UTF-8
  • Writing script auto-detect: In this mode the user can tell that this is a Japanese or Chinese page, but that the encoding is unknown. Opera will then analyze the text in the page to determine which encoding is used.
  • Encoding override: In this mode the user selects an encoding. This encoding will be used by Opera, regardless of what the page and transport protocol claims is the encoding for the page.

Support for bidirectional text

Opera supports bidirectional text as described in Unicode, HTML, and CSS.

Web SQL Database support

Web storage in Opera can be configured using preferences in the "Web Storage" section in opera:config

  • Opera supports the ability to create databases:
    • Store data in a more structured manner
    • Query data using SQL
  • See: W3C Web SQL Database

Web Storage support

Web storage in Opera can be configured using preferences in the "Web Storage" section located in opera:config

  • Opera supports the following web storage tools:
    • Session storage: offers a temporary storage of data
    • Local storage: stores data for a longer period until you explicitly clear it
  • Support has been added for the window.opera.scriptStorage property for user scripts alone.
    • This property returns a Storage object as specified in the W3C Web Storage API Section 4.1: The Storage interface, and is unique per script.
    • User scripts can use this object to share presistent data across web pages.
    • Script storage objects currently do not fire storage events.
    • The scriptStorage object has limited quota, defined in opera:config.
  • Opera does not currently support:
    • Structured storage
    • Storage mutex
  • See: W3C Web Storage

Web Workers support

Support table
Web Workers API

Support is added for W3C Web Workers, which is an API for running scripts in the background independently of any user interface scripts.

This allows for long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions, and allows long tasks to be executed without yielding to keep the page responsive. See this demo.

Widgets support

Support tables
Opera Widget specification
W3C Widget Packaging and Configuration

Opera supports both the W3C Widget family of specifications and the legacy Opera Widgets format. The formats are different and not compatible. Opera Presto supports the proprietary Opera Widgets format for legacy reasons:

  • The Opera Widgets format predates the W3C's effort to standardize widgets.
  • Significant aspects of the W3C Widgets family of specifications are based on Opera Widgets.

Further information regarding Opera Presto support for the W3C Widgets family of specifications and the Opera proprietary Widgets format will be posted here as it is implemented.

Opera supports widget.preferences; see the W3C Widgets 1.0: APIs and Events.

Opera security model for widgets

network="public"

The Opera security model for widgets declares that widgets do not have network access on by default. In order to enable network access for non-intranet sites, add a network attribute to the widget element in the config.xml of your widget with the value "public". For example:

  <widget network="public">
    ...
  </widget>

This will make your widget work as intended in Opera 10, but will not affect previous versions. Older browsers will simply ignore the network attribute and give your widget access as per the existing security model.

network="private" and network="public private"

The widget element attributes network="private" and network="public private" can enable network access for either private networks, public networks, or both. For example:

  <widget network="private">
    ...
  </widget>
  <widget network="public private">
    ...
  </widget>

XML support

Overview

Opera supports XML 1.0 and XML 1.1, and can parse and display XML documents.

  • Opera can be both a validating and non-validating processor.
  • Documents with Content-type text/xml, application/xml or with a subtype ending on +xml will be treated as an XML document.
  • If a content-type is not available, the ".xml" file extension will also make the document be treated as XML.
  • Opera does not use US-ASCII as the default character set for text/xml, but otherwise follows RFC3023.
    • Opera follows the rules for application/xml.
    • We recommend using application/xml instead of text/xml, and the use of an explicit character set declaration such as charset=UTF-8.

Binary XML, Binary WML (WBXML)

The Opera parser supports Binary XML; see XML Binary Characterization Working Group.

  • Its main use case is to handle Binary WML (WBXML); see WAP Binary XML Content Format
  • WBXML is turned on by default for all profiles except minimal.

XForms

Opera does not offer support for XForms; see XForms, but extends support for the HTML5 Forms module as an alternative; see HTML5 Forms module.

XSLT, XPath and XSL-FO

Opera supports XSLT style sheets with the <?xml-stylesheet?> processing instruction; see Associating Style Sheets with XML documents Version 1.0. Opera supports XSLT 1.0 and XPath 1.0 with the following exceptions:

  • The namespace-alias element is not supported.
  • Opera does not support XSL-FO.

XML namespaces and XML ID

Opera fully supports XML namespaces.

  • Namespace support for text/html was discontinued with Opera 9, and is not supported.
  • Opera supports the xml:id attribute.

XML Events

Opera supports XML Events and it is used in X+V.

  • HTML script and VoiceXML form can be handlers for XML Events.

Appendix A: Abbreviations and acronyms

Abbreviations and acronyms in this document in alphabetical order:
APNG
Animated Portable Network Graphics
ARIA
Accessible Rich Internet Applications
BMP
Bitmap graphic filename extension
CSS
Cascading Style Sheets
DH
Diffie-Hellman (public key encryption algorithm)
DOM
Document Object Model
DSA
Digital Signature Algorithm
ECMA
European Computer Manufacturers Association
ECMAScript
European Computer Manufacturers Association Script
EUC-KR
Korean Character Encoding Standard
FTP
File Transfer Protocol
GIF
Graphic Interchange Format filename extension
HTML 4
Hypertext Markup Language
HTTP
Hypertext Transfer Protocol)
ICO
Icon graphic filename extension
IDNA2003
Internationalized Domain Hostname
IMAP
Internet Message Access Protocol
IRC
Internet Relay Chat
ISO
International Organization for Standardization
JPEG
Joint Photographic Experts Group graphic filename extension
MIME
Multimedia Internet Message Extensions
MathML
Mathematical Markup Language
NNTP
Network News Transfer Protocol
OMA
Open Mobile Alliance
PNG
Portable Network Graphics
POP
Post Office Protocol
RSA
Rivest, Shamir and Adleman (public key encryption technology)
SMTP
Simple Mail Transfer Protocol
SSL
Secure Sockets Layer
SVG
Scalable Vector Graphics
Shift_JIS
Shift Japanese Industrial Standard (character encoding system)
TLS (RFC 2246)
Transport Layer Security
US-ASCII
United States of America Standard Code for Information Interchange
UTF
Unicode Transformation Format
VoiceXML
Voice eXtensible Markup Language
W3C
World Wide Web Consortium
WAIS
Wide Area Information Server
WBMP
Wireless Bitmap (WAP) graphic filename extension
WML
Wireless Markup Language
XHTML
eXtensible Hypertext Markup Language
XML
eXtensible Markup Language
XPath
XML Path Language
XSL-FO
eXtensible Style sheet Language Format Objects
XSLT
eXtensible Style sheet Language Transformation

Documentation

Opera Help

Need help? Hit F1 anytime while using Opera to access our online help files, or go here.