Preliminary List of XHTML allowed tags in ABML documents. Tags with YES in the Allow column are allowed in ABML, however those with a YES* will one day be usable but are not currently implemented here at fightingfantasy.net. NO is not allowed, NO* means an alternative (may) be provided, ? has yet to be decided.
Note that all attributes of all allowed tags are also permitted, most especialy this means you can define your own inline styles for formatting. However note that here on fightingfantasy.net javascript events will be blocked.
** See after the table for the IMG tag to allow images inline in your adventure.
Tag | Description | Allow |
---|---|---|
<!–…–> | Defines a comment | YES |
<!DOCTYPE> | Defines the document type | YES* |
<a> | Defines an anchor | YES |
<abbr> | Defines an abbreviation | YES |
<acronym> | Defines an acronym | YES |
<address> | Defines contact information for the author/owner of a document | YES |
<area /> | Defines an area inside an image-map | YES* |
<b> | Defines bold text | YES |
<base /> | Defines a default address or a default target for all links on a page |
YES* |
<bdo> | Defines the text direction | YES |
<big> | Defines big text | YES |
<blockquote> | Defines a long quotation | YES |
<body> | Defines the document’s body | YES* |
<br /> | Defines a single line break | YES |
<button> | Defines a push button | YES* |
<caption> | Defines a table caption | YES |
<cite> | Defines a citation | YES |
<code> | Defines computer code text | YES |
<col /> | Defines attribute values for one or more columns in a table | YES |
<colgroup> | Defines a group of columns in a table for formatting | YES |
<dd> | Defines a description of a term in a definition list | YES |
<del> | Defines deleted text | YES |
<dfn> | Defines a definition term | YES |
<div> | Defines a section in a document | YES |
<dl> | Defines a definition list | YES |
<dt> | Defines a term (an item) in a definition list | YES |
<em> | Defines emphasized text | YES |
<fieldset> | Defines a border around elements in a form | YES* |
<form> | Defines an HTML form for user input | YES* |
<frame /> | Defines a window (a frame) in a frameset | ? |
<frameset> | Defines a set of frames | ? |
<h1> to <h6> | Defines HTML headings | YES |
<head> | Defines information about the document | YES* |
<hr /> | Defines a horizontal line | YES |
<html> | Defines an HTML document | NO |
<i> | Defines italic text | YES |
<iframe> | Defines an inline frame | ? |
<img /> | Defines an image | YES** |
<input /> | Defines an input control | YES* |
<ins> | Defines inserted text | YES |
<kbd> | Defines keyboard text | YES |
<label> | Defines a label for an input element | YES* |
<legend> | Defines a caption for a fieldset element | YES* |
<li> | Defines a list item | YES |
<link /> | Defines the relationship between a document and an external resource |
? |
<map> | Defines an image-map | YES* |
<meta /> | Defines metadata about an HTML document | ? |
<noframes> | Defines an alternate content for users that do not support frames |
? |
<noscript> | Defines an alternate content for users that do not support client-side scripts |
NO* |
<object> | Defines an embedded object | ? |
<ol> | Defines an ordered list | YES |
<optgroup> | Defines a group of related options in a select list | YES* |
<option> | Defines an option in a select list | NO* |
<p> | Defines a paragraph | YES |
<param /> | Defines a parameter for an object | ? |
<pre> | Defines preformatted text | YES |
<q> | Defines a short quotation | YES |
<samp> | Defines sample computer code | YES |
<script> | Defines a client-side script | NO* |
<select> | Defines a select list (drop-down list) | YES* |
<small> | Defines small text | YES |
<span> | Defines a section in a document | YES |
<strong> | Defines strong text | YES |
<style> | Defines style information for a document | ? |
<sub> | Defines subscripted text | YES |
<sup> | Defines superscripted text | YES |
<table> | Defines a table | YES |
<tbody> | Groups the body content in a table | YES |
<td> | Defines a cell in a table | YES |
<textarea> | Defines a multi-line text input control | YES* |
<tfoot> | Groups the footer content in a table | YES |
<th> | Defines a header cell in a table | YES |
<thead> | Groups the header content in a table | YES |
<title> | Defines the title of a document | ? |
<tr> | Defines a row in a table | YES |
<tt> | Defines teletype text – use ‘xtt’ in ABML | NO* |
<ul> | Defines an unordered list | YES |
<var> | Defines a variable part of a text | YES |
** The img tag:
As far as the definition of ABML is concerned you can throw img tags around as much as you want in your code, however since this would open up any particular implementation to significant abuse here at fightingfantasy.net I have at this time restricted img tags to only be able to refer to images that I have manually placed into a users public directory (assuming you are a registered user). You may also cross-reference to other users images in their public directories, though it would be polite to acquire permission from them first. If you wish to add images to your adventure please contact me by email or on Facebook or via the contact form or any other way you know how to get hold of me. URI’s in img tags that are not located within fightingfantasy.net will be ignored at this time.
Decisions required for:
- frames (and related tags)
- Significant abuse potential
- Should be allowed for document definition.
- An ABML version may very well be useful (framing other abml documents rather than html documents – would make ABML ‘include’ obsolete?)
- object (and ‘param’)
- Significant abuse potential
- Should be allowed for document definition.
- ‘style’, ‘meta’, ‘link’, ‘title’ (head tags)
- All tags would require ‘head’ to be implemented (and therefore an initial ABML XML DTD completed)
- Style – would be nice
- Meta – Not sure if there’s any meta use benefits
- Link – for stylesheets would be nice, especially good for linking SEL, javascript however….
- Title – requires decisions on ‘reference xml’ generally
Tags allowed but not implemented yet:
- !DOCTYPE
Once I complete a DTD this may actually be useful… - head
Since I haven’t implemented a full xml definition and parse system for ABML yet, this would just mess current display up. - body
Since I haven’t implemented a full xml definition and parse system for ABML yet, this would just mess current display up. - base
Simply the current system uses relative url’s and it would mess up my implementation - map (and ‘area’)
- Same pitfalls as image tag
- Would be good to have though with ABML tt functionality on parts of an image
- forms (and related tags)
- This is planned to be implemented once I have decided how to handle form input generally
Disallowed Tags:
- ‘html’
This aint just html baby! (Mind you, allowing a HTML tag that enables escaping out the ABML/HTML tag clashes is a possibility…) - ‘tt’
Clashes with ABML tt
Use ‘xtt’ in ABML instead it will simply substitute with an xhtml ‘tt’ tag (even though in html 5 ‘tt’ no longer exists) - ‘option’
Clashes with ABML option - ‘script’ (‘noscript’ disallowed by association)
- Clashes with ABML script
- Significant abuse potential
- Should be allowed for document definition