Structured Text Interchange Format
From semanticweb.org
(Redirected from STIF)
The Structured Text Interchange Format (STIF) is a subset of XHTML. It has only those few feature that most strucutured text formats support.
Contents |
[edit] Q & A
- Why STIF? To exchange structured text between different applications
- Why not XHTML? There are too many elements, making it hard to write transformers from it to other source syntaxes or data models.
- Why these features? The elements present in STIF map to what users can enter via wiki syntax or BB codes in popular systems.
- Is STIF extensible? Sure, one can add any XHTML or XML element, but conformant STIF engines are only required to understand the STIF elements.
[edit] Related Work
- Wiki Creole is the attempt to unify wiki source syntaxes for end-users. STIF unifies the content of structured text pages for easy processing in computers.
- BB-codes are used in the comment systemts of many blog engines
STIF is a successor of WIF, the wiki interchange format.
[edit] Implementations
The project WikiPipes can crawl wikis as source text or as STIF. Using XSLT, the STIF code is transformat to other target wiki syntaxes.
[edit] Specification
- Any UTF-8 string without "<" and ">" is valid STIF.
- Any UTF-8 string using the defined STIF elements below is valid STIF.
- Any UTF-8 string using other XML elements is also valid STIF, but STIF processors should/may ignore the extra elements.
- STIF documents may have XHTML headers.
- STIF documents may use the STIF elements.
- Nesting is only allowed according to XHTML rules. I.e. one may not put a <h1> in a <table> without nesting it in <tr> and <td> first.
The STIF elements are:
headlines: <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
block elements: <p>, <pre>, <hr>
lists: <dl>, <dd>, <dt>, <ol>, <ul>, <li>
tables: <table>, <tr>, <th>, <td>
inline elements: <em>, <strong>, <code>
images: <img> with attribute ’src’,
links: <a> with attribute ’href’
For links within the wiki:
- attribute 'class' must contain the class 'stif-internal'
- attribute 'href' must be set to the name of the wiki page (no URL)
For external links:
- attribute 'class' must contain the class 'stif-external'
- attribute 'href' must be set to an absolute URL
Extensions under dicusssion for encoding further semantics: <span>, <div> both with xml:id attributes
[edit] Document-STIF vs. inline-STIF
By parsing the input
* hello
the resulting document-STIF is
<html>
<head>
<title>STIF</title>
</head>
<body>
<ul>
<li>hello</li>
</ul>
</body>
</html>
This is ideal to save as a stand-alone file.
The resulting inline-STIF is
<ul>
<li>hello</li>
</ul>
which is ideal for embedding in a web page. Note that
The fox <em>jumps</em> over the fence.
is also valid inline-STIF.
[edit] Doctype
These doctypes are valid for STIF documents:
- HTML5
- XHTML 1.0 Strict
- XHTML 1.0 Transitional
- HTML 4.01 Strict
- HTML 4.01 Transitional
- XHTML 1.1
- XHTML + RDFa
- XHTML Basic 1.0
- XHTML Basic 1.1
- XHTML 1.1 plus MathML 2.0
- XHTML 1.1 plus MathML 2.0 plus SVG 1.1
[edit] Sample Document
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> ... a title ... </title>
</head>
<body>
<div>
... innerSTIF content ...
</div>
</body>
</html>
[edit] Change Log
2008-11-10
- added information about internal vs. external links
Removed on 2007-06-05 as many wikis do not support this.
<sub>, <sup>
