diff --git a/.gitignore b/.gitignore index 5d49db58..3e8b85ef 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ target/ *.iml .idea/ *.xpr +tmp/ github-report.html node_modules/* diff --git a/Gulpfile.js b/Gulpfile.js index e7b7b56c..6f9c067a 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -43,7 +43,11 @@ var paths = { output: 'src/main/xar-resources/resources/' }, fonts: { - output: 'src/main/xar-resources/resources/fonts/', + output: 'src/main/xar-resources/resources/fonts/' + }, + xml: { + listings: 'src/main/xar-resources/data/*/listings/*.xml', + articles: 'src/main/xar-resources/data/*/*.xml' } } @@ -85,6 +89,8 @@ var lazypipe = require('lazypipe') var rename = require('gulp-rename') var header = require('gulp-header') var pkg = require('./package.json') +var muxml = require('gulp-muxml') + // Scripts var standard = require('gulp-standard') @@ -193,6 +199,24 @@ var lintScripts = function(done) { done() } +// pretty print all xml listings +// articles not yet decided +var prettyXml = function(done) { + src(paths.xml.listings, { base: "./" }) + .pipe(muxml({ + stripComments: false, + stripCdata: false, + stripInstruction: false, + saxOptions: { + trim: true, + normalize: true + } + })) + .pipe(dest("./")) + // Signal completion + done() +} + // Process, lint, and minify Sass files var buildStyles = function(done) { // Make sure this feature is activated before running @@ -327,6 +351,7 @@ exports.default = series( buildStyles, buildSVGs, copyFiles, - buildPack + buildPack, + prettyXml ) ) diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md deleted file mode 100644 index 4c2aefbf..00000000 --- a/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,11 +0,0 @@ -:balloon: First off, thank you for contributing to eXist-db's documentation. :balloon: - -### Where is the problem -> For problems with a specific article or page, please state the name of the page at the beginning of the title line, like this `[XXX.xml] something isn't right with...` You can find the name of the docbook xml file in URI bar of your browser. - -### What is the problem - - -### Please provide the following -* exist-db version: `5.0.0` -* documentation version: `5.0.0` diff --git a/README.md b/README.md index a5212e44..8ec3aef1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # eXist-db Documentation [![Build Status](https://travis-ci.com/eXist-db/documentation.svg?branch=master)](https://travis-ci.com/eXist-db/documentation) -[![Docbook version](https://img.shields.io/badge/docbook-5.0-19a5a4.svg)](http://docbook.org/xml/5.0/) +[![Docbook version](https://img.shields.io/badge/docbook-5.1-19a5a4.svg)](http://docbook.org/xml/5.1/) [![eXist-db version](https://img.shields.io/badge/eXist_db-5.2.0-blue.svg)](http://www.exist-db.org/exist/apps/homepage/index.html) @@ -38,12 +38,14 @@ Should you encounter documentation for features that are deprecated in the minim 3. Install this file via the Dashboard > Package Manager. -## (WIP) Testing +## Testing ### Unit tests The full test-suite consists of validation, unit, and integration tests, it runs automatically on travis. To be able to run integration tests locally, contributors should run `npm i` to download and install [cypress.js](https://www.cypress.io). This is only required once. To execute the tests run the following commands: -- To validate xml files run `mvn validate`, -- to run the javascript tests `mvn test` (xQsuite coming soon). We do **not** support testing via node alone, aka `npm test`, use the maven command instead. +- To validate article files run `mvn validate`, + - Validation uses both the official `docbook.rng` and our own `exist-docs.rng` (experimental) schema. + - The schema files are located at: `src/main/relaxng` +- to run the javascript or XQSuite unit tests run: `mvn test`. We do **not** support testing via node alone, aka `npm test`, use the maven command instead. - To run the Integrations tests, however, use `npm run cypress`. Both unit and integration tests, expect a running instance of exist with a copy of the documentation app installed reachable at `localhost:8080` and an empty admin password. It might be necessary to skip test execution during building from time to time, use: `mvn clean package -DskipTests`. diff --git a/package-lock.json b/package-lock.json index 2f7f3f74..a39e7cf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "exist-documentation", - "version": "5.0.4-SNAPSHOT", + "version": "5.1.1-SNAPSHOT", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2047,6 +2047,15 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, + "deep-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-3.0.0.tgz", + "integrity": "sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw==", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", @@ -3488,6 +3497,16 @@ "map-cache": "^0.2.2" } }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, "fs-extra": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", @@ -4712,6 +4731,52 @@ "through2": "^2.0.0" } }, + "gulp-muxml": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-muxml/-/gulp-muxml-2.0.0.tgz", + "integrity": "sha512-GNwtYqMdoQKhtGersY+xqYEbTZsLmAgZvDPcPYaR+nfPCAcr7oxQMgLPijv24WlVSiR1ZrhUK3eXLZDi3lbnew==", + "dev": true, + "requires": { + "concat-stream": "^2.0.0", + "into-stream": "^5.0.1", + "muxml": "^2.0.1", + "through2": "^3.0.0" + }, + "dependencies": { + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "readable-stream": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, "gulp-optimize-js": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/gulp-optimize-js/-/gulp-optimize-js-1.1.0.tgz", @@ -5397,6 +5462,16 @@ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", "dev": true }, + "into-stream": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-5.1.1.tgz", + "integrity": "sha512-krrAJ7McQxGGmvaYbB7Q1mcA+cRwg9Ij2RfWIeVesNBgVDZmzY/Fa4IpZUT3bmdRzMzdf/mzltCG2Dq99IZGBA==", + "dev": true, + "requires": { + "from2": "^2.3.0", + "p-is-promise": "^3.0.0" + } + }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", @@ -5603,6 +5678,12 @@ } } }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, "is-path-cwd": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", @@ -6904,6 +6985,28 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "muxml": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/muxml/-/muxml-2.0.1.tgz", + "integrity": "sha512-t7qRa/ZA4OpwUm2nzXfX2J62Cj/LSqIt5V5Yn28nfqQ728pmSbDh+b2e1kwRmnhiF22m2rRMq9RH/NIqKHbecA==", + "dev": true, + "requires": { + "deep-assign": "^3.0.0", + "sax": "^1.2.1", + "through2": "^3.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, "nan": { "version": "2.13.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", @@ -7678,6 +7781,12 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, + "p-is-promise": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", + "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", + "dev": true + }, "p-limit": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", diff --git a/package.json b/package.json index a8892a90..a8810d79 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "exist-documentation", - "version": "5.0.4-SNAPSHOT", + "version": "5.1.1-SNAPSHOT", "description": "Documentation package for eXist-db", "scripts": { "test": "standard 'src/test/**/*.js' && mocha src/test/mocha/ --recursive --exit", @@ -39,6 +39,7 @@ "gulp-cssnano": "^2.1.3", "gulp-flatmap": "^1.0.2", "gulp-header": "^2.0.9", + "gulp-muxml": "^2.0.0", "gulp-optimize-js": "^1.1.0", "gulp-rename": "^2.0.0", "gulp-sass": "^4.0.2", diff --git a/pom.xml b/pom.xml index 1941ff48..a3875d12 100644 --- a/pom.xml +++ b/pom.xml @@ -1,237 +1,258 @@ - + - 4.0.0 + 4.0.0 - - org.exist-db - exist-apps-parent - 1.9.1 - - + + org.exist-db + exist-apps-parent + 1.9.1 + + - org.exist-db - exist-documentation - 5.1.1-SNAPSHOT + org.exist-db + exist-documentation + 5.1.1-SNAPSHOT - eXist-db Documentation - Documentation package for eXist-db - https://www.github.com/exist-db/documentation - 2001 + eXist-db Documentation + Documentation package for eXist-db + https://www.github.com/exist-db/documentation + 2001 - - eXist-db - http://exist-db.org - + + eXist-db + http://exist-db.org + - - - GNU Lesser General Public License, version 2.1 - http://opensource.org/licenses/LGPL-2.1 - repo - - + + + GNU Lesser General Public License, version 2.1 + http://opensource.org/licenses/LGPL-2.1 + repo + + - - https://www.github.com/exist-db/documentation.git - scm:git:https://www.github.com/exist-db/documentation.git - scm:git:https://www.github.com/exist-db/documentation.git - HEAD - - - GitHub - https://github.com/eXist-db/documentation/issues - + + https://www.github.com/exist-db/documentation.git + scm:git:https://www.github.com/exist-db/documentation.git + scm:git:https://www.github.com/exist-db/documentation.git + HEAD + + + GitHub + https://github.com/eXist-db/documentation/issues + - - UTF-8 - 1.8 - 1.8 + + UTF-8 + 1.8 + 1.8 - 5.2.0 - v10.18.1 - 6.13.6 + 5.2.0 + v10.18.1 + 6.13.6 - http://exist-db.org/apps/doc - + http://exist-db.org/apps/doc + - - - - org.apache.maven.plugins - maven-changes-plugin - 2.12.1 - - true - Type, Summary - - - - - github-report - - - - - - + + + + org.apache.maven.plugins + maven-changes-plugin + 2.12.1 + + true + Type, Summary + + + + + github-report + + + + + + - - - - src/main/xar-resources - true - - templates/** - data/** - - - - src/main/xar-resources - false - - templates/** - data/** - - - + + + + src/main/xar-resources + true + + templates/** + data/** + + + + src/main/xar-resources + false + + templates/** + data/** + + + - - - com.github.eirslett - frontend-maven-plugin - 1.9.1 - - - - install node and npm - - install-node-and-npm - - - compile - - - npm version bump - - npm - - compile - - version --no-git-tag-version --allow-same-version=true ${project.version} - - - - npm install - - npm - - compile - - - ci - - - - gulp build - - gulp - - compile - - - mocha tests - - npm - - test - - test - - - - - ${node.version} - ${npm.version} - - - - org.codehaus.mojo - xml-maven-plugin - - - validate - - validate - - - - - - - src/main/xar-resources/data - - */*.xml - - - template/template.xml - db4-versions/*.xml - - -//OASIS//DTD DocBook V5.0//EN//XML - ${project.baseUri}src/main/xsd/docbook.xsd - - - - - - ro.kuberam.maven.plugins - kuberam-expath-plugin - - - create-xar - package - - make-xar - - - xar-assembly.xml - ${package-final-name} - - - - - - org.apache.maven.plugins - maven-gpg-plugin - - true - - - - org.apache.maven.plugins - maven-release-plugin - - forked-path - - - true - @{project.version} - - - - + + + com.github.eirslett + frontend-maven-plugin + 1.9.1 + + + + install node and npm + + install-node-and-npm + + + compile + + + npm version bump + + npm + + compile + + version --no-git-tag-version --allow-same-version=true + ${project.version} + + + + npm install + + npm + + compile + + + ci + + + + gulp build + + gulp + + compile + + + mocha tests + + npm + + test + + test + + + + + ${node.version} + ${npm.version} + + + + org.codehaus.mojo + xml-maven-plugin + + + com.componentcorp.xml.validation + jxvc + 0.9.4 + + + com.componentcorp.xml.validation + relaxng + 0.9.4 + + + + + validate + + validate + + + + + + + src/main/xar-resources/data + + */*.xml + + ${project.baseUri}src/main/relaxng/docbook.rng + -//OASIS//DTD DocBook V5.1//EN//XML + true + http://relaxng.org/ns/structure/1.0 + + + src/main/xar-resources/data + + */*.xml + + ${project.baseUri}src/main/relaxng/exist-docs.rng + true + http://relaxng.org/ns/structure/1.0 + + + + + + ro.kuberam.maven.plugins + kuberam-expath-plugin + + + create-xar + package + + make-xar + + + xar-assembly.xml + ${package-final-name} + + + + + + org.apache.maven.plugins + maven-gpg-plugin + + true + + + + org.apache.maven.plugins + maven-release-plugin + + forked-path + + true + @{project.version} + + + + - - - exist - https://raw.github.com/eXist-db/mvn-repo/master/ - - + + + exist + https://raw.github.com/eXist-db/mvn-repo/master/ + + - - - clojars.org - http://clojars.org/repo - - + + + clojars.org + http://clojars.org/repo + + diff --git a/src/main/relaxng/assembly.rng b/src/main/relaxng/assembly.rng new file mode 100644 index 00000000..747b7a14 --- /dev/null +++ b/src/main/relaxng/assembly.rng @@ -0,0 +1,18586 @@ + + + + + +
+ + + Any attribute, including any attribute in any namespace. + + + + + + + Any element from almost any namespace + + + + + + + + + + + + + + + +
+ + + + Designates the computer or chip architecture to which the element applies + + + + + + Designates the intended audience to which the element applies, for example, system administrators, programmers, or new users. + + + + + + provides a standard place for application-specific effectivity + + + + + + Indicates standards conformance characteristics of the element + + + + + + Indicates the operating system to which the element is applicable + + + + + + Indicates the editorial revision to which the element belongs + + + + + + Indicates something about the security level associated with the element to which it applies + + + + + + Indicates the level of user experience for which the element applies + + + + + + Indicates the computer vendor to which the element applies. + + + + + + Indicates the word size (width in bits) of the computer architecture to which the element applies + + + + + + Indicates the output format (for example, print or epub) to which the element applies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Points to the element whose content is to be used as the text of the link + + + + + + + Points to an internal link target by identifying the value of its xml:id attribute + + + + + + + Points to one or more internal link targets by identifying the value of their xml:id attributes + + + + + + + Identifies a link target with a URI + + + + + + + Identifies the XLink link type + simple + An XLink simple link type + + + + + + Identifies the XLink role of the link + + + + + + + Identifies the XLink arcrole of the link + + + + + + + Identifies the XLink title of the link + + + + + + new + An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context. + replace + An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded. + embed + An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource. + other + The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink show behavior of the link + + + + + + + onLoad + An application should traverse to the ending resource immediately on loading the starting resource. + onRequest + An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal. + other + The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink actuate behavior of the link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the unique ID value of the element + + + + + + + Specifies the DocBook version of the element and its descendants + + + + + + Specifies the natural language of the element and its descendants + + + + + + Specifies the base URI of the element and its descendants + + + + + + + Provides the name or similar semantic identifier assigned to the content in some previous markup scheme + + + + + + Provides the text that is to be generated for a cross reference to the element + + + + + + Specifies a keyword or keywords identifying additional style information + + + + + + changed + The element has been changed. + added + The element is new (has been added to the document). + deleted + The element has been deleted. + off + Explicitly turns off revision markup for this element. + + + + + + Identifies the revision status of the element + + + + + + + ltr + Left-to-right text + rtl + Right-to-left text + lro + Left-to-right override + rlo + Right-to-left override + + + + + + Identifies the direction of text in an element + + + + + + + The RDFa Lite vocab + + + + + + + The RDFa Lite typeof + + + + + + The RDFa Lite property + + + + + + The RDFa Lite resource + + + + + + The RDFa Lite prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the format of the data + + + + + Indentifies the location of the data by URI + + + + Identifies the location of the data by external identifier (entity name) + + + + + + + + continues + Line numbering continues from the immediately preceding element with the same name. + restarts + Line numbering restarts (begins at 1, usually). + + + + + + Determines whether line numbering continues from the previous element or restarts. + + + + + + + numbered + Lines are numbered. + unnumbered + Lines are not numbered. + + + + + + Determines whether lines are numbered. + + + + + + + Specifies the initial line number. + + + + + + + Identifies the language (i.e. programming language) of the verbatim content. + + + + + + Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not. + preserve + Whitespace must be preserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies an identifying string for presentation purposes + + + + + + Specifies the width (in characters) of the element + + + + + + + compact + The spacing should be "compact". + normal + The spacing should be "normal". + + + + + + Specifies (a hint about) the spacing of the content + + + + + + + 0 + The element should be rendered in the current text flow (with the flow column width). + 1 + The element should be rendered across the full text page. + + + + + + Indicates if the element is rendered across the column or the page + + + + + + + Identifies the language (i.e. programming language) of the content. + + + + + + optional + The content describes an optional step or steps. + required + The content describes a required step or steps. + + + + + + Specifies if the content is required or optional. + + + + + + + Specifies style information to be used when rendering the float + + + + + + Specifies the width of the element + + + + + + Specifies the depth of the element + + + + + + Specifies the width of the content rectangle + + + + + + Specifies the depth of the content rectangle + + + + + + 0 + False (do not scale-to-fit; anamorphic scaling may occur) + 1 + True (scale-to-fit; anamorphic scaling is forbidden) + + + + + + Specifies the scaling factor + + + + + + + Specifies a classid for a media object player + + + + + + Specifies the autoplay setting for a media object player + + + + + + center + Centered horizontally + char + Aligned horizontally on the specified character + justify + Fully justified (left and right margins or edges) + left + Left aligned + right + Right aligned + + + + + + bottom + Aligned on the bottom of the region + middle + Centered vertically + top + Aligned on the top of the region + + + + + + doi + A digital object identifier. + isbn + An international standard book number. + isrn + An international standard technical report number (ISO 10444). + issn + An international standard serial number. + istc + An international standard text code. + libraryofcongress + A Library of Congress reference number. + pubsnumber + A publication number (an internal number or possibly organizational standard). + uri + A Uniform Resource Identifier + + + + + + + Identifies the kind of bibliographic identifier + + + + + + + + Identifies the nature of the non-standard bibliographic identifier + + + + + + + + Identifies the kind of bibliographic identifier + other + Indicates that the identifier is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text of the title of a section of a document or of a formal block-level element + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The abbreviation of a title + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The subtitle of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block without a title + + + + + + +
+ +
+ + + + + + + Identifies the controlled vocabulary used by this set's terms + + + + + + + + + + + + + + + + + + + + A set of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + Specifies a ranking for this subject relative to other subjects in the same set + + + + + + + + + + + + + + + + + + + One of a group of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A term in a group of terms describing the subject matter of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A set of keywords describing the content of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + One of a set of keywords describing the content of a document + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of operations to be performed in a well-defined sequence + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A unit of action in a procedure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + Alternative steps in a procedure + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for steps that occur within steps in a procedure + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for identifying the results of a procedure or step + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + A portion of a document that is isolated from the main narrative flow + + Element exclusion + + sidebar must not occur among the children or descendants of sidebar + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short description or note about a person + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A quotation set off from the main text + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The source of a block quote or epigraph + + + + + + + + + + + + +
+ +
+ + + sect1 + Render as a first-level section + sect2 + Render as a second-level section + sect3 + Render as a third-level section + sect4 + Render as a fourth-level section + sect5 + Render as a fifth-level section + + + + + + + Indicates how the bridge head should be rendered + + + + + + + + Identifies the nature of the non-standard rendering + + + + + + + + Indicates how the bridge head should be rendered + other + Identifies a non-standard rendering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A free-floating heading + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A remark (or comment) intended for presentation in a draft manuscript + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short inscription at the beginning of a document or component + + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the desired footnote mark + + + + + + + + + + + + + + + + + + + + A footnote + + Element exclusion + + footnote must not occur among the children or descendants of footnote + + + + Element exclusion + + example must not occur among the children or descendants of footnote + + + + Element exclusion + + figure must not occur among the children or descendants of footnote + + + + Element exclusion + + table must not occur among the children or descendants of footnote + + + + Element exclusion + + equation must not occur among the children or descendants of footnote + + + + Element exclusion + + sidebar must not occur among the children or descendants of footnote + + + + Element exclusion + + task must not occur among the children or descendants of footnote + + + + Element exclusion + + epigraph must not occur among the children or descendants of footnote + + + + Element exclusion + + caution must not occur among the children or descendants of footnote + + + + Element exclusion + + important must not occur among the children or descendants of footnote + + + + Element exclusion + + note must not occur among the children or descendants of footnote + + + + Element exclusion + + tip must not occur among the children or descendants of footnote + + + + Element exclusion + + warning must not occur among the children or descendants of footnote + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph with a title + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph that contains only text and inline markup, no block elements + + + + + + + +
+ +
+ + + + + + + Identifies the type of mark to be used on items in this list + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a bullet or other dingbat + + + + + + + + + + +
+ +
+ + + + + + + continues + Specifies that numbering should begin where the preceding list left off + restarts + Specifies that numbering should begin again at 1 + + + + + + Indicates how list numbering should begin relative to the immediately preceding list + + + + + + + Specifies the initial line number. + + + + + + + ignore + Specifies that numbering should ignore list nesting + inherit + Specifies that numbering should inherit from outer-level lists + + + + + + Indicates whether or not item numbering should be influenced by list nesting + + + + + + + arabic + Specifies Arabic numeration (1, 2, 3, …) + upperalpha + Specifies upper-case alphabetic numeration (A, B, C, …) + loweralpha + Specifies lower-case alphabetic numeration (a, b, c, …) + upperroman + Specifies upper-case Roman numeration (I, II, III, …) + lowerroman + Specifies lower-case Roman numeration (i, ii, iii …) + + + + + + Indicates the desired numeration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a sequentially incremented label + + + + + + + + + + +
+ +
+ + + + + + + Specifies the keyword for the type of mark that should be used on this + item, instead of the mark that would be used by default + + + + + + + + + + + + + + + + + + + + A wrapper for the elements of a list item + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A segmented list, a list of sets of elements + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A list item in a segmented list + + Cardinality of segments and titles + + The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + horiz + A tabular presentation in row-major order. + vert + A tabular presentation in column-major order. + inline + An inline presentation, usually a comma-delimited list. + + + + + + Specifies the type of list presentation. + + + + + + + Specifies the number of columns for horizontal or vertical presentation + + + + + + + + + + + + + + + + + + + + + + + An undecorated list of single words or short phrases + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a simple list + + + + + + +
+ +
+ + + + + + + Indicates a length beyond which the presentation system may consider a term too long and select an alternate presentation for that term, item, or list + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is composed of a set of one or more terms and an associated description + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for a set of terms and the associated description in a variable list + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The word or phrase being defined or described in a variable list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal example, with a title + + Element exclusion + + example must not occur among the children or descendants of example + + + + Element exclusion + + figure must not occur among the children or descendants of example + + + + Element exclusion + + table must not occur among the children or descendants of example + + + + Element exclusion + + equation must not occur among the children or descendants of example + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed example without a title + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + monospaced + The literal layout should be formatted with a monospaced font + normal + The literal layout should be formatted with the current font + + + + + + Specifies the class of literal layout + + + + + + + + + + + + + + + + + + + + + A block of text in which line breaks and white space are to be reproduced faithfully + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + Text that a user sees or might see on a computer screen + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A representation of what the user sees or might see on a computer screen + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal figure, generally an illustration, with a title + + Element exclusion + + example must not occur among the children or descendants of figure + + + + Element exclusion + + figure must not occur among the children or descendants of figure + + + + Element exclusion + + table must not occur among the children or descendants of figure + + + + Element exclusion + + equation must not occur among the children or descendants of figure + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A untitled figure + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A displayed media object (video, audio, image, etc.) + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline media object (video, audio, image, and so on) + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for video data and its associated meta-information + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for audio data and its associated meta-information + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for image data and its associated meta-information + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a text description of an object and its associated meta-information + + + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external video data + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external audio data + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the image data + + + + + + + + + + + Specifies the vertical alignment of the image data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external image data + + + + +
+ +
+ + + + + + + Identifies the encoding of the text in the external file + + + + + + + + + + + + + + + + + + + + + + + Pointer to external text data + + + + +
+ +
+ + + + + + + Specifies the name of the parameter + + + + + + Specifies the value of the parameter + + + + + + Specifies the type of the value of the parameter + + + + + + + + + + + + + + + + + + + + Application specific parameters for a media player + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A real-world address, generally a postal address + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A street address in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A post office box in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A postal code in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a city in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A state or province in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a country + + + + +
+ +
+ + + + + + + + + + + + + + + + + A telephone number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A fax number + + + + +
+ +
+ + + + + + + + + + + + + + + + + Uncategorized information in address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The institutional affiliation of an individual + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A brief description of an affiliation + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an individual in an organization + + + + +
+ +
+ + + consortium + A consortium + corporation + A corporation + informal + An informal organization + nonprofit + A non-profit organization + + + + + + Specifies the nature of the organization + + + + + + + Specifies the nature of the organization + other + Indicates a non-standard organization class + + + Identifies the non-standard nature of the organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name of an organization + + + + +
+ +
+ + + + + + + + + + + + + + + + + A division of an organization + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The page numbers of an article as published + + + + +
+ +
+ + + + + + + + + + + + + + + + + The personal name of an individual + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The name of an individual author + + + + +
+ +
+ + + + + + + + + + + + + + + + + Wrapper for author information when a document has multiple authors or collaborators + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Identifies a collaborator + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The initials or other short identifier for an author + + + + +
+ +
+ + + + + + + + + + + + + + + + + A person and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An organization and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for document meta-information about a conference + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The dates of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + An identifier, frequently numerical, associated with a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The contract number of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a contract + + + + +
+ +
+ + + + + + + + + + + + + + + + + Copyright information about a document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The year of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the individual or organization that holds a copyright + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + Additional content for the cover of a publication + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The date of publication or revision of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name or number of an edition of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the editor of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + An identifier for a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A citation of a bibliographic identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The source of a document + + + + +
+ +
+ + + hasformat + The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format + haspart + The described resource includes the referenced resource either physically or logically + hasversion + The described resource has a version, edition, or adaptation, namely, the referenced resource + isformatof + The described resource is the same intellectual content of the referenced resource, but presented in another format + ispartof + The described resource is a physical or logical part of the referenced resource + isreferencedby + The described resource is referenced, cited, or otherwise pointed to by the referenced resource + isreplacedby + The described resource is supplanted, displaced, or superceded by the referenced resource + isrequiredby + The described resource is required by the referenced resource, either physically or logically + isversionof + The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format + references + The described resource references, cites, or otherwise points to the referenced resource + replaces + The described resource supplants, displaces, or supersedes the referenced resource + requires + The described resource requires the referenced resource to support its function, delivery, or coherence of content + + + + + + + Identifies the type of relationship + + + + + + + + + Identifies the type of relationship + othertype + The described resource has a non-standard relationship with the referenced resource + + + + A keyword that identififes the type of the non-standard relationship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The relationship of a document to another + + + + +
+ +
+ + + dcmipoint + The DCMI Point identifies a point in space using its geographic coordinates + iso3166 + ISO 3166 Codes for the representation of names of countries + dcmibox + The DCMI Box identifies a region of space using its geographic limits + tgn + The Getty Thesaurus of Geographic Names + + + + + + + Specifies the type of spatial coverage + + + + + + + + + Specifies the type of spatial coverage + otherspatial + Identifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + dcmiperiod + A specification of the limits of a time interval + w3c-dtf + W3C Encoding rules for dates and times—a profile based on ISO 8601 + + + + + + + Specifies the type of temporal coverage + + + + + + + + + Specifies the type of temporal coverage + othertemporal + Specifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The spatial or temporal coverage of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A statement of legal obligations or requirements + + + + + + + +
+ +
+ + + copyeditor + A copy editor + graphicdesigner + A graphic designer + productioneditor + A production editor + technicaleditor + A technical editor + translator + A translator + indexer + An indexer + proofreader + A proof-reader + coverdesigner + A cover designer + interiordesigner + An interior designer + illustrator + An illustrator + reviewer + A reviewer + typesetter + A typesetter + conversion + A converter (a persons responsible for conversion, not an application) + + + + + + + Identifies the nature of the contributor + + + + + + + + Identifies the nature of the non-standard contribution + + + + + + + + Identifies the nature of the contributor + other + Identifies a non-standard contribution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A person or entity, other than an author or editor, credited in a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The numbers of the pages in a book, for use in a bibliographic entry + + + + +
+ +
+ + + + + + + + + + + + + + + + + A summary of the contributions made to a document by a credited source + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + A given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + The given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inherited or family name; in western cultures the last name + + + + +
+ +
+ + + + + + + + + + + + + + + + + The portion of a person's name indicating a relationship to ancestors + + + + +
+ +
+ + + + + + + + + + + + + + + + + A component of a person's name that is not a first name, surname, or lineage + + + + +
+ +
+ + + + + + + + + + + + + + + + + The printing history of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The date of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The publisher of a document + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the publisher of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a particular release of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A history of the revisions to a document + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry describing a single revision in the history of the revisions to a document + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A document revision number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of a revision to a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A extended description of a revision to a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Numbers of the volumes in a series of books + + + + +
+ +
+ + + + + + + + + + + + + + + + + The volume number of a document in a set (as of books in a set or articles in a journal) + + + + +
+ +
+ + + + + + + + + + + + + + + + + The number of an issue of a journal + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software or application package + + + + +
+ +
+ + + + + + + + + + + + + + + + + An email address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A comment on a line in a verbatim listing + + + + +
+ +
+ + + command + A command + function + A function + option + An option + + + + + + Identifies the class of parameter + + + + + + + + + + + + + + + + + + + + + + + + A value or a symbolic reference to a value + + + + +
+ + + + + + + + +
+ + + command + A command + function + A function + option + An option + parameter + A parameter + + + + + + Identifies the nature of the replaceable text + + + + + + + + + + + + + + + + + + + + + + + + Content that may or must be replaced by the user + + + + + + +
+ +
+ + + + Identifies the type of URI specified + + + + + + + + + + + + + + + + + + + + + + A Uniform Resource Identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + An abbreviation, especially one followed by a period + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An often pronounceable word made from the initial (or selected) letters of a name or phrase + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline bibliographic reference to another published work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A citation to a reference page + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference volume number + + + + +
+ +
+ + + article + An article + bbs + A bulletin board system + book + A book + cdrom + A CD-ROM + chapter + A chapter (as of a book) + dvd + A DVD + emailmessage + An email message + gopher + A gopher page + journal + A journal + manuscript + A manuscript + newsposting + A posting to a newsgroup + part + A part (as of a book) + refentry + A reference entry + section + A section (as of a book or article) + series + A series + set + A set (as of books) + webpage + A web page + wiki + A wiki page + + + + + + Identifies the nature of the publication being cited + + + + + + + + + + + + + + + + + + + + + + + + The title of a cited work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Emphasized text + + + + + + +
+ +
+ + + A limited span of emphasized text + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word or phrase in a language other than the primary language of the document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited word or phrase in a language other than the primary language of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A span of text + + + + + + +
+ +
+ + + A limited span of text + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline quotation + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited inline quotation + + + + +
+ +
+ + + + + + + + + + + + + + + + + A subscript (as in H2 +O, the molecular formula for water) + + + + +
+ +
+ + + + + + + + + + + + + + + + + A superscript (as in x2 +, the mathematical notation for x multiplied by itself) + + + + +
+ +
+ + + copyright + A copyright + registered + A registered copyright + service + A service + trade + A trademark + + + + + + Identifies the class of trade mark + + + + + + + + + + + + + + + + + + + + + + + + A trademark + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word meant specifically as a word and not representing anything else + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a footnote (a footnote mark) + + Footnote reference type constraint + + @linkend on footnoteref must point to a footnote. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross reference to another part of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A hypertext link + + + + + + +
+ +
+ + + + + + + + + + + Holds additional information that may be used by the application when resolving the link + + + + + + Specifies the URI of the document in which the link target appears + + + + + + + Specifies the location of the link target in the document + + + + + + Identifies application-specific customization of the link behavior + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A link that addresses its target indirectly + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A spot in the document + + + + +
+ +
+ + + + + + + + + + + + + + + + A text-only annotation, often used for accessibility + + + + + + + + + +
+ + + + Identifies the editorial or publication status of the element on which it occurs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of books + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A book + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The dedication of a book or other component + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledgements of a book or other component + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text at the back of a book describing facts about its production + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An appendix in a book or article + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A chapter, as of a book + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a book + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Introductory matter preceding the first chapter of a book + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An introduction to the contents of a part + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a document with no subdivisions + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + faq + A collection of frequently asked questions. + journalarticle + An article in a journal or other periodical. + productsheet + A description of a product. + specification + A specification. + techreport + A technical report. + whitepaper + A white paper. + + + + + + Identifies the nature of the article + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An article + + + + + + + + + + + + + + + + + + + + + +
+ + + + Identifies one or more annotations that apply to this element + + + +
+ + + + + + + Identifies one ore more elements to which this annotation applies + + + + + + + + + + + + + + + + + + + + + + An annotation + + Element exclusion + + annotation must not occur among the children or descendants of annotation + + + + + + + + + +
+ + + + Identifies the XLink extended link type + + XLink extended placement + + An XLink extended type element may not occur as the direct child of an XLink extended type element. + + + extended + An XLink extended link type + + + + + + Identifies the XLink locator link type + + XLink locator placement + + An XLink locator type element must occur as the direct child of an XLink extended type element. + + + locator + An XLink locator link type + + + + + + Identifies the XLink arc link type + + XLink arc placement + + An XLink arc type element must occur as the direct child of an XLink extended type element. + + + arc + An XLink arc link type + + + + + + Identifies the XLink resource link type + + XLink resource placement + + An XLink resource type element must occur as the direct child of an XLink extended type element. + + + resource + An XLink resource link type + + + + + + Identifies the XLink title link type + + XLink title placement + + An XLink title type element must occur as the direct child of an XLink extended, locator, or arc type element. + + + title + An XLink title link type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the XLink traversal-from + + + + + + + Specifies the XLink label + + + + + + + Specifies the XLink traversal-to + + + + +
+ + + + + + + + + + + + + Identifies the XLink link type + extended + An XLink extended link + + + + + + + + + + + + + + An XLink extended link + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + locator + An XLink locator link + + + + + + + + + + + + + + + + + + An XLink locator in an extendedlink + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + arc + An XLink arc link + + + + + + + + + + + + + + + + + + + + + + + + + + An XLink arc in an extendedlink + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A top-level section of document + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect1 + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect2 + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect3 + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect4 + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of reference entries + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A reference page (originally a UNIX man-style reference page) + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Meta-information for a reference entry + + + + + + + + + + + + + + + + +
+ + + + source + The name of the software product or component to which this topic applies + version + The version of the software product or component to which this topic applies + manual + The section title of the reference page (e.g., User Commands) + sectdesc + The section title of the reference page (believed synonymous with "manual" but in wide use) + software + The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use) + + + + + + + Identifies the kind of miscellaneous information + + + + + + + + Identifies the nature of non-standard miscellaneous information + + + + + + + Identifies the kind of miscellaneious information + other + Indicates that the information is some 'other' kind. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + Meta-information for a reference entry other than the title and volume number + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name, purpose, and classification of a reference page + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of (one of) the subject(s) of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A short (one sentence) synopsis of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The scope or other indication of applicability of a reference entry + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A syntactic synopsis of the subject of the reference page + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section in a refentry + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A major subsection of a reference entry + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect1 + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect2 + + + + + + + +
+ + + + + + + + + + + + + + Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form. + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of glossary entries + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the string by which the element's content is to be sorted; if unspecified, the content is used + + + + + + + + + + + + + + + + + + + An entry in a glossary or glosslist + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a list of keywords for the definition + + + + + + + + + + + + + + + + + + + A definition in a glossentry + + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry + to another + + Glosssary 'see' type constraint + + @otherterm on glosssee must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry to another + + Glossary 'seealso' type constraint + + @otherterm on glossseealso must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term, with limited content + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A glossary + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a glossary + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline definition of a term + + Glossary term definition constraint + + A termdef must contain exactly one firstterm + + + + + + + + +
+ + + + Identifies the relationship between the bibliographic elemnts + + + +
+ + + + + + + + + + + + + + + + + A raw entry in a bibliography + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cooked entry in a bibliography + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A raw container for related bibliographic information + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cooked container for related bibliographic information + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Untyped bibliographic information + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A bibliography + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a bibliography + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of bibliography entries + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + The units (for example, pages) used to identify the beginning and ending of a reference. + + + + + + + Identifies the beginning of a reference; the location within the work that is being referenced. + + + + + + + Identifies the end of a reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross-reference to a bibliographic entry + + + + +
+ + + + normal + Normal + preferred + Preferred + + + + + + Specifies the significance of the term + + + + + + + Specifies the IDs of the elements to which this term applies + + + + + + + Indicates the page on which this index term occurs in some version of the printed document + + + + + + all + All indexes + global + The global index (as for a combined index of a set of books) + local + The local index (the index for this document only) + + + + + + Specifies the scope of the index term + + + + + + + Specifies the string by which the term is to be sorted; if unspecified, the term content is used + + + + + + Specifies the target index for this term + + + +
+ + + + + + + + + + + + + + + + + A set of index terms in the meta-information of a document + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + Identifies the class of index term + singular + A singular index term + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term + + + + +
+ +
+ + + + + + + Identifies the class of index term + startofrange + The start of a range + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term that covers a range + + + + +
+ +
+ + + + + + + Identifies the class of index term + endofrange + The end of a range + + + + + + Points to the start of the range + + + + + + + + + + + + + + + + + + + Identifies the end of a range associated with an indexed term + + Indexterm 'startref' type constraint + + @startref on indexterm must point to an indexterm. + @startref on indexterm must point to a startofrange indexterm. + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The primary word or phrase under which an index term should be sorted + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A secondary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A tertiary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader instead to another entry in the index + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader also to another entry in the index + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a book or part of a book + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a set of books + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in an index + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry in an index + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A primary term in an index entry, not in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A secondary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A tertiary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See +entry in an index, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See also + entry in an index, rather than in the text + + + + + + +
+ + + + Indicates the page on which this element occurs in some version of the printed document + + + +
+ + + + + + + + + + + + + + + + + + + + + A table of contents + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a table of contents + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + A component title in a table of contents + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + A task to be completed + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary of a task + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The prerequisites for a task + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Information related to a task + + + + + + + +
+ + + + calspair + Coordinates expressed as a pair of CALS graphic coordinates. + linecolumn + Coordinates expressed as a line and column. + linecolumnpair + Coordinates expressed as a pair of lines and columns. + linerange + Coordinates expressed as a line range. + + + + + + + Identifies the units used in the coords attribute. The default units vary according to the type of callout specified: calspair + for graphics and linecolumn + for line-oriented elements. + + + + + + + + + Indicates that non-standard units are used for this area +. In this case otherunits + must be specified. + other + Coordinates expressed in some non-standard units. + + + + Identifies the units used in the coords + attribute when the units + attribute is other +. This attribute is forbidden otherwise. + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of callout +s + + + + + + + + + + +
+ +
+ + + + + + + Identifies the areas described by this callout. + + + + + + + + + + + + + + + + + A called out + description of a marked area + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A program listing with associated areas used in callouts + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A collection of regions in a graphic or code example + + + + + + + + + +
+ +
+ + + + + + + Point to the callout +s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.) + + + + + + + Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute. + + + + + + Provides the coordinates of the area. The coordinates must be interpreted using the units + specified. + + + + + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of related areas in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A screen with associated areas used in callouts + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for an image object with callouts + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The location of a callout embedded in text + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a co + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A set of EBNF productions + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A production in a set of EBNF productions + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The left-hand side of an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + The right-hand side of an EBNF production + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a URI that points to a production +where the nonterminal + is defined + + + + + + + + + + + + + + + + + + A non-terminal in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A constraint in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cross-reference to an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The definition of a constraint in an EBNF production + + + + + + + +
+ + + + Specifies the alignment character when align + is set to char +. + + + + + + Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in char + when align + is set to char +. + + 0 + 100 + + + + + + + Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table. + + all + Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders. + bottom + Frame only the bottom of the table. + none + Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well. + sides + Frame the left and right sides of the table. + top + Frame the top of the table. + topbot + Frame the top and bottom of the table. + + + + + + + Specifies the presence or absence of the column separator + + 0 + No column separator rule. + 1 + Provide a column separator rule on the right + + + + + + + Specifies the presence or absence of the row separator + + 0 + No row separator rule. + 1 + Provide a row separator rule below + + + + + + + Specifies the orientation of the table + + land + 90 degrees counter-clockwise from the rest of the text flow. + port + The same orientation as the rest of the text flow. + + + + + + + Specifies the table style + + + + + + Indicates whether or not the entries in the first column should be considered row headers + + firstcol + Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers). + headers + Indicates that row headers are identified by use of the headers attribute on entries in the table. + norowheader + Indicates that entries in the first column have no special significance with respect to column headers. + + + + + + + Specifies the horizontal alignment of text in an entry. + + center + Centered. + char + Aligned on a particular character. + justify + Left and right justified. + left + Left justified. + right + Right justified. + + + + + + + Specifies the vertical alignment of text in an entry. + + bottom + Aligned on the bottom of the entry. + middle + Aligned in the middle. + top + Aligned at the top of the entry. + + + + + + + Specifies a column specification by name. + + + + + + Specifies a starting column by name. + + + + + + Specifies a span by name. + + + + + + + Specifies a starting column by name. + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + Provides a name for a column specification. + + + + + + Provides a name for a span specification. + + + +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for the main content of a table, or part of a table + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one. + + + + + + + Specifies the width of the column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifications for a column in a table + + + + +
+ +
+ + + + + + + Specifies a starting column by name. + + + + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Formatting information for a spanned column in a table + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table footer consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + + + + +
+ +
+ + + + + + + Specifies the number of additional rows which this entry occupies. Defaults to zero. + + + + + + + Specifies the rotation of this entry. A value of 1 (true) rotates the cell 90 degrees counter-clockwise. A value of 0 (false) leaves the cell unrotated. + + 0 + Do not rotate the cell. + 1 + Rotate the cell 90 degrees counter-clockwise. + + + + + + + Specifies the scope of a header. + + row + Applies to the row + col + Applies to the column + rowgroup + Applies to the row group + colgroup + Applies to the column group + + + + + + + Specifies the entry or entries which serve as headers for this element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cell in a table + + Element exclusion + + table must not occur among the children or descendants of entry + + + + Element exclusion + + informaltable must not occur among the children or descendants of entry + + + + + + + + + + + + + +
+ +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the entry table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subtable appearing in place of an entry in a table + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates if the short or long title should be used in a List of Tables + + 0 + Indicates that the full title should be used. + 1 + Indicates that the short short title (titleabbrev) should be used. + + + + + + Indicates if the table should appear in a List of Tables + + 0 + Indicates that the table should not occur in the List of Tables. + 1 + Indicates that the table should appear in the List of Tables. + + + + + + + + + + + + + + + + A formal table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A table without a title + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters. + + + + + This attribute specifies style information for the current element. + + + + + This attribute offers advisory information about the element for which it is set. + + + + + + + + + This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown. + + + + + + + + + Occurs when the pointing device button is clicked over an element. + + + + + Occurs when the pointing device button is double clicked over an element. + + + + + Occurs when the pointing device button is pressed over an element. + + + + + Occurs when the pointing device button is released over an element. + + + + + Occurs when the pointing device is moved onto an element. + + + + + Occurs when the pointing device is moved while it is over an element. + + + + + Occurs when the pointing device is moved away from an element. + + + + + Occurs when a key is pressed and released over an element. + + + + + Occurs when a key is pressed down over an element. + + + + + Occurs when a key is released over an element. + + + + + + + + + + + + + + + + + + + Specifies the alignment of data and the justification of text in a cell. + + left + Left-flush data/Left-justify text. This is the default value for table data. + center + Center data/Center-justify text. This is the default value for table headers. + right + Right-flush data/Right-justify text. + justify + Double-justify text. + char + Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified. + + + + + + This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute. + + + + + When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute. + + + An explicit offset. + + [0-9]+% + + A percentage offset. + + + + + + + + + + Specifies the vertical position of data within a cell. + + top + Cell data is flush with the top of the cell. + middle + Cell data is centered vertically within the cell. This is the default value. + bottom + Cell data is flush with the bottom of the cell. + baseline + All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells. + + + + + + + + + + Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille. + + + + + Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent. + + + An explicit width. + + [0-9]+% + + A percentage width. + + + + + + Specifies the width (in pixels only) of the frame around a table. + + + + + + Specifies which sides of the frame surrounding a table will be visible. + + void + No sides. This is the default value. + above + The top side only. + below + The bottom side only. + hsides + The top and bottom sides only. + lhs + The left-hand side only. + rhs + The right-hand side only. + vsides + The right and left sides only. + box + All four sides. + border + All four sides. + + + + + + Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent. + + none + No rules. This is the default value. + groups + Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only. + rows + Rules will appear between rows only. + cols + Rules will appear between columns only. + all + Rules will appear between all rows and columns. + + + + + + Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells. + + + An explicit spacing. + + [0-9]+% + + A percentage spacing. + + + + + + Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space. + + + An explicit padding. + + [0-9]+% + + A percentage padding. + + + + + + + + + + + Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content. + + + + + This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details. + + + + + Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets. + + + + + Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables. + + row + The current cell provides header information for the rest of the row that contains it + col + The current cell provides header information for the rest of the column that contains it. + rowgroup + The header cell provides header information for the rest of the row group that contains it. + colgroup + The header cell provides header information for the rest of the column group that contains it. + + + + + + Specifies the number of rows spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all rows from the current row to the last row of the table section (thead +, tbody +, or tfoot +) in which the cell is defined. + + + + + + Specifies the number of columns spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all columns from the current column to the last column of the column group (colgroup +) in which the cell is defined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal (captioned) HTML table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An HTML table without a title + + + + +
+ +
+ + + + + + + An HTML table caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + + + + + +
+ +
+ + + + + + This attribute, whose value must be an integer > 0, specifies the number of columns spanned + by the col + element; the col + element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current col + element shares its attributes with the next N-1 columns. + + + + + + Specifies a default width for each column spanned by the current col + element. It has the same meaning as the width + attribute for the colgroup + element and overrides it. + + + + + + + + + + Specifications for a column in an HTML table + + + + +
+ +
+ + + + + + This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each colgroup + defines a column group containing one column. If the span attribute is set to N > 0, the current colgroup + element defines a column group containing N columns. User agents must ignore this attribute if the colgroup + element contains one or more col + elements. + + + + + + This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form 0* + (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying 0* + will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a col + element. + + + + + + + + + + A group of columns in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table header consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table footer consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A wrapper for the rows of an HTML table or informal HTML table + + + + + + +
+ +
+ + + + + + + + + + + A row in an HTML table + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table header entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A detailed set of messages, usually error messages + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for an entry in a message set + + + + + + + + + + + + +
+ +
+ + + + + + + The audience to which the message relevant + + + + + + The origin of the message + + + + + + The level of importance or severity of a message + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for a simpler entry in a message set + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A message in a message set + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The primary component of a message in a message set + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A subcomponent of a message in a message set + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A related component of a message in a message set + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The actual text of a message component in a message set + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a message in a message set + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The level of importance or severity of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The origin of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The audience to which a message in a message set is relevant + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Explanatory material relating to a message in a message set + + + + + + + +
+ +
+ + + + + + + none + No labels + number + Numeric labels + qanda + "Q:" and "A:" labels + + + + + + Specifies the default labelling + + + + + + + + + + + + + + + + + + + + + + + + A question-and-answer set + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A titled division in a qandaset + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A question/answer set within a qandaset + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A question in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An answer to a question posed in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A label on a question or answer + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation + + Element exclusion + + example must not occur among the children or descendants of equation + + + + Element exclusion + + figure must not occur among the children or descendants of equation + + + + Element exclusion + + table must not occur among the children or descendants of equation + + + + Element exclusion + + equation must not occur among the children or descendants of equation + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation without a title + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical equation or expression occurring inline + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical phrase that can be represented with ordinary text and a small amount of markup + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is MathML + mathml + Specifies MathML. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A MathML expression in a media object + + + + + + + +
+ +
+ + + Any element from the MathML namespace + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is SVG + svg + Specifies SVG. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An SVG drawing in a media object + + + + + + + +
+ +
+ + + Any element from the SVG namespace + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A string of formatting markup in text that is to be represented literally + + + + +
+ +
+ + + + + + + attribute + An attribute + attvalue + An attribute value + element + An element + emptytag + An empty element tag + endtag + An end tag + genentity + A general entity + localname + The local name part of a qualified name + namespace + A namespace + numcharref + A numeric character reference + paramentity + A parameter entity + pi + A processing instruction + prefix + The prefix part of a qualified name + comment + An SGML comment + starttag + A start tag + xmlpi + An XML processing instruction + + + + + + Identifies the nature of the tag content + + + + + + + Identifies the namespace of the tag content + + + + + + + + + + + + + + + + + + + + + + + A component of XML (or SGML) markup + + + + + + + + + +
+ +
+ + + Identifies the class of symbol + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A name that is replaced by a value before processing + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of information + + + + +
+ +
+ + + + + + + + + + + + + + + + + Inline text that is some literal value + + + + +
+ +
+ + + Identifies the (computer) language of the code fragment + + + + + + + + + + + + + + + + + + + + + + + An inline code fragment + + + + + + + + + +
+ +
+ + + Identifies the class of constant + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A programming or system constant + + + + +
+ +
+ + + + + + + copyright + A name with a copyright + registered + A name with a registered copyright + service + A name of a service + trade + A name which is trademarked + + + + + + Specifies the class of product name + + + + + + + + + + + + + + + + + + + + The formal name of a product + + + + +
+ +
+ + + + + + + + + + + + + + + + + A number assigned to a product + + + + +
+ +
+ + + altkey + An alternate or secondary key + constraint + A constraint + datatype + A data type + field + A field + foreignkey + A foreign key + group + A group + index + An index + key1 + The first or primary key + key2 + An alternate or secondary key + name + A name + primarykey + The primary key + procedure + A (stored) procedure + record + A record + rule + A rule + secondarykey + The secondary key + table + A table + user + A user + view + A view + + + + + + Identifies the class of database artifact + + + + + + + + + + + + + + + + + + + + + + + + The name of a database, or part of a database + + + + +
+ +
+ + + hardware + A hardware application + software + A software application + + + + + + Identifies the class of application + + + + + + + + + + + + + + + + + + + + + + + + The name of a software program + + + + +
+ +
+ + + + + + + + + + + + + + + + + A physical part of a computer system + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text on a button in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Graphic and/or text appearing as a icon in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The text of a label in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a menu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a terminal menu item in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a submenu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A selection or series of selections from a menu + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The conventional name of a mouse button + + + + +
+ + + + + + + + + + + + +
+ + + alt + The "Alt" key + altgr + The "Alt Graph" key + backspace + The "Backspace" key + command + The "Command" key + control + The "Control" key + delete + The "Delete" key + down + The down arrow + end + The "End" key + enter + The "Enter" key + escape + The "Escape" key + home + The "Home" key + insert + The "Insert" key + left + The left arrow + meta + The "Meta" key + option + The "Option" key + pagedown + The page down key + pageup + The page up key + right + The right arrow + return + The "Return" key + shift + The "Shift" key + space + The spacebar + tab + The "Tab" key + up + The up arrow + + + + + + + Identifies the function key + + + + + + + + + Identifies the function key + other + Indicates a non-standard function key + + + + Specifies a keyword that identifies the non-standard key + + + + + + + + + + + + + + + + + + + + + + + + + + + + The text printed on a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + The internal, frequently numeric, identifier for a key on a keyboard + + + + +
+ + + + + + + + + + + + +
+ + + click + A (single) mouse click. + double-click + A double mouse click. + press + A mouse or key press. + seq + Sequential clicks or presses. + simul + Simultaneous clicks or presses. + + + + + + + Identifies the nature of the action taken. If keycombo + contains more than one element, simul + is the default, otherwise there is no default. + + + + + + + + + Identifies the nature of the action taken + other + Indicates a non-standard action + + + + Identifies the non-standard action in some unspecified way. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A combination of input actions + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The symbolic name of a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + A graphical user interface (GUI) keyboard shortcut + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + A key combination for an action that is also accessible through a menu + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A character or string indicating the start of an input field in a computer display + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software environment variable + + + + +
+ +
+ + + devicefile + A device + directory + A directory + extension + A filename extension + headerfile + A header file (as for a programming language) + libraryfile + A library file + partition + A partition (as of a hard disk) + symlink + A symbolic link + + + + + + Identifies the class of filename + + + + + + + Specifies the path of the filename + + + + + + + + + + + + + + + + + + + + + + + + + + The name of a file + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an executable program or other software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data, generally text, displayed or presented by a computer + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data entered by the user + + + + + + +
+ +
+ + + + + + + Specifies the character that should separate the command and its top-level arguments + + + + + + Indicates the displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A syntax summary for a software command + + + + + + + + + + + + + + + +
+ + + + norepeat + Can not be repeated. + repeat + Can be repeated. + + + + + + Indicates whether or not repetition is possible. + + + + + + + opt + Formatted to indicate that it is optional. + plain + Formatted without indication. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + Indicates optionality. + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An argument in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A group of elements in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + An explicit line break in a command synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + A portion of a cmdsynopsis broken out from the main body of the synopsis + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference to a fragment of a command synopsis + + Synopsis fragment type constraint + + @linkend on synopfragmentref must point to a synopfragment. + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + A general-purpose element for representing the syntax of commands or functions + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a function definition + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the funcdefs of a funcsynopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + The prototype of a function + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A function (subroutine) name and its return type + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a function or subroutine, as in a programming language + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating that the function in question takes no arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating a variable number of arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of parameters + + + + + + + + + +
+ +
+ + + + + + + opt + Formatted to indicate that it is optional. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + + + + + + + + + + + + + + Information about a function parameter in a programming language + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Parameters for a function referenced through a function pointer in a synopsis + + + + +
+ +
+ + + + + + + class + This is the synopsis of a class + interface + This is the synopsis of an interface + + + + + + Specifies the nature of the synopsis + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a class definition + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the contents of a classsynopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + A class in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An interface in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An exception in an object-oriented programming language + + + + + + + + + + +
+ + + + Can be used to indicate that whitespace in the modifier should be preserved (for multi-line annotations, for example). + preserve + Extra whitespace and line breaks must be preserved. + + + + +
+ + + + + + + + + + + + + + + + + + + + Modifiers in a synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an interface + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an exception + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The name of a field in a class definition + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + The initializer for a fieldsynopsis + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a constructor + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a destructor + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a method + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a method + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameters to a method + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of method parameters + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a variable + + + + +
+ +
+ + + + + + + + + + + + + + + + + The value returned by a function + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of a value + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a class, in the object-oriented programming sense + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + A literal listing of all or part of a program + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A note of caution + + Element exclusion + + caution must not occur among the children or descendants of caution + + + + Element exclusion + + important must not occur among the children or descendants of caution + + + + Element exclusion + + note must not occur among the children or descendants of caution + + + + Element exclusion + + tip must not occur among the children or descendants of caution + + + + Element exclusion + + warning must not occur among the children or descendants of caution + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of important + + + + Element exclusion + + important must not occur among the children or descendants of important + + + + Element exclusion + + note must not occur among the children or descendants of important + + + + Element exclusion + + tip must not occur among the children or descendants of important + + + + Element exclusion + + warning must not occur among the children or descendants of important + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A message set off from the text + + Element exclusion + + caution must not occur among the children or descendants of note + + + + Element exclusion + + important must not occur among the children or descendants of note + + + + Element exclusion + + note must not occur among the children or descendants of note + + + + Element exclusion + + tip must not occur among the children or descendants of note + + + + Element exclusion + + warning must not occur among the children or descendants of note + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A suggestion to the user, set off from the text + + Element exclusion + + caution must not occur among the children or descendants of tip + + + + Element exclusion + + important must not occur among the children or descendants of tip + + + + Element exclusion + + note must not occur among the children or descendants of tip + + + + Element exclusion + + tip must not occur among the children or descendants of tip + + + + Element exclusion + + warning must not occur among the children or descendants of tip + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of warning + + + + Element exclusion + + important must not occur among the children or descendants of warning + + + + Element exclusion + + note must not occur among the children or descendants of warning + + + + Element exclusion + + tip must not occur among the children or descendants of warning + + + + Element exclusion + + warning must not occur among the children or descendants of warning + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + An error code + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error name + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error message. + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of an error message + + + + +
+ + + + + + + + +
+ + + daemon + A daemon or other system process (syslogd) + domainname + A domain name (example.com) + etheraddress + An ethernet address (00:05:4E:49:FD:8E) + event + An event of some sort (SIGHUP) + eventhandler + An event handler of some sort (hangup) + filesystem + A filesystem (ext3) + fqdomainname + A fully qualified domain name (my.example.com) + groupname + A group name (wheel) + ipaddress + An IP address (127.0.0.1) + library + A library (libncurses) + macro + A macro + netmask + A netmask (255.255.255.192) + newsgroup + A newsgroup (comp.text.xml) + osname + An operating system name (Hurd) + process + A process (gnome-cups-icon) + protocol + A protocol (ftp) + resource + A resource + securitycontext + A security context (a role, permission, or security token, for example) + server + A server (mail.example.com) + service + A service (ppp) + systemname + A system name (hephaistos) + username + A user name (ndw) + + + + + + + Identifies the nature of the system item + + + + + + + + Identifies the nature of the non-standard system item + + + + + + + + Identifies the kind of systemitemgraphic identifier + other + Indicates that the system item is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A system-related item or term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An option for a software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Optional information + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of data associated with some part of a computer system + + + + +
+ +
+ + + + + + + + + + + Identifies the topic type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A modular unit of documentation not part of any particular narrative flow + + + + + + + + + + + +
+ + + + + + + + + + + + + Identifies the markup grammar of a resource + + + +
+ + + + + + + + + + + + + + + + + + + + Defines the hierarchy and relationships for a collection of resources + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + Contains one or more resource objects that are managed by the assembly + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Indentifies the location of the data by URI + + + + + + + + + + + + + + + + + + + + + + + Identifies an object managed within the assembly + + + + + + + +
+ +
+ + + + + + + Identifies the structure type of the structure + + + + + + + Indicates a single resource from which to construct this structure + + + + + + + Identifies the default format of the structure + + + + + + + Specifies the DocBook element to which this unit should be renamed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes the structure of a document + + Specification of renderas + + The renderas attribute can be specified on either the structure or output, but not both. + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies chunking for this module + + + + + + + Specifies the output file for this module or structure + + + + + + + Specifies the DocBook element to which this unit should be renamed + + + + + + + + + + + Specifies the transformation that should be applied to this unit + + + + + + + Indicates whether or not this unit should be suppressed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specify an output format and/or file name and/or renderas + + + + +
+ +
+ + + + + + + Indicates a single resource from which to read merged info + + + + + + + + + + + + + + + + + + + A wrapper for information that a module overrides in the resource it includes + + + + + + + + + +
+ +
+ + + + + + + true + This module will be in a chunk + false + This module will not be in a chunk + auto + Chunking of this module depends on the overall chunking algorithm + + + + + + Specifies chunking for this module + + + + + + + Indicates a single resource from which to construct this module + + + + + + + + Indicates if titles should be omitted when including a resource + + + + + + + + + Indicates if only the content should be copied when including a resource + + + + + + + + Specifies the DocBook element to which this unit should be renamed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A modular component within a structure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + Specification of renderas + + The renderas attribute can be specified on either the structure or output, but not both. + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + Elements with effectivity attributes matching this element are suppressed + + + + +
+ +
+ + + + + + + + + + + + + + + + Elements with effectivity attributes matching this element are allowed + + + + +
+ +
+ + + + + + + Identifies the type of the contained relationships + + + + + + + + + + + + + + + + + + + + + + + Groups relationship elements to define associations between resources + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the type of the relationship + + + + + + + + + + + + + + + + + + + + + + A relationship associates one or more resources + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + Identifies the type of relationship between one or more resources + + + + + + +
+ +
+ + + + + + + Specifies the type of link for this instance + + + + + + + + + + + + + + + + + + + Identifies a resource that is part of a relationship + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + List of transforms for converting from non-DocBook schemas + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Indentifies the location of the data by URI + + + + + + + Identifies the location of the data by reference + + + + + + + + + + + + + + + + + + + + + Identifies a transform for converting from a non-DocBook schema + + + + +
+ +
+ + + + + + + + + + + + + + + + A description of a resource or resources + + + + +
+ +
diff --git a/src/main/relaxng/dbits.rng b/src/main/relaxng/dbits.rng new file mode 100644 index 00000000..5c216614 --- /dev/null +++ b/src/main/relaxng/dbits.rng @@ -0,0 +1,20780 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Any attribute, including any attribute in any namespace. + + + +
+ + + + Designates the computer or chip architecture to which the element applies + + + + + + Designates the intended audience to which the element applies, for example, system administrators, programmers, or new users. + + + + + + provides a standard place for application-specific effectivity + + + + + + Indicates standards conformance characteristics of the element + + + + + + Indicates the operating system to which the element is applicable + + + + + + Indicates the editorial revision to which the element belongs + + + + + + Indicates something about the security level associated with the element to which it applies + + + + + + Indicates the level of user experience for which the element applies + + + + + + Indicates the computer vendor to which the element applies. + + + + + + Indicates the word size (width in bits) of the computer architecture to which the element applies + + + + + + Indicates the output format (for example, print or epub) to which the element applies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Points to the element whose content is to be used as the text of the link + + + + + + + Points to an internal link target by identifying the value of its xml:id attribute + + + + + + + Points to one or more internal link targets by identifying the value of their xml:id attributes + + + + + + + Identifies a link target with a URI + + + + + + + Identifies the XLink link type + simple + An XLink simple link type + + + + + + Identifies the XLink role of the link + + + + + + + Identifies the XLink arcrole of the link + + + + + + + Identifies the XLink title of the link + + + + + + new + An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context. + replace + An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded. + embed + An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource. + other + The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink show behavior of the link + + + + + + + onLoad + An application should traverse to the ending resource immediately on loading the starting resource. + onRequest + An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal. + other + The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink actuate behavior of the link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the unique ID value of the element + + + + + + + Specifies the DocBook version of the element and its descendants + + + + + + Specifies the natural language of the element and its descendants + + + + + + Specifies the base URI of the element and its descendants + + + + + + + Provides the name or similar semantic identifier assigned to the content in some previous markup scheme + + + + + + Provides the text that is to be generated for a cross reference to the element + + + + + + Specifies a keyword or keywords identifying additional style information + + + + + + changed + The element has been changed. + added + The element is new (has been added to the document). + deleted + The element has been deleted. + off + Explicitly turns off revision markup for this element. + + + + + + Identifies the revision status of the element + + + + + + + ltr + Left-to-right text + rtl + Right-to-left text + lro + Left-to-right override + rlo + Right-to-left override + + + + + + Identifies the direction of text in an element + + + + + + + The RDFa Lite vocab + + + + + + + The RDFa Lite typeof + + + + + + The RDFa Lite property + + + + + + The RDFa Lite resource + + + + + + The RDFa Lite prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the format of the data + + + + + Indentifies the location of the data by URI + + + + Identifies the location of the data by external identifier (entity name) + + + + + + + + continues + Line numbering continues from the immediately preceding element with the same name. + restarts + Line numbering restarts (begins at 1, usually). + + + + + + Determines whether line numbering continues from the previous element or restarts. + + + + + + + numbered + Lines are numbered. + unnumbered + Lines are not numbered. + + + + + + Determines whether lines are numbered. + + + + + + + Specifies the initial line number. + + + + + + + Identifies the language (i.e. programming language) of the verbatim content. + + + + + + Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not. + preserve + Whitespace must be preserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies an identifying string for presentation purposes + + + + + + Specifies the width (in characters) of the element + + + + + + + compact + The spacing should be "compact". + normal + The spacing should be "normal". + + + + + + Specifies (a hint about) the spacing of the content + + + + + + + 0 + The element should be rendered in the current text flow (with the flow column width). + 1 + The element should be rendered across the full text page. + + + + + + Indicates if the element is rendered across the column or the page + + + + + + + Identifies the language (i.e. programming language) of the content. + + + + + + optional + The content describes an optional step or steps. + required + The content describes a required step or steps. + + + + + + Specifies if the content is required or optional. + + + + + + + Specifies style information to be used when rendering the float + + + + + + Specifies the width of the element + + + + + + Specifies the depth of the element + + + + + + Specifies the width of the content rectangle + + + + + + Specifies the depth of the content rectangle + + + + + + 0 + False (do not scale-to-fit; anamorphic scaling may occur) + 1 + True (scale-to-fit; anamorphic scaling is forbidden) + + + + + + Specifies the scaling factor + + + + + + + Specifies a classid for a media object player + + + + + + Specifies the autoplay setting for a media object player + + + + + + center + Centered horizontally + char + Aligned horizontally on the specified character + justify + Fully justified (left and right margins or edges) + left + Left aligned + right + Right aligned + + + + + + bottom + Aligned on the bottom of the region + middle + Centered vertically + top + Aligned on the top of the region + + + + + + doi + A digital object identifier. + isbn + An international standard book number. + isrn + An international standard technical report number (ISO 10444). + issn + An international standard serial number. + istc + An international standard text code. + libraryofcongress + A Library of Congress reference number. + pubsnumber + A publication number (an internal number or possibly organizational standard). + uri + A Uniform Resource Identifier + + + + + + + Identifies the kind of bibliographic identifier + + + + + + + + Identifies the nature of the non-standard bibliographic identifier + + + + + + + + Identifies the kind of bibliographic identifier + other + Indicates that the identifier is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text of the title of a section of a document or of a formal block-level element + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The abbreviation of a title + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The subtitle of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block without a title + + + + + + +
+ +
+ + + + + + + Identifies the controlled vocabulary used by this set's terms + + + + + + + + + + + + + + + + + + + + A set of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + Specifies a ranking for this subject relative to other subjects in the same set + + + + + + + + + + + + + + + + + + + One of a group of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A term in a group of terms describing the subject matter of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A set of keywords describing the content of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + One of a set of keywords describing the content of a document + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of operations to be performed in a well-defined sequence + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A unit of action in a procedure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + Alternative steps in a procedure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for steps that occur within steps in a procedure + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for identifying the results of a procedure or step + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + A portion of a document that is isolated from the main narrative flow + + Element exclusion + + sidebar must not occur among the children or descendants of sidebar + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short description or note about a person + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A quotation set off from the main text + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The source of a block quote or epigraph + + + + + + + + + + + + +
+ +
+ + + sect1 + Render as a first-level section + sect2 + Render as a second-level section + sect3 + Render as a third-level section + sect4 + Render as a fourth-level section + sect5 + Render as a fifth-level section + + + + + + + Indicates how the bridge head should be rendered + + + + + + + + Identifies the nature of the non-standard rendering + + + + + + + + Indicates how the bridge head should be rendered + other + Identifies a non-standard rendering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A free-floating heading + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A remark (or comment) intended for presentation in a draft manuscript + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short inscription at the beginning of a document or component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the desired footnote mark + + + + + + + + + + + + + + + + + + + + A footnote + + Element exclusion + + footnote must not occur among the children or descendants of footnote + + + + Element exclusion + + example must not occur among the children or descendants of footnote + + + + Element exclusion + + figure must not occur among the children or descendants of footnote + + + + Element exclusion + + table must not occur among the children or descendants of footnote + + + + Element exclusion + + equation must not occur among the children or descendants of footnote + + + + Element exclusion + + sidebar must not occur among the children or descendants of footnote + + + + Element exclusion + + task must not occur among the children or descendants of footnote + + + + Element exclusion + + epigraph must not occur among the children or descendants of footnote + + + + Element exclusion + + caution must not occur among the children or descendants of footnote + + + + Element exclusion + + important must not occur among the children or descendants of footnote + + + + Element exclusion + + note must not occur among the children or descendants of footnote + + + + Element exclusion + + tip must not occur among the children or descendants of footnote + + + + Element exclusion + + warning must not occur among the children or descendants of footnote + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph with a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph that contains only text and inline markup, no block elements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + Identifies the type of mark to be used on items in this list + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a bullet or other dingbat + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + continues + Specifies that numbering should begin where the preceding list left off + restarts + Specifies that numbering should begin again at 1 + + + + + + Indicates how list numbering should begin relative to the immediately preceding list + + + + + + + Specifies the initial line number. + + + + + + + ignore + Specifies that numbering should ignore list nesting + inherit + Specifies that numbering should inherit from outer-level lists + + + + + + Indicates whether or not item numbering should be influenced by list nesting + + + + + + + arabic + Specifies Arabic numeration (1, 2, 3, …) + upperalpha + Specifies upper-case alphabetic numeration (A, B, C, …) + loweralpha + Specifies lower-case alphabetic numeration (a, b, c, …) + upperroman + Specifies upper-case Roman numeration (I, II, III, …) + lowerroman + Specifies lower-case Roman numeration (i, ii, iii …) + + + + + + Indicates the desired numeration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a sequentially incremented label + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the keyword for the type of mark that should be used on this + item, instead of the mark that would be used by default + + + + + + + + + + + + + + + + + + + + A wrapper for the elements of a list item + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A segmented list, a list of sets of elements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A list item in a segmented list + + Cardinality of segments and titles + + The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + horiz + A tabular presentation in row-major order. + vert + A tabular presentation in column-major order. + inline + An inline presentation, usually a comma-delimited list. + + + + + + Specifies the type of list presentation. + + + + + + + Specifies the number of columns for horizontal or vertical presentation + + + + + + + + + + + + + + + + + + + + + + + An undecorated list of single words or short phrases + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a simple list + + + + + + +
+ +
+ + + + + + + Indicates a length beyond which the presentation system may consider a term too long and select an alternate presentation for that term, item, or list + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is composed of a set of one or more terms and an associated description + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for a set of terms and the associated description in a variable list + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The word or phrase being defined or described in a variable list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal example, with a title + + Element exclusion + + example must not occur among the children or descendants of example + + + + Element exclusion + + figure must not occur among the children or descendants of example + + + + Element exclusion + + table must not occur among the children or descendants of example + + + + Element exclusion + + equation must not occur among the children or descendants of example + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed example without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + monospaced + The literal layout should be formatted with a monospaced font + normal + The literal layout should be formatted with the current font + + + + + + Specifies the class of literal layout + + + + + + + + + + + + + + + + + + + + + A block of text in which line breaks and white space are to be reproduced faithfully + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + Text that a user sees or might see on a computer screen + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A representation of what the user sees or might see on a computer screen + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal figure, generally an illustration, with a title + + Element exclusion + + example must not occur among the children or descendants of figure + + + + Element exclusion + + figure must not occur among the children or descendants of figure + + + + Element exclusion + + table must not occur among the children or descendants of figure + + + + Element exclusion + + equation must not occur among the children or descendants of figure + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A untitled figure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A displayed media object (video, audio, image, etc.) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline media object (video, audio, image, and so on) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for video data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for audio data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for image data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a text description of an object and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external video data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external audio data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the image data + + + + + + + + + + + Specifies the vertical alignment of the image data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external image data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + Identifies the encoding of the text in the external file + + + + + + + + + + + + + + + + + + + + + + + Pointer to external text data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + Specifies the name of the parameter + + + + + + Specifies the value of the parameter + + + + + + Specifies the type of the value of the parameter + + + + + + + + + + + + + + + + + + + + Application specific parameters for a media player + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A real-world address, generally a postal address + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A street address in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A post office box in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A postal code in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a city in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A state or province in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a country + + + + +
+ +
+ + + + + + + + + + + + + + + + + A telephone number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A fax number + + + + +
+ +
+ + + + + + + + + + + + + + + + + Uncategorized information in address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The institutional affiliation of an individual + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A brief description of an affiliation + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an individual in an organization + + + + +
+ +
+ + + consortium + A consortium + corporation + A corporation + informal + An informal organization + nonprofit + A non-profit organization + + + + + + Specifies the nature of the organization + + + + + + + Specifies the nature of the organization + other + Indicates a non-standard organization class + + + Identifies the non-standard nature of the organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name of an organization + + + + +
+ +
+ + + + + + + + + + + + + + + + + A division of an organization + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The page numbers of an article as published + + + + +
+ +
+ + + + + + + + + + + + + + + + + The personal name of an individual + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The name of an individual author + + + + +
+ +
+ + + + + + + + + + + + + + + + + Wrapper for author information when a document has multiple authors or collaborators + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Identifies a collaborator + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The initials or other short identifier for an author + + + + +
+ +
+ + + + + + + + + + + + + + + + + A person and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An organization and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for document meta-information about a conference + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The dates of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + An identifier, frequently numerical, associated with a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The contract number of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a contract + + + + +
+ +
+ + + + + + + + + + + + + + + + + Copyright information about a document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The year of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the individual or organization that holds a copyright + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + Additional content for the cover of a publication + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The date of publication or revision of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name or number of an edition of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the editor of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + An identifier for a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A citation of a bibliographic identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The source of a document + + + + +
+ +
+ + + hasformat + The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format + haspart + The described resource includes the referenced resource either physically or logically + hasversion + The described resource has a version, edition, or adaptation, namely, the referenced resource + isformatof + The described resource is the same intellectual content of the referenced resource, but presented in another format + ispartof + The described resource is a physical or logical part of the referenced resource + isreferencedby + The described resource is referenced, cited, or otherwise pointed to by the referenced resource + isreplacedby + The described resource is supplanted, displaced, or superceded by the referenced resource + isrequiredby + The described resource is required by the referenced resource, either physically or logically + isversionof + The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format + references + The described resource references, cites, or otherwise points to the referenced resource + replaces + The described resource supplants, displaces, or supersedes the referenced resource + requires + The described resource requires the referenced resource to support its function, delivery, or coherence of content + + + + + + + Identifies the type of relationship + + + + + + + + + Identifies the type of relationship + othertype + The described resource has a non-standard relationship with the referenced resource + + + + A keyword that identififes the type of the non-standard relationship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The relationship of a document to another + + + + +
+ +
+ + + dcmipoint + The DCMI Point identifies a point in space using its geographic coordinates + iso3166 + ISO 3166 Codes for the representation of names of countries + dcmibox + The DCMI Box identifies a region of space using its geographic limits + tgn + The Getty Thesaurus of Geographic Names + + + + + + + Specifies the type of spatial coverage + + + + + + + + + Specifies the type of spatial coverage + otherspatial + Identifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + dcmiperiod + A specification of the limits of a time interval + w3c-dtf + W3C Encoding rules for dates and times—a profile based on ISO 8601 + + + + + + + Specifies the type of temporal coverage + + + + + + + + + Specifies the type of temporal coverage + othertemporal + Specifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The spatial or temporal coverage of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A statement of legal obligations or requirements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + copyeditor + A copy editor + graphicdesigner + A graphic designer + productioneditor + A production editor + technicaleditor + A technical editor + translator + A translator + indexer + An indexer + proofreader + A proof-reader + coverdesigner + A cover designer + interiordesigner + An interior designer + illustrator + An illustrator + reviewer + A reviewer + typesetter + A typesetter + conversion + A converter (a persons responsible for conversion, not an application) + + + + + + + Identifies the nature of the contributor + + + + + + + + Identifies the nature of the non-standard contribution + + + + + + + + Identifies the nature of the contributor + other + Identifies a non-standard contribution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A person or entity, other than an author or editor, credited in a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The numbers of the pages in a book, for use in a bibliographic entry + + + + +
+ +
+ + + + + + + + + + + + + + + + + A summary of the contributions made to a document by a credited source + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + A given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + The given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inherited or family name; in western cultures the last name + + + + +
+ +
+ + + + + + + + + + + + + + + + + The portion of a person's name indicating a relationship to ancestors + + + + +
+ +
+ + + + + + + + + + + + + + + + + A component of a person's name that is not a first name, surname, or lineage + + + + +
+ +
+ + + + + + + + + + + + + + + + + The printing history of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The date of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The publisher of a document + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the publisher of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a particular release of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A history of the revisions to a document + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry describing a single revision in the history of the revisions to a document + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A document revision number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of a revision to a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A extended description of a revision to a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Numbers of the volumes in a series of books + + + + +
+ +
+ + + + + + + + + + + + + + + + + The volume number of a document in a set (as of books in a set or articles in a journal) + + + + +
+ +
+ + + + + + + + + + + + + + + + + The number of an issue of a journal + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software or application package + + + + +
+ +
+ + + + + + + + + + + + + + + + + An email address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A comment on a line in a verbatim listing + + + + +
+ +
+ + + command + A command + function + A function + option + An option + + + + + + Identifies the class of parameter + + + + + + + + + + + + + + + + + + + + + + + + A value or a symbolic reference to a value + + + + +
+ + + + + + + + +
+ + + command + A command + function + A function + option + An option + parameter + A parameter + + + + + + Identifies the nature of the replaceable text + + + + + + + + + + + + + + + + + + + + + + + + Content that may or must be replaced by the user + + + + + + +
+ +
+ + + + Identifies the type of URI specified + + + + + + + + + + + + + + + + + + + + + + A Uniform Resource Identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + An abbreviation, especially one followed by a period + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An often pronounceable word made from the initial (or selected) letters of a name or phrase + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline bibliographic reference to another published work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A citation to a reference page + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference volume number + + + + +
+ +
+ + + article + An article + bbs + A bulletin board system + book + A book + cdrom + A CD-ROM + chapter + A chapter (as of a book) + dvd + A DVD + emailmessage + An email message + gopher + A gopher page + journal + A journal + manuscript + A manuscript + newsposting + A posting to a newsgroup + part + A part (as of a book) + refentry + A reference entry + section + A section (as of a book or article) + series + A series + set + A set (as of books) + webpage + A web page + wiki + A wiki page + + + + + + Identifies the nature of the publication being cited + + + + + + + + + + + + + + + + + + + + + + + + The title of a cited work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Emphasized text + + + + + + +
+ +
+ + + A limited span of emphasized text + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word or phrase in a language other than the primary language of the document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited word or phrase in a language other than the primary language of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A span of text + + + + + + +
+ +
+ + + A limited span of text + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline quotation + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited inline quotation + + + + +
+ +
+ + + + + + + + + + + + + + + + + A subscript (as in H2 +O, the molecular formula for water) + + + + +
+ +
+ + + + + + + + + + + + + + + + + A superscript (as in x2 +, the mathematical notation for x multiplied by itself) + + + + +
+ +
+ + + copyright + A copyright + registered + A registered copyright + service + A service + trade + A trademark + + + + + + Identifies the class of trade mark + + + + + + + + + + + + + + + + + + + + + + + + A trademark + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word meant specifically as a word and not representing anything else + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a footnote (a footnote mark) + + Footnote reference type constraint + + @linkend on footnoteref must point to a footnote. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross reference to another part of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A hypertext link + + + + + + +
+ +
+ + + + + + + + + + + Holds additional information that may be used by the application when resolving the link + + + + + + Specifies the URI of the document in which the link target appears + + + + + + + Specifies the location of the link target in the document + + + + + + Identifies application-specific customization of the link behavior + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A link that addresses its target indirectly + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A spot in the document + + + + +
+ +
+ + + + + + + + + + + + + + + + A text-only annotation, often used for accessibility + + + + + + + + + +
+ + + + Identifies the editorial or publication status of the element on which it occurs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of books + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The dedication of a book or other component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledgements of a book or other component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text at the back of a book describing facts about its production + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An appendix in a book or article + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A chapter, as of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Introductory matter preceding the first chapter of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An introduction to the contents of a part + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a document with no subdivisions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + faq + A collection of frequently asked questions. + journalarticle + An article in a journal or other periodical. + productsheet + A description of a product. + specification + A specification. + techreport + A technical report. + whitepaper + A white paper. + + + + + + Identifies the nature of the article + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An article + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Identifies one or more annotations that apply to this element + + + +
+ + + + + + + Identifies one ore more elements to which this annotation applies + + + + + + + + + + + + + + + + + + + + + + An annotation + + Element exclusion + + annotation must not occur among the children or descendants of annotation + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + Identifies the XLink extended link type + + XLink extended placement + + An XLink extended type element may not occur as the direct child of an XLink extended type element. + + + extended + An XLink extended link type + + + + + + Identifies the XLink locator link type + + XLink locator placement + + An XLink locator type element must occur as the direct child of an XLink extended type element. + + + locator + An XLink locator link type + + + + + + Identifies the XLink arc link type + + XLink arc placement + + An XLink arc type element must occur as the direct child of an XLink extended type element. + + + arc + An XLink arc link type + + + + + + Identifies the XLink resource link type + + XLink resource placement + + An XLink resource type element must occur as the direct child of an XLink extended type element. + + + resource + An XLink resource link type + + + + + + Identifies the XLink title link type + + XLink title placement + + An XLink title type element must occur as the direct child of an XLink extended, locator, or arc type element. + + + title + An XLink title link type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the XLink traversal-from + + + + + + + Specifies the XLink label + + + + + + + Specifies the XLink traversal-to + + + + +
+ + + + + + + + + + + + + Identifies the XLink link type + extended + An XLink extended link + + + + + + + + + + + + + + An XLink extended link + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + locator + An XLink locator link + + + + + + + + + + + + + + + + + + An XLink locator in an extendedlink + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + arc + An XLink arc link + + + + + + + + + + + + + + + + + + + + + + + + + + An XLink arc in an extendedlink + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A top-level section of document + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect1 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect2 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect3 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect4 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of reference entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A reference page (originally a UNIX man-style reference page) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Meta-information for a reference entry + + + + + + + + + + + + + + + + +
+ + + + source + The name of the software product or component to which this topic applies + version + The version of the software product or component to which this topic applies + manual + The section title of the reference page (e.g., User Commands) + sectdesc + The section title of the reference page (believed synonymous with "manual" but in wide use) + software + The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use) + + + + + + + Identifies the kind of miscellaneous information + + + + + + + + Identifies the nature of non-standard miscellaneous information + + + + + + + Identifies the kind of miscellaneious information + other + Indicates that the information is some 'other' kind. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + Meta-information for a reference entry other than the title and volume number + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name, purpose, and classification of a reference page + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of (one of) the subject(s) of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A short (one sentence) synopsis of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The scope or other indication of applicability of a reference entry + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A syntactic synopsis of the subject of the reference page + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section in a refentry + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A major subsection of a reference entry + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect1 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect2 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form. + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of glossary entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the string by which the element's content is to be sorted; if unspecified, the content is used + + + + + + + + + + + + + + + + + + + An entry in a glossary or glosslist + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a list of keywords for the definition + + + + + + + + + + + + + + + + + + + A definition in a glossentry + + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry + to another + + Glosssary 'see' type constraint + + @otherterm on glosssee must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry to another + + Glossary 'seealso' type constraint + + @otherterm on glossseealso must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term, with limited content + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A glossary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a glossary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline definition of a term + + Glossary term definition constraint + + A termdef must contain exactly one firstterm + + + + + + + + +
+ + + + Identifies the relationship between the bibliographic elemnts + + + +
+ + + + + + + + + + + + + + + + + A raw entry in a bibliography + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cooked entry in a bibliography + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A raw container for related bibliographic information + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cooked container for related bibliographic information + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Untyped bibliographic information + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A bibliography + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a bibliography + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of bibliography entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + The units (for example, pages) used to identify the beginning and ending of a reference. + + + + + + + Identifies the beginning of a reference; the location within the work that is being referenced. + + + + + + + Identifies the end of a reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross-reference to a bibliographic entry + + + + +
+ + + + normal + Normal + preferred + Preferred + + + + + + Specifies the significance of the term + + + + + + + Specifies the IDs of the elements to which this term applies + + + + + + + Indicates the page on which this index term occurs in some version of the printed document + + + + + + all + All indexes + global + The global index (as for a combined index of a set of books) + local + The local index (the index for this document only) + + + + + + Specifies the scope of the index term + + + + + + + Specifies the string by which the term is to be sorted; if unspecified, the term content is used + + + + + + Specifies the target index for this term + + + +
+ + + + + + + + + + + + + + + + + A set of index terms in the meta-information of a document + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + Identifies the class of index term + singular + A singular index term + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term + + + + +
+ +
+ + + + + + + Identifies the class of index term + startofrange + The start of a range + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term that covers a range + + + + +
+ +
+ + + + + + + Identifies the class of index term + endofrange + The end of a range + + + + + + Points to the start of the range + + + + + + + + + + + + + + + + + + + Identifies the end of a range associated with an indexed term + + Indexterm 'startref' type constraint + + @startref on indexterm must point to an indexterm. + @startref on indexterm must point to a startofrange indexterm. + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The primary word or phrase under which an index term should be sorted + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A secondary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A tertiary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader instead to another entry in the index + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader also to another entry in the index + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a book or part of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a set of books + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in an index + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry in an index + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A primary term in an index entry, not in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A secondary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A tertiary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See +entry in an index, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See also + entry in an index, rather than in the text + + + + + + +
+ + + + Indicates the page on which this element occurs in some version of the printed document + + + +
+ + + + + + + + + + + + + + + + + + + + + A table of contents + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a table of contents + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + A component title in a table of contents + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + A task to be completed + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary of a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The prerequisites for a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Information related to a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + calspair + Coordinates expressed as a pair of CALS graphic coordinates. + linecolumn + Coordinates expressed as a line and column. + linecolumnpair + Coordinates expressed as a pair of lines and columns. + linerange + Coordinates expressed as a line range. + + + + + + + Identifies the units used in the coords attribute. The default units vary according to the type of callout specified: calspair + for graphics and linecolumn + for line-oriented elements. + + + + + + + + + Indicates that non-standard units are used for this area +. In this case otherunits + must be specified. + other + Coordinates expressed in some non-standard units. + + + + Identifies the units used in the coords + attribute when the units + attribute is other +. This attribute is forbidden otherwise. + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of callout +s + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the areas described by this callout. + + + + + + + + + + + + + + + + + A called out + description of a marked area + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A program listing with associated areas used in callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A collection of regions in a graphic or code example + + + + + + + + + +
+ +
+ + + + + + + Point to the callout +s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.) + + + + + + + Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute. + + + + + + Provides the coordinates of the area. The coordinates must be interpreted using the units + specified. + + + + + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of related areas in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A screen with associated areas used in callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for an image object with callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The location of a callout embedded in text + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a co + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A set of EBNF productions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A production in a set of EBNF productions + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The left-hand side of an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + The right-hand side of an EBNF production + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a URI that points to a production +where the nonterminal + is defined + + + + + + + + + + + + + + + + + + A non-terminal in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A constraint in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cross-reference to an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The definition of a constraint in an EBNF production + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + Specifies the alignment character when align + is set to char +. + + + + + + Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in char + when align + is set to char +. + + 0 + 100 + + + + + + + Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table. + + all + Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders. + bottom + Frame only the bottom of the table. + none + Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well. + sides + Frame the left and right sides of the table. + top + Frame the top of the table. + topbot + Frame the top and bottom of the table. + + + + + + + Specifies the presence or absence of the column separator + + 0 + No column separator rule. + 1 + Provide a column separator rule on the right + + + + + + + Specifies the presence or absence of the row separator + + 0 + No row separator rule. + 1 + Provide a row separator rule below + + + + + + + Specifies the orientation of the table + + land + 90 degrees counter-clockwise from the rest of the text flow. + port + The same orientation as the rest of the text flow. + + + + + + + Specifies the table style + + + + + + Indicates whether or not the entries in the first column should be considered row headers + + firstcol + Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers). + headers + Indicates that row headers are identified by use of the headers attribute on entries in the table. + norowheader + Indicates that entries in the first column have no special significance with respect to column headers. + + + + + + + Specifies the horizontal alignment of text in an entry. + + center + Centered. + char + Aligned on a particular character. + justify + Left and right justified. + left + Left justified. + right + Right justified. + + + + + + + Specifies the vertical alignment of text in an entry. + + bottom + Aligned on the bottom of the entry. + middle + Aligned in the middle. + top + Aligned at the top of the entry. + + + + + + + Specifies a column specification by name. + + + + + + Specifies a starting column by name. + + + + + + Specifies a span by name. + + + + + + + Specifies a starting column by name. + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + Provides a name for a column specification. + + + + + + Provides a name for a span specification. + + + +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for the main content of a table, or part of a table + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one. + + + + + + + Specifies the width of the column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifications for a column in a table + + + + +
+ +
+ + + + + + + Specifies a starting column by name. + + + + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Formatting information for a spanned column in a table + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table footer consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + + + + +
+ +
+ + + + + + + Specifies the number of additional rows which this entry occupies. Defaults to zero. + + + + + + + Specifies the rotation of this entry. A value of 1 (true) rotates the cell 90 degrees counter-clockwise. A value of 0 (false) leaves the cell unrotated. + + 0 + Do not rotate the cell. + 1 + Rotate the cell 90 degrees counter-clockwise. + + + + + + + Specifies the scope of a header. + + row + Applies to the row + col + Applies to the column + rowgroup + Applies to the row group + colgroup + Applies to the column group + + + + + + + Specifies the entry or entries which serve as headers for this element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cell in a table + + Element exclusion + + table must not occur among the children or descendants of entry + + + + Element exclusion + + informaltable must not occur among the children or descendants of entry + + + + + + + + + + + + + +
+ +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the entry table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subtable appearing in place of an entry in a table + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates if the short or long title should be used in a List of Tables + + 0 + Indicates that the full title should be used. + 1 + Indicates that the short short title (titleabbrev) should be used. + + + + + + Indicates if the table should appear in a List of Tables + + 0 + Indicates that the table should not occur in the List of Tables. + 1 + Indicates that the table should appear in the List of Tables. + + + + + + + + + + + + + + + + A formal table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A table without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters. + + + + + This attribute specifies style information for the current element. + + + + + This attribute offers advisory information about the element for which it is set. + + + + + + + + + This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown. + + + + + + + + + Occurs when the pointing device button is clicked over an element. + + + + + Occurs when the pointing device button is double clicked over an element. + + + + + Occurs when the pointing device button is pressed over an element. + + + + + Occurs when the pointing device button is released over an element. + + + + + Occurs when the pointing device is moved onto an element. + + + + + Occurs when the pointing device is moved while it is over an element. + + + + + Occurs when the pointing device is moved away from an element. + + + + + Occurs when a key is pressed and released over an element. + + + + + Occurs when a key is pressed down over an element. + + + + + Occurs when a key is released over an element. + + + + + + + + + + + + + + + + + + + Specifies the alignment of data and the justification of text in a cell. + + left + Left-flush data/Left-justify text. This is the default value for table data. + center + Center data/Center-justify text. This is the default value for table headers. + right + Right-flush data/Right-justify text. + justify + Double-justify text. + char + Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified. + + + + + + This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute. + + + + + When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute. + + + An explicit offset. + + [0-9]+% + + A percentage offset. + + + + + + + + + + Specifies the vertical position of data within a cell. + + top + Cell data is flush with the top of the cell. + middle + Cell data is centered vertically within the cell. This is the default value. + bottom + Cell data is flush with the bottom of the cell. + baseline + All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells. + + + + + + + + + + Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille. + + + + + Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent. + + + An explicit width. + + [0-9]+% + + A percentage width. + + + + + + Specifies the width (in pixels only) of the frame around a table. + + + + + + Specifies which sides of the frame surrounding a table will be visible. + + void + No sides. This is the default value. + above + The top side only. + below + The bottom side only. + hsides + The top and bottom sides only. + lhs + The left-hand side only. + rhs + The right-hand side only. + vsides + The right and left sides only. + box + All four sides. + border + All four sides. + + + + + + Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent. + + none + No rules. This is the default value. + groups + Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only. + rows + Rules will appear between rows only. + cols + Rules will appear between columns only. + all + Rules will appear between all rows and columns. + + + + + + Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells. + + + An explicit spacing. + + [0-9]+% + + A percentage spacing. + + + + + + Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space. + + + An explicit padding. + + [0-9]+% + + A percentage padding. + + + + + + + + + + + Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content. + + + + + This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details. + + + + + Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets. + + + + + Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables. + + row + The current cell provides header information for the rest of the row that contains it + col + The current cell provides header information for the rest of the column that contains it. + rowgroup + The header cell provides header information for the rest of the row group that contains it. + colgroup + The header cell provides header information for the rest of the column group that contains it. + + + + + + Specifies the number of rows spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all rows from the current row to the last row of the table section (thead +, tbody +, or tfoot +) in which the cell is defined. + + + + + + Specifies the number of columns spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all columns from the current column to the last column of the column group (colgroup +) in which the cell is defined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal (captioned) HTML table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An HTML table without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + An HTML table caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + +
+ +
+ + + + + + This attribute, whose value must be an integer > 0, specifies the number of columns spanned + by the col + element; the col + element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current col + element shares its attributes with the next N-1 columns. + + + + + + Specifies a default width for each column spanned by the current col + element. It has the same meaning as the width + attribute for the colgroup + element and overrides it. + + + + + + + + + + Specifications for a column in an HTML table + + + + +
+ +
+ + + + + + This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each colgroup + defines a column group containing one column. If the span attribute is set to N > 0, the current colgroup + element defines a column group containing N columns. User agents must ignore this attribute if the colgroup + element contains one or more col + elements. + + + + + + This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form 0* + (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying 0* + will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a col + element. + + + + + + + + + + A group of columns in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table header consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table footer consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A wrapper for the rows of an HTML table or informal HTML table + + + + + + +
+ +
+ + + + + + + + + + + A row in an HTML table + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table header entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A detailed set of messages, usually error messages + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for an entry in a message set + + + + + + + + + + + + +
+ +
+ + + + + + + The audience to which the message relevant + + + + + + The origin of the message + + + + + + The level of importance or severity of a message + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for a simpler entry in a message set + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The primary component of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A subcomponent of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A related component of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The actual text of a message component in a message set + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a message in a message set + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The level of importance or severity of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The origin of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The audience to which a message in a message set is relevant + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Explanatory material relating to a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + none + No labels + number + Numeric labels + qanda + "Q:" and "A:" labels + + + + + + Specifies the default labelling + + + + + + + + + + + + + + + + + + + + + + + + A question-and-answer set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A titled division in a qandaset + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A question/answer set within a qandaset + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A question in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An answer to a question posed in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A label on a question or answer + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation + + Element exclusion + + example must not occur among the children or descendants of equation + + + + Element exclusion + + figure must not occur among the children or descendants of equation + + + + Element exclusion + + table must not occur among the children or descendants of equation + + + + Element exclusion + + equation must not occur among the children or descendants of equation + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical equation or expression occurring inline + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical phrase that can be represented with ordinary text and a small amount of markup + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is MathML + mathml + Specifies MathML. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A MathML expression in a media object + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + Any element from the MathML namespace + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is SVG + svg + Specifies SVG. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An SVG drawing in a media object + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + Any element from the SVG namespace + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A string of formatting markup in text that is to be represented literally + + + + +
+ +
+ + + + + + + attribute + An attribute + attvalue + An attribute value + element + An element + emptytag + An empty element tag + endtag + An end tag + genentity + A general entity + localname + The local name part of a qualified name + namespace + A namespace + numcharref + A numeric character reference + paramentity + A parameter entity + pi + A processing instruction + prefix + The prefix part of a qualified name + comment + An SGML comment + starttag + A start tag + xmlpi + An XML processing instruction + + + + + + Identifies the nature of the tag content + + + + + + + Identifies the namespace of the tag content + + + + + + + + + + + + + + + + + + + + + + + A component of XML (or SGML) markup + + + + + + + + + +
+ +
+ + + Identifies the class of symbol + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A name that is replaced by a value before processing + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of information + + + + +
+ +
+ + + + + + + + + + + + + + + + + Inline text that is some literal value + + + + +
+ +
+ + + Identifies the (computer) language of the code fragment + + + + + + + + + + + + + + + + + + + + + + + An inline code fragment + + + + + + + + + +
+ +
+ + + Identifies the class of constant + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A programming or system constant + + + + +
+ +
+ + + + + + + copyright + A name with a copyright + registered + A name with a registered copyright + service + A name of a service + trade + A name which is trademarked + + + + + + Specifies the class of product name + + + + + + + + + + + + + + + + + + + + The formal name of a product + + + + +
+ +
+ + + + + + + + + + + + + + + + + A number assigned to a product + + + + +
+ +
+ + + altkey + An alternate or secondary key + constraint + A constraint + datatype + A data type + field + A field + foreignkey + A foreign key + group + A group + index + An index + key1 + The first or primary key + key2 + An alternate or secondary key + name + A name + primarykey + The primary key + procedure + A (stored) procedure + record + A record + rule + A rule + secondarykey + The secondary key + table + A table + user + A user + view + A view + + + + + + Identifies the class of database artifact + + + + + + + + + + + + + + + + + + + + + + + + The name of a database, or part of a database + + + + +
+ +
+ + + hardware + A hardware application + software + A software application + + + + + + Identifies the class of application + + + + + + + + + + + + + + + + + + + + + + + + The name of a software program + + + + +
+ +
+ + + + + + + + + + + + + + + + + A physical part of a computer system + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text on a button in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Graphic and/or text appearing as a icon in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The text of a label in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a menu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a terminal menu item in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a submenu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A selection or series of selections from a menu + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The conventional name of a mouse button + + + + +
+ + + + + + + + + + + + +
+ + + alt + The "Alt" key + altgr + The "Alt Graph" key + backspace + The "Backspace" key + command + The "Command" key + control + The "Control" key + delete + The "Delete" key + down + The down arrow + end + The "End" key + enter + The "Enter" key + escape + The "Escape" key + home + The "Home" key + insert + The "Insert" key + left + The left arrow + meta + The "Meta" key + option + The "Option" key + pagedown + The page down key + pageup + The page up key + right + The right arrow + return + The "Return" key + shift + The "Shift" key + space + The spacebar + tab + The "Tab" key + up + The up arrow + + + + + + + Identifies the function key + + + + + + + + + Identifies the function key + other + Indicates a non-standard function key + + + + Specifies a keyword that identifies the non-standard key + + + + + + + + + + + + + + + + + + + + + + + + + + + + The text printed on a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + The internal, frequently numeric, identifier for a key on a keyboard + + + + +
+ + + + + + + + + + + + +
+ + + click + A (single) mouse click. + double-click + A double mouse click. + press + A mouse or key press. + seq + Sequential clicks or presses. + simul + Simultaneous clicks or presses. + + + + + + + Identifies the nature of the action taken. If keycombo + contains more than one element, simul + is the default, otherwise there is no default. + + + + + + + + + Identifies the nature of the action taken + other + Indicates a non-standard action + + + + Identifies the non-standard action in some unspecified way. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A combination of input actions + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The symbolic name of a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + A graphical user interface (GUI) keyboard shortcut + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + A key combination for an action that is also accessible through a menu + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A character or string indicating the start of an input field in a computer display + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software environment variable + + + + +
+ +
+ + + devicefile + A device + directory + A directory + extension + A filename extension + headerfile + A header file (as for a programming language) + libraryfile + A library file + partition + A partition (as of a hard disk) + symlink + A symbolic link + + + + + + Identifies the class of filename + + + + + + + Specifies the path of the filename + + + + + + + + + + + + + + + + + + + + + + + + + + The name of a file + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an executable program or other software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data, generally text, displayed or presented by a computer + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data entered by the user + + + + + + +
+ +
+ + + + + + + Specifies the character that should separate the command and its top-level arguments + + + + + + Indicates the displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A syntax summary for a software command + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ + + + norepeat + Can not be repeated. + repeat + Can be repeated. + + + + + + Indicates whether or not repetition is possible. + + + + + + + opt + Formatted to indicate that it is optional. + plain + Formatted without indication. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + Indicates optionality. + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An argument in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A group of elements in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + An explicit line break in a command synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + A portion of a cmdsynopsis broken out from the main body of the synopsis + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference to a fragment of a command synopsis + + Synopsis fragment type constraint + + @linkend on synopfragmentref must point to a synopfragment. + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + A general-purpose element for representing the syntax of commands or functions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a function definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the funcdefs of a funcsynopsis + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The prototype of a function + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A function (subroutine) name and its return type + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a function or subroutine, as in a programming language + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating that the function in question takes no arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating a variable number of arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of parameters + + + + + + + + + +
+ +
+ + + + + + + opt + Formatted to indicate that it is optional. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + + + + + + + + + + + + + + Information about a function parameter in a programming language + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Parameters for a function referenced through a function pointer in a synopsis + + + + +
+ +
+ + + + + + + class + This is the synopsis of a class + interface + This is the synopsis of an interface + + + + + + Specifies the nature of the synopsis + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a class definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the contents of a classsynopsis + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A class in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An interface in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An exception in an object-oriented programming language + + + + + + + + + + +
+ + + + Can be used to indicate that whitespace in the modifier should be preserved (for multi-line annotations, for example). + preserve + Extra whitespace and line breaks must be preserved. + + + + +
+ + + + + + + + + + + + + + + + + + + + Modifiers in a synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an interface + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an exception + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The name of a field in a class definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + The initializer for a fieldsynopsis + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a constructor + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a destructor + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a method + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a method + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameters to a method + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of method parameters + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a variable + + + + +
+ +
+ + + + + + + + + + + + + + + + + The value returned by a function + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of a value + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a class, in the object-oriented programming sense + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + A literal listing of all or part of a program + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A note of caution + + Element exclusion + + caution must not occur among the children or descendants of caution + + + + Element exclusion + + important must not occur among the children or descendants of caution + + + + Element exclusion + + note must not occur among the children or descendants of caution + + + + Element exclusion + + tip must not occur among the children or descendants of caution + + + + Element exclusion + + warning must not occur among the children or descendants of caution + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of important + + + + Element exclusion + + important must not occur among the children or descendants of important + + + + Element exclusion + + note must not occur among the children or descendants of important + + + + Element exclusion + + tip must not occur among the children or descendants of important + + + + Element exclusion + + warning must not occur among the children or descendants of important + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A message set off from the text + + Element exclusion + + caution must not occur among the children or descendants of note + + + + Element exclusion + + important must not occur among the children or descendants of note + + + + Element exclusion + + note must not occur among the children or descendants of note + + + + Element exclusion + + tip must not occur among the children or descendants of note + + + + Element exclusion + + warning must not occur among the children or descendants of note + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A suggestion to the user, set off from the text + + Element exclusion + + caution must not occur among the children or descendants of tip + + + + Element exclusion + + important must not occur among the children or descendants of tip + + + + Element exclusion + + note must not occur among the children or descendants of tip + + + + Element exclusion + + tip must not occur among the children or descendants of tip + + + + Element exclusion + + warning must not occur among the children or descendants of tip + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of warning + + + + Element exclusion + + important must not occur among the children or descendants of warning + + + + Element exclusion + + note must not occur among the children or descendants of warning + + + + Element exclusion + + tip must not occur among the children or descendants of warning + + + + Element exclusion + + warning must not occur among the children or descendants of warning + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + An error code + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error name + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error message. + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of an error message + + + + +
+ + + + + + + + +
+ + + daemon + A daemon or other system process (syslogd) + domainname + A domain name (example.com) + etheraddress + An ethernet address (00:05:4E:49:FD:8E) + event + An event of some sort (SIGHUP) + eventhandler + An event handler of some sort (hangup) + filesystem + A filesystem (ext3) + fqdomainname + A fully qualified domain name (my.example.com) + groupname + A group name (wheel) + ipaddress + An IP address (127.0.0.1) + library + A library (libncurses) + macro + A macro + netmask + A netmask (255.255.255.192) + newsgroup + A newsgroup (comp.text.xml) + osname + An operating system name (Hurd) + process + A process (gnome-cups-icon) + protocol + A protocol (ftp) + resource + A resource + securitycontext + A security context (a role, permission, or security token, for example) + server + A server (mail.example.com) + service + A service (ppp) + systemname + A system name (hephaistos) + username + A user name (ndw) + + + + + + + Identifies the nature of the system item + + + + + + + + Identifies the nature of the non-standard system item + + + + + + + + Identifies the kind of systemitemgraphic identifier + other + Indicates that the system item is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A system-related item or term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An option for a software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Optional information + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of data associated with some part of a computer system + + + + +
+ +
+ + + + + + + + + + + Identifies the topic type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A modular unit of documentation not part of any particular narrative flow + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + Version of ITS + + [0-9]+\.[0-9]+ + + + + + The query language to be used for processing the rules + + xpath + css + + + + + + + Absolute selector + + + + + + Relative selector + + + + + + + + + + 0 + 1 + + + + + The Translate data category information to be attached to the current node + + yes + The nodes need to be translated + no + The nodes must not be translated + + + + + + + + + The type of localization note + + alert + Localization note is an alert + description + Localization note is a description + + + + + + + + + + + + + Indicates a term locally + + yes + The value 'yes' means that this is a term + no + The value 'no' means that this is not a term + + + + + + + + + The text direction for the context + + ltr + Left-to-right text + rtl + Right-to-left text + lro + Left-to-right override + rlo + Right-to-left override + + + + + States whether current context is regarded as "within text" + + yes + The element and its content are part of the flow of its parent element + no + The element splits the text flow of its parent element and its content is an independent text flow + nested + The element is part of the flow of its parent element, its content is an independent flow + + + + + A comma separated list of mappings between values in the content +and workflow specific values. The values may contain spaces; in +that case they MUST be delimited by quotation marks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + include + exclude + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + terminology + mistranslation + omission + untranslated + addition + duplication + inconsistency + grammar + legal + register + locale-specific-content + locale-violation + style + characters + misspelling + typographical + formatting + inconsistent-entities + numbers + markup + pattern-problem + whitespace + internationalization + length + non-conformance + uncategorized + other + + + + + + + + + + 0 + 100 + + + + + + + + + + yes + no + + + + + + 0 + 100 + + + + + + + + + + 0 + 100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cr + lf + crlf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Version of ITS + + + + + + + Version of ITS + + + + + + + + + + + + + + + + + + + simple + + + + + + + + + + + + + + + + + + + + + + + + + xml:id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Container for global rules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declaration of variable used in selectors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Inline element to contain ITS information + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Translate data category + + + + + + + + + + + + + + + + + + + + Rule about the Localization Note data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Localization note + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Terminology data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Directionality data category + + + + + + + + + + + + + + + + + + + + Rule about the Language Information data category + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Elements Within Text data category + + + + + + + + + + + + + + + + + + + + Rule about the Domain data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Disambiguation data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the LocaleFilter data category + + + + + + + + + + + + + + + + + + + + + + + Rule about the Provenance data category + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the External Resource data category + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Target Pointer data category + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Id Value data category + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Preserve Space data category + + + + + + + + + + + + + + + + + + + + + default + preserve + + + + + + + Rule about the Localization Quality Issue data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the MT Confidence data category + + + + + + + + + + + + + + + + + + + + Rule about the Allowed Characters data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rule about the Allowed Characters data category + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standoff markup for Provenance data category + + + + + + + + + + + + + + + + + + Provenance record used in Provenance standoff markup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Standoff markup for Localization Quality Issue data category + + + + + + + + + + + + + + + + + + Issue recorded in Localization Quality standoff markup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/relaxng/docbook.rng b/src/main/relaxng/docbook.rng new file mode 100644 index 00000000..6e5e1278 --- /dev/null +++ b/src/main/relaxng/docbook.rng @@ -0,0 +1,18643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Any attribute, including any attribute in any namespace. + + + + + + + Any element from almost any namespace + + + + + + + + + + + + + + + +
+ + + + Designates the computer or chip architecture to which the element applies + + + + + + Designates the intended audience to which the element applies, for example, system administrators, programmers, or new users. + + + + + + provides a standard place for application-specific effectivity + + + + + + Indicates standards conformance characteristics of the element + + + + + + Indicates the operating system to which the element is applicable + + + + + + Indicates the editorial revision to which the element belongs + + + + + + Indicates something about the security level associated with the element to which it applies + + + + + + Indicates the level of user experience for which the element applies + + + + + + Indicates the computer vendor to which the element applies. + + + + + + Indicates the word size (width in bits) of the computer architecture to which the element applies + + + + + + Indicates the output format (for example, print or epub) to which the element applies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Points to the element whose content is to be used as the text of the link + + + + + + + Points to an internal link target by identifying the value of its xml:id attribute + + + + + + + Points to one or more internal link targets by identifying the value of their xml:id attributes + + + + + + + Identifies a link target with a URI + + + + + + + Identifies the XLink link type + simple + An XLink simple link type + + + + + + Identifies the XLink role of the link + + + + + + + Identifies the XLink arcrole of the link + + + + + + + Identifies the XLink title of the link + + + + + + new + An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context. + replace + An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded. + embed + An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource. + other + The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink show behavior of the link + + + + + + + onLoad + An application should traverse to the ending resource immediately on loading the starting resource. + onRequest + An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal. + other + The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink actuate behavior of the link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the unique ID value of the element + + + + + + + Specifies the DocBook version of the element and its descendants + + + + + + Specifies the natural language of the element and its descendants + + + + + + Specifies the base URI of the element and its descendants + + + + + + + Provides the name or similar semantic identifier assigned to the content in some previous markup scheme + + + + + + Provides the text that is to be generated for a cross reference to the element + + + + + + Specifies a keyword or keywords identifying additional style information + + + + + + changed + The element has been changed. + added + The element is new (has been added to the document). + deleted + The element has been deleted. + off + Explicitly turns off revision markup for this element. + + + + + + Identifies the revision status of the element + + + + + + + ltr + Left-to-right text + rtl + Right-to-left text + lro + Left-to-right override + rlo + Right-to-left override + + + + + + Identifies the direction of text in an element + + + + + + + The RDFa Lite vocab + + + + + + + The RDFa Lite typeof + + + + + + The RDFa Lite property + + + + + + The RDFa Lite resource + + + + + + The RDFa Lite prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the format of the data + + + + + Indentifies the location of the data by URI + + + + Identifies the location of the data by external identifier (entity name) + + + + + + + + continues + Line numbering continues from the immediately preceding element with the same name. + restarts + Line numbering restarts (begins at 1, usually). + + + + + + Determines whether line numbering continues from the previous element or restarts. + + + + + + + numbered + Lines are numbered. + unnumbered + Lines are not numbered. + + + + + + Determines whether lines are numbered. + + + + + + + Specifies the initial line number. + + + + + + + Identifies the language (i.e. programming language) of the verbatim content. + + + + + + Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not. + preserve + Whitespace must be preserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies an identifying string for presentation purposes + + + + + + Specifies the width (in characters) of the element + + + + + + + compact + The spacing should be "compact". + normal + The spacing should be "normal". + + + + + + Specifies (a hint about) the spacing of the content + + + + + + + 0 + The element should be rendered in the current text flow (with the flow column width). + 1 + The element should be rendered across the full text page. + + + + + + Indicates if the element is rendered across the column or the page + + + + + + + Identifies the language (i.e. programming language) of the content. + + + + + + optional + The content describes an optional step or steps. + required + The content describes a required step or steps. + + + + + + Specifies if the content is required or optional. + + + + + + + Specifies style information to be used when rendering the float + + + + + + Specifies the width of the element + + + + + + Specifies the depth of the element + + + + + + Specifies the width of the content rectangle + + + + + + Specifies the depth of the content rectangle + + + + + + 0 + False (do not scale-to-fit; anamorphic scaling may occur) + 1 + True (scale-to-fit; anamorphic scaling is forbidden) + + + + + + Specifies the scaling factor + + + + + + + Specifies a classid for a media object player + + + + + + Specifies the autoplay setting for a media object player + + + + + + center + Centered horizontally + char + Aligned horizontally on the specified character + justify + Fully justified (left and right margins or edges) + left + Left aligned + right + Right aligned + + + + + + bottom + Aligned on the bottom of the region + middle + Centered vertically + top + Aligned on the top of the region + + + + + + doi + A digital object identifier. + isbn + An international standard book number. + isrn + An international standard technical report number (ISO 10444). + issn + An international standard serial number. + istc + An international standard text code. + libraryofcongress + A Library of Congress reference number. + pubsnumber + A publication number (an internal number or possibly organizational standard). + uri + A Uniform Resource Identifier + + + + + + + Identifies the kind of bibliographic identifier + + + + + + + + Identifies the nature of the non-standard bibliographic identifier + + + + + + + + Identifies the kind of bibliographic identifier + other + Indicates that the identifier is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text of the title of a section of a document or of a formal block-level element + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The abbreviation of a title + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The subtitle of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block without a title + + + + + + +
+ +
+ + + + + + + Identifies the controlled vocabulary used by this set's terms + + + + + + + + + + + + + + + + + + + + A set of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + Specifies a ranking for this subject relative to other subjects in the same set + + + + + + + + + + + + + + + + + + + One of a group of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A term in a group of terms describing the subject matter of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A set of keywords describing the content of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + One of a set of keywords describing the content of a document + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of operations to be performed in a well-defined sequence + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A unit of action in a procedure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + Alternative steps in a procedure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for steps that occur within steps in a procedure + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for identifying the results of a procedure or step + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + A portion of a document that is isolated from the main narrative flow + + Element exclusion + + sidebar must not occur among the children or descendants of sidebar + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short description or note about a person + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A quotation set off from the main text + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The source of a block quote or epigraph + + + + + + + + + + + + +
+ +
+ + + sect1 + Render as a first-level section + sect2 + Render as a second-level section + sect3 + Render as a third-level section + sect4 + Render as a fourth-level section + sect5 + Render as a fifth-level section + + + + + + + Indicates how the bridge head should be rendered + + + + + + + + Identifies the nature of the non-standard rendering + + + + + + + + Indicates how the bridge head should be rendered + other + Identifies a non-standard rendering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A free-floating heading + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A remark (or comment) intended for presentation in a draft manuscript + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short inscription at the beginning of a document or component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the desired footnote mark + + + + + + + + + + + + + + + + + + + + A footnote + + Element exclusion + + footnote must not occur among the children or descendants of footnote + + + + Element exclusion + + example must not occur among the children or descendants of footnote + + + + Element exclusion + + figure must not occur among the children or descendants of footnote + + + + Element exclusion + + table must not occur among the children or descendants of footnote + + + + Element exclusion + + equation must not occur among the children or descendants of footnote + + + + Element exclusion + + sidebar must not occur among the children or descendants of footnote + + + + Element exclusion + + task must not occur among the children or descendants of footnote + + + + Element exclusion + + epigraph must not occur among the children or descendants of footnote + + + + Element exclusion + + caution must not occur among the children or descendants of footnote + + + + Element exclusion + + important must not occur among the children or descendants of footnote + + + + Element exclusion + + note must not occur among the children or descendants of footnote + + + + Element exclusion + + tip must not occur among the children or descendants of footnote + + + + Element exclusion + + warning must not occur among the children or descendants of footnote + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph with a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph that contains only text and inline markup, no block elements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + Identifies the type of mark to be used on items in this list + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a bullet or other dingbat + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + continues + Specifies that numbering should begin where the preceding list left off + restarts + Specifies that numbering should begin again at 1 + + + + + + Indicates how list numbering should begin relative to the immediately preceding list + + + + + + + Specifies the initial line number. + + + + + + + ignore + Specifies that numbering should ignore list nesting + inherit + Specifies that numbering should inherit from outer-level lists + + + + + + Indicates whether or not item numbering should be influenced by list nesting + + + + + + + arabic + Specifies Arabic numeration (1, 2, 3, …) + upperalpha + Specifies upper-case alphabetic numeration (A, B, C, …) + loweralpha + Specifies lower-case alphabetic numeration (a, b, c, …) + upperroman + Specifies upper-case Roman numeration (I, II, III, …) + lowerroman + Specifies lower-case Roman numeration (i, ii, iii …) + + + + + + Indicates the desired numeration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a sequentially incremented label + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the keyword for the type of mark that should be used on this + item, instead of the mark that would be used by default + + + + + + + + + + + + + + + + + + + + A wrapper for the elements of a list item + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A segmented list, a list of sets of elements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A list item in a segmented list + + Cardinality of segments and titles + + The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + horiz + A tabular presentation in row-major order. + vert + A tabular presentation in column-major order. + inline + An inline presentation, usually a comma-delimited list. + + + + + + Specifies the type of list presentation. + + + + + + + Specifies the number of columns for horizontal or vertical presentation + + + + + + + + + + + + + + + + + + + + + + + An undecorated list of single words or short phrases + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a simple list + + + + + + +
+ +
+ + + + + + + Indicates a length beyond which the presentation system may consider a term too long and select an alternate presentation for that term, item, or list + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is composed of a set of one or more terms and an associated description + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for a set of terms and the associated description in a variable list + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The word or phrase being defined or described in a variable list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal example, with a title + + Element exclusion + + example must not occur among the children or descendants of example + + + + Element exclusion + + figure must not occur among the children or descendants of example + + + + Element exclusion + + table must not occur among the children or descendants of example + + + + Element exclusion + + equation must not occur among the children or descendants of example + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed example without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + monospaced + The literal layout should be formatted with a monospaced font + normal + The literal layout should be formatted with the current font + + + + + + Specifies the class of literal layout + + + + + + + + + + + + + + + + + + + + + A block of text in which line breaks and white space are to be reproduced faithfully + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + Text that a user sees or might see on a computer screen + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A representation of what the user sees or might see on a computer screen + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal figure, generally an illustration, with a title + + Element exclusion + + example must not occur among the children or descendants of figure + + + + Element exclusion + + figure must not occur among the children or descendants of figure + + + + Element exclusion + + table must not occur among the children or descendants of figure + + + + Element exclusion + + equation must not occur among the children or descendants of figure + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A untitled figure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A displayed media object (video, audio, image, etc.) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline media object (video, audio, image, and so on) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for video data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for audio data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for image data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a text description of an object and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external video data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external audio data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the image data + + + + + + + + + + + Specifies the vertical alignment of the image data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external image data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + Identifies the encoding of the text in the external file + + + + + + + + + + + + + + + + + + + + + + + Pointer to external text data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + Specifies the name of the parameter + + + + + + Specifies the value of the parameter + + + + + + Specifies the type of the value of the parameter + + + + + + + + + + + + + + + + + + + + Application specific parameters for a media player + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A real-world address, generally a postal address + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A street address in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A post office box in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A postal code in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a city in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A state or province in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a country + + + + +
+ +
+ + + + + + + + + + + + + + + + + A telephone number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A fax number + + + + +
+ +
+ + + + + + + + + + + + + + + + + Uncategorized information in address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The institutional affiliation of an individual + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A brief description of an affiliation + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an individual in an organization + + + + +
+ +
+ + + consortium + A consortium + corporation + A corporation + informal + An informal organization + nonprofit + A non-profit organization + + + + + + Specifies the nature of the organization + + + + + + + Specifies the nature of the organization + other + Indicates a non-standard organization class + + + Identifies the non-standard nature of the organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name of an organization + + + + +
+ +
+ + + + + + + + + + + + + + + + + A division of an organization + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The page numbers of an article as published + + + + +
+ +
+ + + + + + + + + + + + + + + + + The personal name of an individual + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The name of an individual author + + + + +
+ +
+ + + + + + + + + + + + + + + + + Wrapper for author information when a document has multiple authors or collaborators + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Identifies a collaborator + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The initials or other short identifier for an author + + + + +
+ +
+ + + + + + + + + + + + + + + + + A person and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An organization and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for document meta-information about a conference + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The dates of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + An identifier, frequently numerical, associated with a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The contract number of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a contract + + + + +
+ +
+ + + + + + + + + + + + + + + + + Copyright information about a document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The year of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the individual or organization that holds a copyright + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + Additional content for the cover of a publication + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The date of publication or revision of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name or number of an edition of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the editor of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + An identifier for a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A citation of a bibliographic identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The source of a document + + + + +
+ +
+ + + hasformat + The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format + haspart + The described resource includes the referenced resource either physically or logically + hasversion + The described resource has a version, edition, or adaptation, namely, the referenced resource + isformatof + The described resource is the same intellectual content of the referenced resource, but presented in another format + ispartof + The described resource is a physical or logical part of the referenced resource + isreferencedby + The described resource is referenced, cited, or otherwise pointed to by the referenced resource + isreplacedby + The described resource is supplanted, displaced, or superceded by the referenced resource + isrequiredby + The described resource is required by the referenced resource, either physically or logically + isversionof + The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format + references + The described resource references, cites, or otherwise points to the referenced resource + replaces + The described resource supplants, displaces, or supersedes the referenced resource + requires + The described resource requires the referenced resource to support its function, delivery, or coherence of content + + + + + + + Identifies the type of relationship + + + + + + + + + Identifies the type of relationship + othertype + The described resource has a non-standard relationship with the referenced resource + + + + A keyword that identififes the type of the non-standard relationship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The relationship of a document to another + + + + +
+ +
+ + + dcmipoint + The DCMI Point identifies a point in space using its geographic coordinates + iso3166 + ISO 3166 Codes for the representation of names of countries + dcmibox + The DCMI Box identifies a region of space using its geographic limits + tgn + The Getty Thesaurus of Geographic Names + + + + + + + Specifies the type of spatial coverage + + + + + + + + + Specifies the type of spatial coverage + otherspatial + Identifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + dcmiperiod + A specification of the limits of a time interval + w3c-dtf + W3C Encoding rules for dates and times—a profile based on ISO 8601 + + + + + + + Specifies the type of temporal coverage + + + + + + + + + Specifies the type of temporal coverage + othertemporal + Specifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The spatial or temporal coverage of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A statement of legal obligations or requirements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + copyeditor + A copy editor + graphicdesigner + A graphic designer + productioneditor + A production editor + technicaleditor + A technical editor + translator + A translator + indexer + An indexer + proofreader + A proof-reader + coverdesigner + A cover designer + interiordesigner + An interior designer + illustrator + An illustrator + reviewer + A reviewer + typesetter + A typesetter + conversion + A converter (a persons responsible for conversion, not an application) + + + + + + + Identifies the nature of the contributor + + + + + + + + Identifies the nature of the non-standard contribution + + + + + + + + Identifies the nature of the contributor + other + Identifies a non-standard contribution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A person or entity, other than an author or editor, credited in a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The numbers of the pages in a book, for use in a bibliographic entry + + + + +
+ +
+ + + + + + + + + + + + + + + + + A summary of the contributions made to a document by a credited source + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + A given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + The given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inherited or family name; in western cultures the last name + + + + +
+ +
+ + + + + + + + + + + + + + + + + The portion of a person's name indicating a relationship to ancestors + + + + +
+ +
+ + + + + + + + + + + + + + + + + A component of a person's name that is not a first name, surname, or lineage + + + + +
+ +
+ + + + + + + + + + + + + + + + + The printing history of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The date of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The publisher of a document + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the publisher of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a particular release of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A history of the revisions to a document + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry describing a single revision in the history of the revisions to a document + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A document revision number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of a revision to a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A extended description of a revision to a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Numbers of the volumes in a series of books + + + + +
+ +
+ + + + + + + + + + + + + + + + + The volume number of a document in a set (as of books in a set or articles in a journal) + + + + +
+ +
+ + + + + + + + + + + + + + + + + The number of an issue of a journal + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software or application package + + + + +
+ +
+ + + + + + + + + + + + + + + + + An email address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A comment on a line in a verbatim listing + + + + +
+ +
+ + + command + A command + function + A function + option + An option + + + + + + Identifies the class of parameter + + + + + + + + + + + + + + + + + + + + + + + + A value or a symbolic reference to a value + + + + +
+ + + + + + + + +
+ + + command + A command + function + A function + option + An option + parameter + A parameter + + + + + + Identifies the nature of the replaceable text + + + + + + + + + + + + + + + + + + + + + + + + Content that may or must be replaced by the user + + + + + + +
+ +
+ + + + Identifies the type of URI specified + + + + + + + + + + + + + + + + + + + + + + A Uniform Resource Identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + An abbreviation, especially one followed by a period + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An often pronounceable word made from the initial (or selected) letters of a name or phrase + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline bibliographic reference to another published work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A citation to a reference page + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference volume number + + + + +
+ +
+ + + article + An article + bbs + A bulletin board system + book + A book + cdrom + A CD-ROM + chapter + A chapter (as of a book) + dvd + A DVD + emailmessage + An email message + gopher + A gopher page + journal + A journal + manuscript + A manuscript + newsposting + A posting to a newsgroup + part + A part (as of a book) + refentry + A reference entry + section + A section (as of a book or article) + series + A series + set + A set (as of books) + webpage + A web page + wiki + A wiki page + + + + + + Identifies the nature of the publication being cited + + + + + + + + + + + + + + + + + + + + + + + + The title of a cited work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Emphasized text + + + + + + +
+ +
+ + + A limited span of emphasized text + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word or phrase in a language other than the primary language of the document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited word or phrase in a language other than the primary language of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A span of text + + + + + + +
+ +
+ + + A limited span of text + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline quotation + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited inline quotation + + + + +
+ +
+ + + + + + + + + + + + + + + + + A subscript (as in H2 +O, the molecular formula for water) + + + + +
+ +
+ + + + + + + + + + + + + + + + + A superscript (as in x2 +, the mathematical notation for x multiplied by itself) + + + + +
+ +
+ + + copyright + A copyright + registered + A registered copyright + service + A service + trade + A trademark + + + + + + Identifies the class of trade mark + + + + + + + + + + + + + + + + + + + + + + + + A trademark + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word meant specifically as a word and not representing anything else + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a footnote (a footnote mark) + + Footnote reference type constraint + + @linkend on footnoteref must point to a footnote. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross reference to another part of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A hypertext link + + + + + + +
+ +
+ + + + + + + + + + + Holds additional information that may be used by the application when resolving the link + + + + + + Specifies the URI of the document in which the link target appears + + + + + + + Specifies the location of the link target in the document + + + + + + Identifies application-specific customization of the link behavior + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A link that addresses its target indirectly + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A spot in the document + + + + +
+ +
+ + + + + + + + + + + + + + + + A text-only annotation, often used for accessibility + + + + + + + + + +
+ + + + Identifies the editorial or publication status of the element on which it occurs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of books + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The dedication of a book or other component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledgements of a book or other component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text at the back of a book describing facts about its production + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An appendix in a book or article + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A chapter, as of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Introductory matter preceding the first chapter of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An introduction to the contents of a part + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a document with no subdivisions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + faq + A collection of frequently asked questions. + journalarticle + An article in a journal or other periodical. + productsheet + A description of a product. + specification + A specification. + techreport + A technical report. + whitepaper + A white paper. + + + + + + Identifies the nature of the article + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An article + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Identifies one or more annotations that apply to this element + + + +
+ + + + + + + Identifies one ore more elements to which this annotation applies + + + + + + + + + + + + + + + + + + + + + + An annotation + + Element exclusion + + annotation must not occur among the children or descendants of annotation + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + Identifies the XLink extended link type + + XLink extended placement + + An XLink extended type element may not occur as the direct child of an XLink extended type element. + + + extended + An XLink extended link type + + + + + + Identifies the XLink locator link type + + XLink locator placement + + An XLink locator type element must occur as the direct child of an XLink extended type element. + + + locator + An XLink locator link type + + + + + + Identifies the XLink arc link type + + XLink arc placement + + An XLink arc type element must occur as the direct child of an XLink extended type element. + + + arc + An XLink arc link type + + + + + + Identifies the XLink resource link type + + XLink resource placement + + An XLink resource type element must occur as the direct child of an XLink extended type element. + + + resource + An XLink resource link type + + + + + + Identifies the XLink title link type + + XLink title placement + + An XLink title type element must occur as the direct child of an XLink extended, locator, or arc type element. + + + title + An XLink title link type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the XLink traversal-from + + + + + + + Specifies the XLink label + + + + + + + Specifies the XLink traversal-to + + + + +
+ + + + + + + + + + + + + Identifies the XLink link type + extended + An XLink extended link + + + + + + + + + + + + + + An XLink extended link + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + locator + An XLink locator link + + + + + + + + + + + + + + + + + + An XLink locator in an extendedlink + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + arc + An XLink arc link + + + + + + + + + + + + + + + + + + + + + + + + + + An XLink arc in an extendedlink + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A top-level section of document + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect1 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect2 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect3 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect4 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of reference entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A reference page (originally a UNIX man-style reference page) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Meta-information for a reference entry + + + + + + + + + + + + + + + + +
+ + + + source + The name of the software product or component to which this topic applies + version + The version of the software product or component to which this topic applies + manual + The section title of the reference page (e.g., User Commands) + sectdesc + The section title of the reference page (believed synonymous with "manual" but in wide use) + software + The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use) + + + + + + + Identifies the kind of miscellaneous information + + + + + + + + Identifies the nature of non-standard miscellaneous information + + + + + + + Identifies the kind of miscellaneious information + other + Indicates that the information is some 'other' kind. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + Meta-information for a reference entry other than the title and volume number + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name, purpose, and classification of a reference page + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of (one of) the subject(s) of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A short (one sentence) synopsis of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The scope or other indication of applicability of a reference entry + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A syntactic synopsis of the subject of the reference page + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section in a refentry + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A major subsection of a reference entry + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect1 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect2 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form. + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of glossary entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the string by which the element's content is to be sorted; if unspecified, the content is used + + + + + + + + + + + + + + + + + + + An entry in a glossary or glosslist + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a list of keywords for the definition + + + + + + + + + + + + + + + + + + + A definition in a glossentry + + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry + to another + + Glosssary 'see' type constraint + + @otherterm on glosssee must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry to another + + Glossary 'seealso' type constraint + + @otherterm on glossseealso must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term, with limited content + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A glossary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a glossary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline definition of a term + + Glossary term definition constraint + + A termdef must contain exactly one firstterm + + + + + + + + +
+ + + + Identifies the relationship between the bibliographic elemnts + + + +
+ + + + + + + + + + + + + + + + + A raw entry in a bibliography + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cooked entry in a bibliography + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A raw container for related bibliographic information + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cooked container for related bibliographic information + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Untyped bibliographic information + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A bibliography + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a bibliography + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of bibliography entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + The units (for example, pages) used to identify the beginning and ending of a reference. + + + + + + + Identifies the beginning of a reference; the location within the work that is being referenced. + + + + + + + Identifies the end of a reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross-reference to a bibliographic entry + + + + +
+ + + + normal + Normal + preferred + Preferred + + + + + + Specifies the significance of the term + + + + + + + Specifies the IDs of the elements to which this term applies + + + + + + + Indicates the page on which this index term occurs in some version of the printed document + + + + + + all + All indexes + global + The global index (as for a combined index of a set of books) + local + The local index (the index for this document only) + + + + + + Specifies the scope of the index term + + + + + + + Specifies the string by which the term is to be sorted; if unspecified, the term content is used + + + + + + Specifies the target index for this term + + + +
+ + + + + + + + + + + + + + + + + A set of index terms in the meta-information of a document + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + Identifies the class of index term + singular + A singular index term + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term + + + + +
+ +
+ + + + + + + Identifies the class of index term + startofrange + The start of a range + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term that covers a range + + + + +
+ +
+ + + + + + + Identifies the class of index term + endofrange + The end of a range + + + + + + Points to the start of the range + + + + + + + + + + + + + + + + + + + Identifies the end of a range associated with an indexed term + + Indexterm 'startref' type constraint + + @startref on indexterm must point to an indexterm. + @startref on indexterm must point to a startofrange indexterm. + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The primary word or phrase under which an index term should be sorted + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A secondary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A tertiary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader instead to another entry in the index + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader also to another entry in the index + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a book or part of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a set of books + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in an index + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry in an index + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A primary term in an index entry, not in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A secondary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A tertiary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See +entry in an index, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See also + entry in an index, rather than in the text + + + + + + +
+ + + + Indicates the page on which this element occurs in some version of the printed document + + + +
+ + + + + + + + + + + + + + + + + + + + + A table of contents + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a table of contents + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + A component title in a table of contents + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + A task to be completed + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary of a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The prerequisites for a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Information related to a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + calspair + Coordinates expressed as a pair of CALS graphic coordinates. + linecolumn + Coordinates expressed as a line and column. + linecolumnpair + Coordinates expressed as a pair of lines and columns. + linerange + Coordinates expressed as a line range. + + + + + + + Identifies the units used in the coords attribute. The default units vary according to the type of callout specified: calspair + for graphics and linecolumn + for line-oriented elements. + + + + + + + + + Indicates that non-standard units are used for this area +. In this case otherunits + must be specified. + other + Coordinates expressed in some non-standard units. + + + + Identifies the units used in the coords + attribute when the units + attribute is other +. This attribute is forbidden otherwise. + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of callout +s + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the areas described by this callout. + + + + + + + + + + + + + + + + + A called out + description of a marked area + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A program listing with associated areas used in callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A collection of regions in a graphic or code example + + + + + + + + + +
+ +
+ + + + + + + Point to the callout +s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.) + + + + + + + Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute. + + + + + + Provides the coordinates of the area. The coordinates must be interpreted using the units + specified. + + + + + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of related areas in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A screen with associated areas used in callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for an image object with callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The location of a callout embedded in text + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a co + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A set of EBNF productions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A production in a set of EBNF productions + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The left-hand side of an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + The right-hand side of an EBNF production + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a URI that points to a production +where the nonterminal + is defined + + + + + + + + + + + + + + + + + + A non-terminal in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A constraint in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cross-reference to an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The definition of a constraint in an EBNF production + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + Specifies the alignment character when align + is set to char +. + + + + + + Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in char + when align + is set to char +. + + 0 + 100 + + + + + + + Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table. + + all + Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders. + bottom + Frame only the bottom of the table. + none + Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well. + sides + Frame the left and right sides of the table. + top + Frame the top of the table. + topbot + Frame the top and bottom of the table. + + + + + + + Specifies the presence or absence of the column separator + + 0 + No column separator rule. + 1 + Provide a column separator rule on the right + + + + + + + Specifies the presence or absence of the row separator + + 0 + No row separator rule. + 1 + Provide a row separator rule below + + + + + + + Specifies the orientation of the table + + land + 90 degrees counter-clockwise from the rest of the text flow. + port + The same orientation as the rest of the text flow. + + + + + + + Specifies the table style + + + + + + Indicates whether or not the entries in the first column should be considered row headers + + firstcol + Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers). + headers + Indicates that row headers are identified by use of the headers attribute on entries in the table. + norowheader + Indicates that entries in the first column have no special significance with respect to column headers. + + + + + + + Specifies the horizontal alignment of text in an entry. + + center + Centered. + char + Aligned on a particular character. + justify + Left and right justified. + left + Left justified. + right + Right justified. + + + + + + + Specifies the vertical alignment of text in an entry. + + bottom + Aligned on the bottom of the entry. + middle + Aligned in the middle. + top + Aligned at the top of the entry. + + + + + + + Specifies a column specification by name. + + + + + + Specifies a starting column by name. + + + + + + Specifies a span by name. + + + + + + + Specifies a starting column by name. + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + Provides a name for a column specification. + + + + + + Provides a name for a span specification. + + + +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for the main content of a table, or part of a table + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one. + + + + + + + Specifies the width of the column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifications for a column in a table + + + + +
+ +
+ + + + + + + Specifies a starting column by name. + + + + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Formatting information for a spanned column in a table + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table footer consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + + + + +
+ +
+ + + + + + + Specifies the number of additional rows which this entry occupies. Defaults to zero. + + + + + + + Specifies the rotation of this entry. A value of 1 (true) rotates the cell 90 degrees counter-clockwise. A value of 0 (false) leaves the cell unrotated. + + 0 + Do not rotate the cell. + 1 + Rotate the cell 90 degrees counter-clockwise. + + + + + + + Specifies the scope of a header. + + row + Applies to the row + col + Applies to the column + rowgroup + Applies to the row group + colgroup + Applies to the column group + + + + + + + Specifies the entry or entries which serve as headers for this element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cell in a table + + Element exclusion + + table must not occur among the children or descendants of entry + + + + Element exclusion + + informaltable must not occur among the children or descendants of entry + + + + + + + + + + + + + +
+ +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the entry table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subtable appearing in place of an entry in a table + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates if the short or long title should be used in a List of Tables + + 0 + Indicates that the full title should be used. + 1 + Indicates that the short short title (titleabbrev) should be used. + + + + + + Indicates if the table should appear in a List of Tables + + 0 + Indicates that the table should not occur in the List of Tables. + 1 + Indicates that the table should appear in the List of Tables. + + + + + + + + + + + + + + + + A formal table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A table without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters. + + + + + This attribute specifies style information for the current element. + + + + + This attribute offers advisory information about the element for which it is set. + + + + + + + + + This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown. + + + + + + + + + Occurs when the pointing device button is clicked over an element. + + + + + Occurs when the pointing device button is double clicked over an element. + + + + + Occurs when the pointing device button is pressed over an element. + + + + + Occurs when the pointing device button is released over an element. + + + + + Occurs when the pointing device is moved onto an element. + + + + + Occurs when the pointing device is moved while it is over an element. + + + + + Occurs when the pointing device is moved away from an element. + + + + + Occurs when a key is pressed and released over an element. + + + + + Occurs when a key is pressed down over an element. + + + + + Occurs when a key is released over an element. + + + + + + + + + + + + + + + + + + + Specifies the alignment of data and the justification of text in a cell. + + left + Left-flush data/Left-justify text. This is the default value for table data. + center + Center data/Center-justify text. This is the default value for table headers. + right + Right-flush data/Right-justify text. + justify + Double-justify text. + char + Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified. + + + + + + This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute. + + + + + When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute. + + + An explicit offset. + + [0-9]+% + + A percentage offset. + + + + + + + + + + Specifies the vertical position of data within a cell. + + top + Cell data is flush with the top of the cell. + middle + Cell data is centered vertically within the cell. This is the default value. + bottom + Cell data is flush with the bottom of the cell. + baseline + All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells. + + + + + + + + + + Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille. + + + + + Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent. + + + An explicit width. + + [0-9]+% + + A percentage width. + + + + + + Specifies the width (in pixels only) of the frame around a table. + + + + + + Specifies which sides of the frame surrounding a table will be visible. + + void + No sides. This is the default value. + above + The top side only. + below + The bottom side only. + hsides + The top and bottom sides only. + lhs + The left-hand side only. + rhs + The right-hand side only. + vsides + The right and left sides only. + box + All four sides. + border + All four sides. + + + + + + Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent. + + none + No rules. This is the default value. + groups + Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only. + rows + Rules will appear between rows only. + cols + Rules will appear between columns only. + all + Rules will appear between all rows and columns. + + + + + + Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells. + + + An explicit spacing. + + [0-9]+% + + A percentage spacing. + + + + + + Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space. + + + An explicit padding. + + [0-9]+% + + A percentage padding. + + + + + + + + + + + Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content. + + + + + This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details. + + + + + Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets. + + + + + Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables. + + row + The current cell provides header information for the rest of the row that contains it + col + The current cell provides header information for the rest of the column that contains it. + rowgroup + The header cell provides header information for the rest of the row group that contains it. + colgroup + The header cell provides header information for the rest of the column group that contains it. + + + + + + Specifies the number of rows spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all rows from the current row to the last row of the table section (thead +, tbody +, or tfoot +) in which the cell is defined. + + + + + + Specifies the number of columns spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all columns from the current column to the last column of the column group (colgroup +) in which the cell is defined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal (captioned) HTML table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An HTML table without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + An HTML table caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + +
+ +
+ + + + + + This attribute, whose value must be an integer > 0, specifies the number of columns spanned + by the col + element; the col + element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current col + element shares its attributes with the next N-1 columns. + + + + + + Specifies a default width for each column spanned by the current col + element. It has the same meaning as the width + attribute for the colgroup + element and overrides it. + + + + + + + + + + Specifications for a column in an HTML table + + + + +
+ +
+ + + + + + This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each colgroup + defines a column group containing one column. If the span attribute is set to N > 0, the current colgroup + element defines a column group containing N columns. User agents must ignore this attribute if the colgroup + element contains one or more col + elements. + + + + + + This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form 0* + (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying 0* + will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a col + element. + + + + + + + + + + A group of columns in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table header consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table footer consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A wrapper for the rows of an HTML table or informal HTML table + + + + + + +
+ +
+ + + + + + + + + + + A row in an HTML table + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table header entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A detailed set of messages, usually error messages + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for an entry in a message set + + + + + + + + + + + + +
+ +
+ + + + + + + The audience to which the message relevant + + + + + + The origin of the message + + + + + + The level of importance or severity of a message + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for a simpler entry in a message set + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The primary component of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A subcomponent of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A related component of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The actual text of a message component in a message set + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a message in a message set + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The level of importance or severity of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The origin of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The audience to which a message in a message set is relevant + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Explanatory material relating to a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + none + No labels + number + Numeric labels + qanda + "Q:" and "A:" labels + + + + + + Specifies the default labelling + + + + + + + + + + + + + + + + + + + + + + + + A question-and-answer set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A titled division in a qandaset + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A question/answer set within a qandaset + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A question in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An answer to a question posed in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A label on a question or answer + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation + + Element exclusion + + example must not occur among the children or descendants of equation + + + + Element exclusion + + figure must not occur among the children or descendants of equation + + + + Element exclusion + + table must not occur among the children or descendants of equation + + + + Element exclusion + + equation must not occur among the children or descendants of equation + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical equation or expression occurring inline + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical phrase that can be represented with ordinary text and a small amount of markup + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is MathML + mathml + Specifies MathML. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A MathML expression in a media object + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + Any element from the MathML namespace + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is SVG + svg + Specifies SVG. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An SVG drawing in a media object + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + Any element from the SVG namespace + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A string of formatting markup in text that is to be represented literally + + + + +
+ +
+ + + + + + + attribute + An attribute + attvalue + An attribute value + element + An element + emptytag + An empty element tag + endtag + An end tag + genentity + A general entity + localname + The local name part of a qualified name + namespace + A namespace + numcharref + A numeric character reference + paramentity + A parameter entity + pi + A processing instruction + prefix + The prefix part of a qualified name + comment + An SGML comment + starttag + A start tag + xmlpi + An XML processing instruction + + + + + + Identifies the nature of the tag content + + + + + + + Identifies the namespace of the tag content + + + + + + + + + + + + + + + + + + + + + + + A component of XML (or SGML) markup + + + + + + + + + +
+ +
+ + + Identifies the class of symbol + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A name that is replaced by a value before processing + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of information + + + + +
+ +
+ + + + + + + + + + + + + + + + + Inline text that is some literal value + + + + +
+ +
+ + + Identifies the (computer) language of the code fragment + + + + + + + + + + + + + + + + + + + + + + + An inline code fragment + + + + + + + + + +
+ +
+ + + Identifies the class of constant + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A programming or system constant + + + + +
+ +
+ + + + + + + copyright + A name with a copyright + registered + A name with a registered copyright + service + A name of a service + trade + A name which is trademarked + + + + + + Specifies the class of product name + + + + + + + + + + + + + + + + + + + + The formal name of a product + + + + +
+ +
+ + + + + + + + + + + + + + + + + A number assigned to a product + + + + +
+ +
+ + + altkey + An alternate or secondary key + constraint + A constraint + datatype + A data type + field + A field + foreignkey + A foreign key + group + A group + index + An index + key1 + The first or primary key + key2 + An alternate or secondary key + name + A name + primarykey + The primary key + procedure + A (stored) procedure + record + A record + rule + A rule + secondarykey + The secondary key + table + A table + user + A user + view + A view + + + + + + Identifies the class of database artifact + + + + + + + + + + + + + + + + + + + + + + + + The name of a database, or part of a database + + + + +
+ +
+ + + hardware + A hardware application + software + A software application + + + + + + Identifies the class of application + + + + + + + + + + + + + + + + + + + + + + + + The name of a software program + + + + +
+ +
+ + + + + + + + + + + + + + + + + A physical part of a computer system + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text on a button in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Graphic and/or text appearing as a icon in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The text of a label in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a menu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a terminal menu item in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a submenu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A selection or series of selections from a menu + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The conventional name of a mouse button + + + + +
+ + + + + + + + + + + + +
+ + + alt + The "Alt" key + altgr + The "Alt Graph" key + backspace + The "Backspace" key + command + The "Command" key + control + The "Control" key + delete + The "Delete" key + down + The down arrow + end + The "End" key + enter + The "Enter" key + escape + The "Escape" key + home + The "Home" key + insert + The "Insert" key + left + The left arrow + meta + The "Meta" key + option + The "Option" key + pagedown + The page down key + pageup + The page up key + right + The right arrow + return + The "Return" key + shift + The "Shift" key + space + The spacebar + tab + The "Tab" key + up + The up arrow + + + + + + + Identifies the function key + + + + + + + + + Identifies the function key + other + Indicates a non-standard function key + + + + Specifies a keyword that identifies the non-standard key + + + + + + + + + + + + + + + + + + + + + + + + + + + + The text printed on a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + The internal, frequently numeric, identifier for a key on a keyboard + + + + +
+ + + + + + + + + + + + +
+ + + click + A (single) mouse click. + double-click + A double mouse click. + press + A mouse or key press. + seq + Sequential clicks or presses. + simul + Simultaneous clicks or presses. + + + + + + + Identifies the nature of the action taken. If keycombo + contains more than one element, simul + is the default, otherwise there is no default. + + + + + + + + + Identifies the nature of the action taken + other + Indicates a non-standard action + + + + Identifies the non-standard action in some unspecified way. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A combination of input actions + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The symbolic name of a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + A graphical user interface (GUI) keyboard shortcut + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + A key combination for an action that is also accessible through a menu + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A character or string indicating the start of an input field in a computer display + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software environment variable + + + + +
+ +
+ + + devicefile + A device + directory + A directory + extension + A filename extension + headerfile + A header file (as for a programming language) + libraryfile + A library file + partition + A partition (as of a hard disk) + symlink + A symbolic link + + + + + + Identifies the class of filename + + + + + + + Specifies the path of the filename + + + + + + + + + + + + + + + + + + + + + + + + + + The name of a file + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an executable program or other software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data, generally text, displayed or presented by a computer + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data entered by the user + + + + + + +
+ +
+ + + + + + + Specifies the character that should separate the command and its top-level arguments + + + + + + Indicates the displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A syntax summary for a software command + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ + + + norepeat + Can not be repeated. + repeat + Can be repeated. + + + + + + Indicates whether or not repetition is possible. + + + + + + + opt + Formatted to indicate that it is optional. + plain + Formatted without indication. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + Indicates optionality. + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An argument in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A group of elements in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + An explicit line break in a command synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + A portion of a cmdsynopsis broken out from the main body of the synopsis + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference to a fragment of a command synopsis + + Synopsis fragment type constraint + + @linkend on synopfragmentref must point to a synopfragment. + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + A general-purpose element for representing the syntax of commands or functions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a function definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the funcdefs of a funcsynopsis + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The prototype of a function + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A function (subroutine) name and its return type + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a function or subroutine, as in a programming language + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating that the function in question takes no arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating a variable number of arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of parameters + + + + + + + + + +
+ +
+ + + + + + + opt + Formatted to indicate that it is optional. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + + + + + + + + + + + + + + Information about a function parameter in a programming language + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Parameters for a function referenced through a function pointer in a synopsis + + + + +
+ +
+ + + + + + + class + This is the synopsis of a class + interface + This is the synopsis of an interface + + + + + + Specifies the nature of the synopsis + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a class definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the contents of a classsynopsis + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A class in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An interface in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An exception in an object-oriented programming language + + + + + + + + + + +
+ + + + Can be used to indicate that whitespace in the modifier should be preserved (for multi-line annotations, for example). + preserve + Extra whitespace and line breaks must be preserved. + + + + +
+ + + + + + + + + + + + + + + + + + + + Modifiers in a synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an interface + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an exception + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The name of a field in a class definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + The initializer for a fieldsynopsis + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a constructor + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a destructor + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a method + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a method + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameters to a method + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of method parameters + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a variable + + + + +
+ +
+ + + + + + + + + + + + + + + + + The value returned by a function + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of a value + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a class, in the object-oriented programming sense + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + A literal listing of all or part of a program + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A note of caution + + Element exclusion + + caution must not occur among the children or descendants of caution + + + + Element exclusion + + important must not occur among the children or descendants of caution + + + + Element exclusion + + note must not occur among the children or descendants of caution + + + + Element exclusion + + tip must not occur among the children or descendants of caution + + + + Element exclusion + + warning must not occur among the children or descendants of caution + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of important + + + + Element exclusion + + important must not occur among the children or descendants of important + + + + Element exclusion + + note must not occur among the children or descendants of important + + + + Element exclusion + + tip must not occur among the children or descendants of important + + + + Element exclusion + + warning must not occur among the children or descendants of important + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A message set off from the text + + Element exclusion + + caution must not occur among the children or descendants of note + + + + Element exclusion + + important must not occur among the children or descendants of note + + + + Element exclusion + + note must not occur among the children or descendants of note + + + + Element exclusion + + tip must not occur among the children or descendants of note + + + + Element exclusion + + warning must not occur among the children or descendants of note + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A suggestion to the user, set off from the text + + Element exclusion + + caution must not occur among the children or descendants of tip + + + + Element exclusion + + important must not occur among the children or descendants of tip + + + + Element exclusion + + note must not occur among the children or descendants of tip + + + + Element exclusion + + tip must not occur among the children or descendants of tip + + + + Element exclusion + + warning must not occur among the children or descendants of tip + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of warning + + + + Element exclusion + + important must not occur among the children or descendants of warning + + + + Element exclusion + + note must not occur among the children or descendants of warning + + + + Element exclusion + + tip must not occur among the children or descendants of warning + + + + Element exclusion + + warning must not occur among the children or descendants of warning + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + An error code + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error name + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error message. + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of an error message + + + + +
+ + + + + + + + +
+ + + daemon + A daemon or other system process (syslogd) + domainname + A domain name (example.com) + etheraddress + An ethernet address (00:05:4E:49:FD:8E) + event + An event of some sort (SIGHUP) + eventhandler + An event handler of some sort (hangup) + filesystem + A filesystem (ext3) + fqdomainname + A fully qualified domain name (my.example.com) + groupname + A group name (wheel) + ipaddress + An IP address (127.0.0.1) + library + A library (libncurses) + macro + A macro + netmask + A netmask (255.255.255.192) + newsgroup + A newsgroup (comp.text.xml) + osname + An operating system name (Hurd) + process + A process (gnome-cups-icon) + protocol + A protocol (ftp) + resource + A resource + securitycontext + A security context (a role, permission, or security token, for example) + server + A server (mail.example.com) + service + A service (ppp) + systemname + A system name (hephaistos) + username + A user name (ndw) + + + + + + + Identifies the nature of the system item + + + + + + + + Identifies the nature of the non-standard system item + + + + + + + + Identifies the kind of systemitemgraphic identifier + other + Indicates that the system item is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A system-related item or term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An option for a software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Optional information + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of data associated with some part of a computer system + + + + +
+ +
+ + + + + + + + + + + Identifies the topic type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A modular unit of documentation not part of any particular narrative flow + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
diff --git a/src/main/relaxng/docbookxi.rng b/src/main/relaxng/docbookxi.rng new file mode 100644 index 00000000..72c46bb4 --- /dev/null +++ b/src/main/relaxng/docbookxi.rng @@ -0,0 +1,18869 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Any attribute, including any attribute in any namespace. + + + + + + + Any element from almost any namespace + + + + + + + + + + + + + + + +
+ + + + Designates the computer or chip architecture to which the element applies + + + + + + Designates the intended audience to which the element applies, for example, system administrators, programmers, or new users. + + + + + + provides a standard place for application-specific effectivity + + + + + + Indicates standards conformance characteristics of the element + + + + + + Indicates the operating system to which the element is applicable + + + + + + Indicates the editorial revision to which the element belongs + + + + + + Indicates something about the security level associated with the element to which it applies + + + + + + Indicates the level of user experience for which the element applies + + + + + + Indicates the computer vendor to which the element applies. + + + + + + Indicates the word size (width in bits) of the computer architecture to which the element applies + + + + + + Indicates the output format (for example, print or epub) to which the element applies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Points to the element whose content is to be used as the text of the link + + + + + + + Points to an internal link target by identifying the value of its xml:id attribute + + + + + + + Points to one or more internal link targets by identifying the value of their xml:id attributes + + + + + + + Identifies a link target with a URI + + + + + + + Identifies the XLink link type + simple + An XLink simple link type + + + + + + Identifies the XLink role of the link + + + + + + + Identifies the XLink arcrole of the link + + + + + + + Identifies the XLink title of the link + + + + + + new + An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context. + replace + An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded. + embed + An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource. + other + The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink show behavior of the link + + + + + + + onLoad + An application should traverse to the ending resource immediately on loading the starting resource. + onRequest + An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal. + other + The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior. + none + The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior. + + + + + + Identifies the XLink actuate behavior of the link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the unique ID value of the element + + + + + + + Specifies the DocBook version of the element and its descendants + + + + + + Specifies the natural language of the element and its descendants + + + + + + Specifies the base URI of the element and its descendants + + + + + + + Provides the name or similar semantic identifier assigned to the content in some previous markup scheme + + + + + + Provides the text that is to be generated for a cross reference to the element + + + + + + Specifies a keyword or keywords identifying additional style information + + + + + + changed + The element has been changed. + added + The element is new (has been added to the document). + deleted + The element has been deleted. + off + Explicitly turns off revision markup for this element. + + + + + + Identifies the revision status of the element + + + + + + + ltr + Left-to-right text + rtl + Right-to-left text + lro + Left-to-right override + rlo + Right-to-left override + + + + + + Identifies the direction of text in an element + + + + + + + The RDFa Lite vocab + + + + + + + The RDFa Lite typeof + + + + + + The RDFa Lite property + + + + + + The RDFa Lite resource + + + + + + The RDFa Lite prefix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the format of the data + + + + + Indentifies the location of the data by URI + + + + Identifies the location of the data by external identifier (entity name) + + + + + + + + continues + Line numbering continues from the immediately preceding element with the same name. + restarts + Line numbering restarts (begins at 1, usually). + + + + + + Determines whether line numbering continues from the previous element or restarts. + + + + + + + numbered + Lines are numbered. + unnumbered + Lines are not numbered. + + + + + + Determines whether lines are numbered. + + + + + + + Specifies the initial line number. + + + + + + + Identifies the language (i.e. programming language) of the verbatim content. + + + + + + Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not. + preserve + Whitespace must be preserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies an identifying string for presentation purposes + + + + + + Specifies the width (in characters) of the element + + + + + + + compact + The spacing should be "compact". + normal + The spacing should be "normal". + + + + + + Specifies (a hint about) the spacing of the content + + + + + + + 0 + The element should be rendered in the current text flow (with the flow column width). + 1 + The element should be rendered across the full text page. + + + + + + Indicates if the element is rendered across the column or the page + + + + + + + Identifies the language (i.e. programming language) of the content. + + + + + + optional + The content describes an optional step or steps. + required + The content describes a required step or steps. + + + + + + Specifies if the content is required or optional. + + + + + + + Specifies style information to be used when rendering the float + + + + + + Specifies the width of the element + + + + + + Specifies the depth of the element + + + + + + Specifies the width of the content rectangle + + + + + + Specifies the depth of the content rectangle + + + + + + 0 + False (do not scale-to-fit; anamorphic scaling may occur) + 1 + True (scale-to-fit; anamorphic scaling is forbidden) + + + + + + Specifies the scaling factor + + + + + + + Specifies a classid for a media object player + + + + + + Specifies the autoplay setting for a media object player + + + + + + center + Centered horizontally + char + Aligned horizontally on the specified character + justify + Fully justified (left and right margins or edges) + left + Left aligned + right + Right aligned + + + + + + bottom + Aligned on the bottom of the region + middle + Centered vertically + top + Aligned on the top of the region + + + + + + doi + A digital object identifier. + isbn + An international standard book number. + isrn + An international standard technical report number (ISO 10444). + issn + An international standard serial number. + istc + An international standard text code. + libraryofcongress + A Library of Congress reference number. + pubsnumber + A publication number (an internal number or possibly organizational standard). + uri + A Uniform Resource Identifier + + + + + + + Identifies the kind of bibliographic identifier + + + + + + + + Identifies the nature of the non-standard bibliographic identifier + + + + + + + + Identifies the kind of bibliographic identifier + other + Indicates that the identifier is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text of the title of a section of a document or of a formal block-level element + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The abbreviation of a title + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The subtitle of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block with only a required title + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A wrapper for information about a component or other block without a title + + + + + + +
+ +
+ + + + + + + Identifies the controlled vocabulary used by this set's terms + + + + + + + + + + + + + + + + + + + + A set of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + Specifies a ranking for this subject relative to other subjects in the same set + + + + + + + + + + + + + + + + + + + One of a group of terms describing the subject matter of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A term in a group of terms describing the subject matter of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A set of keywords describing the content of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + One of a set of keywords describing the content of a document + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of operations to be performed in a well-defined sequence + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A unit of action in a procedure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + Alternative steps in a procedure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for steps that occur within steps in a procedure + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for identifying the results of a procedure or step + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + A portion of a document that is isolated from the main narrative flow + + Element exclusion + + sidebar must not occur among the children or descendants of sidebar + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short description or note about a person + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A quotation set off from the main text + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The source of a block quote or epigraph + + + + + + + + + + + + +
+ +
+ + + sect1 + Render as a first-level section + sect2 + Render as a second-level section + sect3 + Render as a third-level section + sect4 + Render as a fourth-level section + sect5 + Render as a fifth-level section + + + + + + + Indicates how the bridge head should be rendered + + + + + + + + Identifies the nature of the non-standard rendering + + + + + + + + Indicates how the bridge head should be rendered + other + Identifies a non-standard rendering + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A free-floating heading + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A remark (or comment) intended for presentation in a draft manuscript + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A short inscription at the beginning of a document or component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the desired footnote mark + + + + + + + + + + + + + + + + + + + + A footnote + + Element exclusion + + footnote must not occur among the children or descendants of footnote + + + + Element exclusion + + example must not occur among the children or descendants of footnote + + + + Element exclusion + + figure must not occur among the children or descendants of footnote + + + + Element exclusion + + table must not occur among the children or descendants of footnote + + + + Element exclusion + + equation must not occur among the children or descendants of footnote + + + + Element exclusion + + sidebar must not occur among the children or descendants of footnote + + + + Element exclusion + + task must not occur among the children or descendants of footnote + + + + Element exclusion + + epigraph must not occur among the children or descendants of footnote + + + + Element exclusion + + caution must not occur among the children or descendants of footnote + + + + Element exclusion + + important must not occur among the children or descendants of footnote + + + + Element exclusion + + note must not occur among the children or descendants of footnote + + + + Element exclusion + + tip must not occur among the children or descendants of footnote + + + + Element exclusion + + warning must not occur among the children or descendants of footnote + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph with a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A paragraph that contains only text and inline markup, no block elements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + Identifies the type of mark to be used on items in this list + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a bullet or other dingbat + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + continues + Specifies that numbering should begin where the preceding list left off + restarts + Specifies that numbering should begin again at 1 + + + + + + Indicates how list numbering should begin relative to the immediately preceding list + + + + + + + Specifies the initial line number. + + + + + + + ignore + Specifies that numbering should ignore list nesting + inherit + Specifies that numbering should inherit from outer-level lists + + + + + + Indicates whether or not item numbering should be influenced by list nesting + + + + + + + arabic + Specifies Arabic numeration (1, 2, 3, …) + upperalpha + Specifies upper-case alphabetic numeration (A, B, C, …) + loweralpha + Specifies lower-case alphabetic numeration (a, b, c, …) + upperroman + Specifies upper-case Roman numeration (I, II, III, …) + lowerroman + Specifies lower-case Roman numeration (i, ii, iii …) + + + + + + Indicates the desired numeration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is marked with a sequentially incremented label + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the keyword for the type of mark that should be used on this + item, instead of the mark that would be used by default + + + + + + + + + + + + + + + + + + + + A wrapper for the elements of a list item + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A segmented list, a list of sets of elements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A list item in a segmented list + + Cardinality of segments and titles + + The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a list item in a segmented list + + + + + + +
+ +
+ + + + + + + horiz + A tabular presentation in row-major order. + vert + A tabular presentation in column-major order. + inline + An inline presentation, usually a comma-delimited list. + + + + + + Specifies the type of list presentation. + + + + + + + Specifies the number of columns for horizontal or vertical presentation + + + + + + + + + + + + + + + + + + + + + + + An undecorated list of single words or short phrases + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An element of a simple list + + + + + + +
+ +
+ + + + + + + Indicates a length beyond which the presentation system may consider a term too long and select an alternate presentation for that term, item, or list + + + + + + + + + + + + + + + + + + + + + + + + + + A list in which each entry is composed of a set of one or more terms and an associated description + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for a set of terms and the associated description in a variable list + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The word or phrase being defined or described in a variable list + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal example, with a title + + Element exclusion + + example must not occur among the children or descendants of example + + + + Element exclusion + + figure must not occur among the children or descendants of example + + + + Element exclusion + + table must not occur among the children or descendants of example + + + + Element exclusion + + equation must not occur among the children or descendants of example + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed example without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + monospaced + The literal layout should be formatted with a monospaced font + normal + The literal layout should be formatted with the current font + + + + + + Specifies the class of literal layout + + + + + + + + + + + + + + + + + + + + + A block of text in which line breaks and white space are to be reproduced faithfully + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + Text that a user sees or might see on a computer screen + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A representation of what the user sees or might see on a computer screen + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal figure, generally an illustration, with a title + + Element exclusion + + example must not occur among the children or descendants of figure + + + + Element exclusion + + figure must not occur among the children or descendants of figure + + + + Element exclusion + + table must not occur among the children or descendants of figure + + + + Element exclusion + + equation must not occur among the children or descendants of figure + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A untitled figure + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A displayed media object (video, audio, image, etc.) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline media object (video, audio, image, and so on) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for video data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for audio data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for image data and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a text description of an object and its associated meta-information + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external video data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + Specifies the vertical alignment of the video data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external audio data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + Specifies the (horizontal) alignment of the image data + + + + + + + + + + + Specifies the vertical alignment of the image data + + + + + + + + + + + + + + + + + + + + + + + + + + + Determines if anamorphic scaling is forbidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pointer to external image data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + Identifies the encoding of the text in the external file + + + + + + + + + + + + + + + + + + + + + + + Pointer to external text data + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + Specifies the name of the parameter + + + + + + Specifies the value of the parameter + + + + + + Specifies the type of the value of the parameter + + + + + + + + + + + + + + + + + + + + Application specific parameters for a media player + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A real-world address, generally a postal address + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A street address in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A post office box in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A postal code in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a city in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A state or province in an address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a country + + + + +
+ +
+ + + + + + + + + + + + + + + + + A telephone number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A fax number + + + + +
+ +
+ + + + + + + + + + + + + + + + + Uncategorized information in address + + + + +
+ +
+ + + + + + + + + + + + + + + + + The institutional affiliation of an individual + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A brief description of an affiliation + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of an individual in an organization + + + + +
+ +
+ + + consortium + A consortium + corporation + A corporation + informal + An informal organization + nonprofit + A non-profit organization + + + + + + Specifies the nature of the organization + + + + + + + Specifies the nature of the organization + other + Indicates a non-standard organization class + + + Identifies the non-standard nature of the organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name of an organization + + + + +
+ +
+ + + + + + + + + + + + + + + + + A division of an organization + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The page numbers of an article as published + + + + +
+ +
+ + + + + + + + + + + + + + + + + The personal name of an individual + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The name of an individual author + + + + +
+ +
+ + + + + + + + + + + + + + + + + Wrapper for author information when a document has multiple authors or collaborators + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Identifies a collaborator + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The initials or other short identifier for an author + + + + +
+ +
+ + + + + + + + + + + + + + + + + A person and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An organization and associated metadata + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for document meta-information about a conference + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The dates of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + An identifier, frequently numerical, associated with a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a conference for which a document was written + + + + +
+ +
+ + + + + + + + + + + + + + + + + The contract number of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The sponsor of a contract + + + + +
+ +
+ + + + + + + + + + + + + + + + + Copyright information about a document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The year of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the individual or organization that holds a copyright + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + Additional content for the cover of a publication + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The date of publication or revision of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name or number of an edition of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the editor of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + An identifier for a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A citation of a bibliographic identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The source of a document + + + + +
+ +
+ + + hasformat + The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format + haspart + The described resource includes the referenced resource either physically or logically + hasversion + The described resource has a version, edition, or adaptation, namely, the referenced resource + isformatof + The described resource is the same intellectual content of the referenced resource, but presented in another format + ispartof + The described resource is a physical or logical part of the referenced resource + isreferencedby + The described resource is referenced, cited, or otherwise pointed to by the referenced resource + isreplacedby + The described resource is supplanted, displaced, or superceded by the referenced resource + isrequiredby + The described resource is required by the referenced resource, either physically or logically + isversionof + The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format + references + The described resource references, cites, or otherwise points to the referenced resource + replaces + The described resource supplants, displaces, or supersedes the referenced resource + requires + The described resource requires the referenced resource to support its function, delivery, or coherence of content + + + + + + + Identifies the type of relationship + + + + + + + + + Identifies the type of relationship + othertype + The described resource has a non-standard relationship with the referenced resource + + + + A keyword that identififes the type of the non-standard relationship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The relationship of a document to another + + + + +
+ +
+ + + dcmipoint + The DCMI Point identifies a point in space using its geographic coordinates + iso3166 + ISO 3166 Codes for the representation of names of countries + dcmibox + The DCMI Box identifies a region of space using its geographic limits + tgn + The Getty Thesaurus of Geographic Names + + + + + + + Specifies the type of spatial coverage + + + + + + + + + Specifies the type of spatial coverage + otherspatial + Identifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + dcmiperiod + A specification of the limits of a time interval + w3c-dtf + W3C Encoding rules for dates and times—a profile based on ISO 8601 + + + + + + + Specifies the type of temporal coverage + + + + + + + + + Specifies the type of temporal coverage + othertemporal + Specifies a non-standard type of coverage + + + + A keyword that identifies the type of non-standard coverage + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The spatial or temporal coverage of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A statement of legal obligations or requirements + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + copyeditor + A copy editor + graphicdesigner + A graphic designer + productioneditor + A production editor + technicaleditor + A technical editor + translator + A translator + indexer + An indexer + proofreader + A proof-reader + coverdesigner + A cover designer + interiordesigner + An interior designer + illustrator + An illustrator + reviewer + A reviewer + typesetter + A typesetter + conversion + A converter (a persons responsible for conversion, not an application) + + + + + + + Identifies the nature of the contributor + + + + + + + + Identifies the nature of the non-standard contribution + + + + + + + + Identifies the nature of the contributor + other + Identifies a non-standard contribution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A person or entity, other than an author or editor, credited in a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The numbers of the pages in a book, for use in a bibliographic entry + + + + +
+ +
+ + + + + + + + + + + + + + + + + A summary of the contributions made to a document by a credited source + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + A given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + The given name of a person + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inherited or family name; in western cultures the last name + + + + +
+ +
+ + + + + + + + + + + + + + + + + The portion of a person's name indicating a relationship to ancestors + + + + +
+ +
+ + + + + + + + + + + + + + + + + A component of a person's name that is not a first name, surname, or lineage + + + + +
+ +
+ + + + + + + + + + + + + + + + + The printing history of a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The date of publication of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + The publisher of a document + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of the publisher of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a particular release of a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A history of the revisions to a document + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry describing a single revision in the history of the revisions to a document + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A document revision number + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of a revision to a document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A extended description of a revision to a document + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Numbers of the volumes in a series of books + + + + +
+ +
+ + + + + + + + + + + + + + + + + The volume number of a document in a set (as of books in a set or articles in a journal) + + + + +
+ +
+ + + + + + + + + + + + + + + + + The number of an issue of a journal + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software or application package + + + + +
+ +
+ + + + + + + + + + + + + + + + + An email address + + + + +
+ +
+ + + + + + + + + + + + + + + + + A comment on a line in a verbatim listing + + + + +
+ +
+ + + command + A command + function + A function + option + An option + + + + + + Identifies the class of parameter + + + + + + + + + + + + + + + + + + + + + + + + A value or a symbolic reference to a value + + + + +
+ + + + + + + + +
+ + + command + A command + function + A function + option + An option + parameter + A parameter + + + + + + Identifies the nature of the replaceable text + + + + + + + + + + + + + + + + + + + + + + + + Content that may or must be replaced by the user + + + + + + +
+ +
+ + + + Identifies the type of URI specified + + + + + + + + + + + + + + + + + + + + + + A Uniform Resource Identifier + + + + +
+ +
+ + + + + + + + + + + + + + + + + An abbreviation, especially one followed by a period + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An often pronounceable word made from the initial (or selected) letters of a name or phrase + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline bibliographic reference to another published work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A citation to a reference page + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The title of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference volume number + + + + +
+ +
+ + + article + An article + bbs + A bulletin board system + book + A book + cdrom + A CD-ROM + chapter + A chapter (as of a book) + dvd + A DVD + emailmessage + An email message + gopher + A gopher page + journal + A journal + manuscript + A manuscript + newsposting + A posting to a newsgroup + part + A part (as of a book) + refentry + A reference entry + section + A section (as of a book or article) + series + A series + set + A set (as of books) + webpage + A web page + wiki + A wiki page + + + + + + Identifies the nature of the publication being cited + + + + + + + + + + + + + + + + + + + + + + + + The title of a cited work + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Emphasized text + + + + + + +
+ +
+ + + A limited span of emphasized text + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word or phrase in a language other than the primary language of the document + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited word or phrase in a language other than the primary language of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + A span of text + + + + + + +
+ +
+ + + A limited span of text + + + + +
+ +
+ + + + + + + + + + + + + + + + + An inline quotation + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A limited inline quotation + + + + +
+ +
+ + + + + + + + + + + + + + + + + A subscript (as in H2 +O, the molecular formula for water) + + + + +
+ +
+ + + + + + + + + + + + + + + + + A superscript (as in x2 +, the mathematical notation for x multiplied by itself) + + + + +
+ +
+ + + copyright + A copyright + registered + A registered copyright + service + A service + trade + A trademark + + + + + + Identifies the class of trade mark + + + + + + + + + + + + + + + + + + + + + + + + A trademark + + + + +
+ +
+ + + + + + + + + + + + + + + + + A word meant specifically as a word and not representing anything else + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a footnote (a footnote mark) + + Footnote reference type constraint + + @linkend on footnoteref must point to a footnote. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross reference to another part of the document + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A hypertext link + + + + + + +
+ +
+ + + + + + + + + + + Holds additional information that may be used by the application when resolving the link + + + + + + Specifies the URI of the document in which the link target appears + + + + + + + Specifies the location of the link target in the document + + + + + + Identifies application-specific customization of the link behavior + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A link that addresses its target indirectly + + + + + + +
+ +
+ + + + + + + + + + + + + + + + A spot in the document + + + + +
+ +
+ + + + + + + + + + + + + + + + A text-only annotation, often used for accessibility + + + + + + + + + +
+ + + + Identifies the editorial or publication status of the element on which it occurs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of books + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The dedication of a book or other component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Acknowledgements of a book or other component + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text at the back of a book describing facts about its production + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An appendix in a book or article + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A chapter, as of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Introductory matter preceding the first chapter of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An introduction to the contents of a part + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a document with no subdivisions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + faq + A collection of frequently asked questions. + journalarticle + An article in a journal or other periodical. + productsheet + A description of a product. + specification + A specification. + techreport + A technical report. + whitepaper + A white paper. + + + + + + Identifies the nature of the article + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An article + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Identifies one or more annotations that apply to this element + + + +
+ + + + + + + Identifies one ore more elements to which this annotation applies + + + + + + + + + + + + + + + + + + + + + + An annotation + + Element exclusion + + annotation must not occur among the children or descendants of annotation + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + Identifies the XLink extended link type + + XLink extended placement + + An XLink extended type element may not occur as the direct child of an XLink extended type element. + + + extended + An XLink extended link type + + + + + + Identifies the XLink locator link type + + XLink locator placement + + An XLink locator type element must occur as the direct child of an XLink extended type element. + + + locator + An XLink locator link type + + + + + + Identifies the XLink arc link type + + XLink arc placement + + An XLink arc type element must occur as the direct child of an XLink extended type element. + + + arc + An XLink arc link type + + + + + + Identifies the XLink resource link type + + XLink resource placement + + An XLink resource type element must occur as the direct child of an XLink extended type element. + + + resource + An XLink resource link type + + + + + + Identifies the XLink title link type + + XLink title placement + + An XLink title type element must occur as the direct child of an XLink extended, locator, or arc type element. + + + title + An XLink title link type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the XLink traversal-from + + + + + + + Specifies the XLink label + + + + + + + Specifies the XLink traversal-to + + + + +
+ + + + + + + + + + + + + Identifies the XLink link type + extended + An XLink extended link + + + + + + + + + + + + + + An XLink extended link + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + locator + An XLink locator link + + + + + + + + + + + + + + + + + + An XLink locator in an extendedlink + + + + +
+ +
+ + + + + + + + + + + + + Identifies the XLink link type + arc + An XLink arc link + + + + + + + + + + + + + + + + + + + + + + + + + + An XLink arc in an extendedlink + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A top-level section of document + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect1 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect2 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect3 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection within a sect4 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A collection of reference entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A reference page (originally a UNIX man-style reference page) + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Meta-information for a reference entry + + + + + + + + + + + + + + + + +
+ + + + source + The name of the software product or component to which this topic applies + version + The version of the software product or component to which this topic applies + manual + The section title of the reference page (e.g., User Commands) + sectdesc + The section title of the reference page (believed synonymous with "manual" but in wide use) + software + The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use) + + + + + + + Identifies the kind of miscellaneous information + + + + + + + + Identifies the nature of non-standard miscellaneous information + + + + + + + Identifies the kind of miscellaneious information + other + Indicates that the information is some 'other' kind. + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + Meta-information for a reference entry other than the title and volume number + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name, purpose, and classification of a reference page + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A description of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of (one of) the subject(s) of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A short (one sentence) synopsis of the topic of a reference page + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The scope or other indication of applicability of a reference entry + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A syntactic synopsis of the subject of the reference page + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A recursive section in a refentry + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A major subsection of a reference entry + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect1 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subsection of a refsect2 + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + + + + + + + + + + + Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form. + + + + +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of glossary entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies the string by which the element's content is to be sorted; if unspecified, the content is used + + + + + + + + + + + + + + + + + + + An entry in a glossary or glosslist + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a list of keywords for the definition + + + + + + + + + + + + + + + + + + + A definition in a glossentry + + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry + to another + + Glosssary 'see' type constraint + + @otherterm on glosssee must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + Identifies the other term + + + + + + + + + + + + + + + + + + + + A cross-reference from one glossentry to another + + Glossary 'seealso' type constraint + + @otherterm on glossseealso must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + The first occurrence of a term, with limited content + + Glossary 'firstterm' type constraint + + @linkend on firstterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A glossary term + + Glossary 'glossterm' type constraint + + @linkend on glossterm must point to a glossentry. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A glossary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a glossary + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + An inline definition of a term + + Glossary term definition constraint + + A termdef must contain exactly one firstterm + + + + + + + + +
+ + + + Identifies the relationship between the bibliographic elemnts + + + +
+ + + + + + + + + + + + + + + + + A raw entry in a bibliography + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cooked entry in a bibliography + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A raw container for related bibliographic information + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cooked container for related bibliographic information + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Untyped bibliographic information + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A bibliography + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A section of a bibliography + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for a list of bibliography entries + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + The units (for example, pages) used to identify the beginning and ending of a reference. + + + + + + + Identifies the beginning of a reference; the location within the work that is being referenced. + + + + + + + Identifies the end of a reference. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cross-reference to a bibliographic entry + + + + +
+ + + + normal + Normal + preferred + Preferred + + + + + + Specifies the significance of the term + + + + + + + Specifies the IDs of the elements to which this term applies + + + + + + + Indicates the page on which this index term occurs in some version of the printed document + + + + + + all + All indexes + global + The global index (as for a combined index of a set of books) + local + The local index (the index for this document only) + + + + + + Specifies the scope of the index term + + + + + + + Specifies the string by which the term is to be sorted; if unspecified, the term content is used + + + + + + Specifies the target index for this term + + + +
+ + + + + + + + + + + + + + + + + A set of index terms in the meta-information of a document + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + Identifies the class of index term + singular + A singular index term + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term + + + + +
+ +
+ + + + + + + Identifies the class of index term + startofrange + The start of a range + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for an indexed term that covers a range + + + + +
+ +
+ + + + + + + Identifies the class of index term + endofrange + The end of a range + + + + + + Points to the start of the range + + + + + + + + + + + + + + + + + + + Identifies the end of a range associated with an indexed term + + Indexterm 'startref' type constraint + + @startref on indexterm must point to an indexterm. + @startref on indexterm must point to a startofrange indexterm. + + + + + + +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The primary word or phrase under which an index term should be sorted + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A secondary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A tertiary word or phrase in an index term + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader instead to another entry in the index + + + + + + +
+ +
+ + + + + + + + normal + under + + + + + + + + + + + + + + + + + + + + Part of an index term directing the reader also to another entry in the index + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a book or part of a book + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An index to a set of books + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in an index + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An entry in an index + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A primary term in an index entry, not in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A secondary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A tertiary term in an index entry, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See +entry in an index, rather than in the text + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + A See also + entry in an index, rather than in the text + + + + + + +
+ + + + Indicates the page on which this element occurs in some version of the printed document + + + +
+ + + + + + + + + + + + + + + + + + + + + A table of contents + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A division in a table of contents + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + A component title in a table of contents + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + A task to be completed + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A summary of a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The prerequisites for a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Information related to a task + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + calspair + Coordinates expressed as a pair of CALS graphic coordinates. + linecolumn + Coordinates expressed as a line and column. + linecolumnpair + Coordinates expressed as a pair of lines and columns. + linerange + Coordinates expressed as a line range. + + + + + + + Identifies the units used in the coords attribute. The default units vary according to the type of callout specified: calspair + for graphics and linecolumn + for line-oriented elements. + + + + + + + + + Indicates that non-standard units are used for this area +. In this case otherunits + must be specified. + other + Coordinates expressed in some non-standard units. + + + + Identifies the units used in the coords + attribute when the units + attribute is other +. This attribute is forbidden otherwise. + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + A list of callout +s + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + Identifies the areas described by this callout. + + + + + + + + + + + + + + + + + A called out + description of a marked area + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A program listing with associated areas used in callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + A collection of regions in a graphic or code example + + + + + + + + + +
+ +
+ + + + + + + Point to the callout +s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.) + + + + + + + Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute. + + + + + + Provides the coordinates of the area. The coordinates must be interpreted using the units + specified. + + + + + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A region defined for a callout in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of related areas in a graphic or code example + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A screen with associated areas used in callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A wrapper for an image object with callouts + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The location of a callout embedded in text + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A cross reference to a co + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A set of EBNF productions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A production in a set of EBNF productions + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The left-hand side of an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + The right-hand side of an EBNF production + + + + + + + + + + + +
+ +
+ + + + + + + Specifies a URI that points to a production +where the nonterminal + is defined + + + + + + + + + + + + + + + + + + A non-terminal in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A constraint in an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + A cross-reference to an EBNF production + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The definition of a constraint in an EBNF production + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ + + + Specifies the alignment character when align + is set to char +. + + + + + + Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in char + when align + is set to char +. + + 0 + 100 + + + + + + + Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table. + + all + Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders. + bottom + Frame only the bottom of the table. + none + Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well. + sides + Frame the left and right sides of the table. + top + Frame the top of the table. + topbot + Frame the top and bottom of the table. + + + + + + + Specifies the presence or absence of the column separator + + 0 + No column separator rule. + 1 + Provide a column separator rule on the right + + + + + + + Specifies the presence or absence of the row separator + + 0 + No row separator rule. + 1 + Provide a row separator rule below + + + + + + + Specifies the orientation of the table + + land + 90 degrees counter-clockwise from the rest of the text flow. + port + The same orientation as the rest of the text flow. + + + + + + + Specifies the table style + + + + + + Indicates whether or not the entries in the first column should be considered row headers + + firstcol + Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers). + headers + Indicates that row headers are identified by use of the headers attribute on entries in the table. + norowheader + Indicates that entries in the first column have no special significance with respect to column headers. + + + + + + + Specifies the horizontal alignment of text in an entry. + + center + Centered. + char + Aligned on a particular character. + justify + Left and right justified. + left + Left justified. + right + Right justified. + + + + + + + Specifies the vertical alignment of text in an entry. + + bottom + Aligned on the bottom of the entry. + middle + Aligned in the middle. + top + Aligned at the top of the entry. + + + + + + + Specifies a column specification by name. + + + + + + Specifies a starting column by name. + + + + + + Specifies a span by name. + + + + + + + Specifies a starting column by name. + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + Provides a name for a column specification. + + + + + + Provides a name for a span specification. + + + +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for the main content of a table, or part of a table + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one. + + + + + + + Specifies the width of the column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifications for a column in a table + + + + +
+ +
+ + + + + + + Specifies a starting column by name. + + + + + + Specifies an ending column by name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Formatting information for a spanned column in a table + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table footer consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + + + + +
+ +
+ + + + + + + Specifies the number of additional rows which this entry occupies. Defaults to zero. + + + + + + + Specifies the rotation of this entry. A value of 1 (true) rotates the cell 90 degrees counter-clockwise. A value of 0 (false) leaves the cell unrotated. + + 0 + Do not rotate the cell. + 1 + Rotate the cell 90 degrees counter-clockwise. + + + + + + + Specifies the scope of a header. + + row + Applies to the row + col + Applies to the column + rowgroup + Applies to the row group + colgroup + Applies to the column group + + + + + + + Specifies the entry or entries which serve as headers for this element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A cell in a table + + Element exclusion + + table must not occur among the children or descendants of entry + + + + Element exclusion + + informaltable must not occur among the children or descendants of entry + + + + + + + + + + + + + +
+ +
+ + + + + + + Additional style information for downstream processing; typically the name of a style. + + + + + + The number of columns in the entry table. Must be an integer greater than zero. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subtable appearing in place of an entry in a table + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A table header consisting of one or more rows + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A wrapper for the rows of a table or informal table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + A row in a table + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates if the short or long title should be used in a List of Tables + + 0 + Indicates that the full title should be used. + 1 + Indicates that the short short title (titleabbrev) should be used. + + + + + + Indicates if the table should appear in a List of Tables + + 0 + Indicates that the table should not occur in the List of Tables. + 1 + Indicates that the table should appear in the List of Tables. + + + + + + + + + + + + + + + + A formal table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A table without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters. + + + + + This attribute specifies style information for the current element. + + + + + This attribute offers advisory information about the element for which it is set. + + + + + + + + + This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown. + + + + + + + + + Occurs when the pointing device button is clicked over an element. + + + + + Occurs when the pointing device button is double clicked over an element. + + + + + Occurs when the pointing device button is pressed over an element. + + + + + Occurs when the pointing device button is released over an element. + + + + + Occurs when the pointing device is moved onto an element. + + + + + Occurs when the pointing device is moved while it is over an element. + + + + + Occurs when the pointing device is moved away from an element. + + + + + Occurs when a key is pressed and released over an element. + + + + + Occurs when a key is pressed down over an element. + + + + + Occurs when a key is released over an element. + + + + + + + + + + + + + + + + + + + Specifies the alignment of data and the justification of text in a cell. + + left + Left-flush data/Left-justify text. This is the default value for table data. + center + Center data/Center-justify text. This is the default value for table headers. + right + Right-flush data/Right-justify text. + justify + Double-justify text. + char + Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified. + + + + + + This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute. + + + + + When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute. + + + An explicit offset. + + [0-9]+% + + A percentage offset. + + + + + + + + + + Specifies the vertical position of data within a cell. + + top + Cell data is flush with the top of the cell. + middle + Cell data is centered vertically within the cell. This is the default value. + bottom + Cell data is flush with the bottom of the cell. + baseline + All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells. + + + + + + + + + + Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille. + + + + + Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent. + + + An explicit width. + + [0-9]+% + + A percentage width. + + + + + + Specifies the width (in pixels only) of the frame around a table. + + + + + + Specifies which sides of the frame surrounding a table will be visible. + + void + No sides. This is the default value. + above + The top side only. + below + The bottom side only. + hsides + The top and bottom sides only. + lhs + The left-hand side only. + rhs + The right-hand side only. + vsides + The right and left sides only. + box + All four sides. + border + All four sides. + + + + + + Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent. + + none + No rules. This is the default value. + groups + Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only. + rows + Rules will appear between rows only. + cols + Rules will appear between columns only. + all + Rules will appear between all rows and columns. + + + + + + Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells. + + + An explicit spacing. + + [0-9]+% + + A percentage spacing. + + + + + + Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space. + + + An explicit padding. + + [0-9]+% + + A percentage padding. + + + + + + + + + + + Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content. + + + + + This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details. + + + + + Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets. + + + + + Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables. + + row + The current cell provides header information for the rest of the row that contains it + col + The current cell provides header information for the rest of the column that contains it. + rowgroup + The header cell provides header information for the rest of the row group that contains it. + colgroup + The header cell provides header information for the rest of the column group that contains it. + + + + + + Specifies the number of rows spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all rows from the current row to the last row of the table section (thead +, tbody +, or tfoot +) in which the cell is defined. + + + + + + Specifies the number of columns spanned by the current cell. The default value of this attribute is one (1 +). The value zero (0 +) means that the cell spans all columns from the current column to the last column of the column group (colgroup +) in which the cell is defined. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A formal (captioned) HTML table in a document + + Element exclusion + + example must not occur among the children or descendants of table + + + + Element exclusion + + figure must not occur among the children or descendants of table + + + + Element exclusion + + equation must not occur among the children or descendants of table + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An HTML table without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + An HTML table caption + + Element exclusion + + example must not occur among the children or descendants of caption + + + + Element exclusion + + figure must not occur among the children or descendants of caption + + + + Element exclusion + + table must not occur among the children or descendants of caption + + + + Element exclusion + + equation must not occur among the children or descendants of caption + + + + Element exclusion + + sidebar must not occur among the children or descendants of caption + + + + Element exclusion + + task must not occur among the children or descendants of caption + + + + Element exclusion + + caution must not occur among the children or descendants of caption + + + + Element exclusion + + important must not occur among the children or descendants of caption + + + + Element exclusion + + note must not occur among the children or descendants of caption + + + + Element exclusion + + tip must not occur among the children or descendants of caption + + + + Element exclusion + + warning must not occur among the children or descendants of caption + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + +
+ +
+ + + + + + This attribute, whose value must be an integer > 0, specifies the number of columns spanned + by the col + element; the col + element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current col + element shares its attributes with the next N-1 columns. + + + + + + Specifies a default width for each column spanned by the current col + element. It has the same meaning as the width + attribute for the colgroup + element and overrides it. + + + + + + + + + + Specifications for a column in an HTML table + + + + +
+ +
+ + + + + + This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each colgroup + defines a column group containing one column. If the span attribute is set to N > 0, the current colgroup + element defines a column group containing N columns. User agents must ignore this attribute if the colgroup + element contains one or more col + elements. + + + + + + This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form 0* + (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying 0* + will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a col + element. + + + + + + + + + + A group of columns in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table header consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A table footer consisting of one or more rows in an HTML table + + + + + + +
+ +
+ + + + + + + + + + + A wrapper for the rows of an HTML table or informal HTML table + + + + + + +
+ +
+ + + + + + + + + + + A row in an HTML table + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table header entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + A table entry in an HTML table + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A detailed set of messages, usually error messages + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A wrapper for an entry in a message set + + + + + + + + + + + + +
+ +
+ + + + + + + The audience to which the message relevant + + + + + + The origin of the message + + + + + + The level of importance or severity of a message + + + + + + + + + + + + + + + + + + + + + + + + + A wrapper for a simpler entry in a message set + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + The primary component of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A subcomponent of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A related component of a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The actual text of a message component in a message set + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Information about a message in a message set + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The level of importance or severity of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The origin of a message in a message set + + + + +
+ +
+ + + + + + + + + + + + + + + + + The audience to which a message in a message set is relevant + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + Explanatory material relating to a message in a message set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + + + + + none + No labels + number + Numeric labels + qanda + "Q:" and "A:" labels + + + + + + Specifies the default labelling + + + + + + + + + + + + + + + + + + + + + + + + A question-and-answer set + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A titled division in a qandaset + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + A question/answer set within a qandaset + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A question in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An answer to a question posed in a qandaset + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A label on a question or answer + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation + + Element exclusion + + example must not occur among the children or descendants of equation + + + + Element exclusion + + figure must not occur among the children or descendants of equation + + + + Element exclusion + + table must not occur among the children or descendants of equation + + + + Element exclusion + + equation must not occur among the children or descendants of equation + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + A displayed mathematical equation without a title + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical equation or expression occurring inline + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A mathematical phrase that can be represented with ordinary text and a small amount of markup + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is MathML + mathml + Specifies MathML. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A MathML expression in a media object + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + Any element from the MathML namespace + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + Specifies that the format of the data is SVG + svg + Specifies SVG. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An SVG drawing in a media object + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + +
+ +
+ + + Any element from the SVG namespace + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A string of formatting markup in text that is to be represented literally + + + + +
+ +
+ + + + + + + attribute + An attribute + attvalue + An attribute value + element + An element + emptytag + An empty element tag + endtag + An end tag + genentity + A general entity + localname + The local name part of a qualified name + namespace + A namespace + numcharref + A numeric character reference + paramentity + A parameter entity + pi + A processing instruction + prefix + The prefix part of a qualified name + comment + An SGML comment + starttag + A start tag + xmlpi + An XML processing instruction + + + + + + Identifies the nature of the tag content + + + + + + + Identifies the namespace of the tag content + + + + + + + + + + + + + + + + + + + + + + + A component of XML (or SGML) markup + + + + + + + + + +
+ +
+ + + Identifies the class of symbol + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A name that is replaced by a value before processing + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of information + + + + +
+ +
+ + + + + + + + + + + + + + + + + Inline text that is some literal value + + + + +
+ +
+ + + Identifies the (computer) language of the code fragment + + + + + + + + + + + + + + + + + + + + + + + An inline code fragment + + + + + + + + + +
+ +
+ + + Identifies the class of constant + limit + The value is a limit of some kind + + + + + + + + + + + + + + + + + + + + + + + A programming or system constant + + + + +
+ +
+ + + + + + + copyright + A name with a copyright + registered + A name with a registered copyright + service + A name of a service + trade + A name which is trademarked + + + + + + Specifies the class of product name + + + + + + + + + + + + + + + + + + + + The formal name of a product + + + + +
+ +
+ + + + + + + + + + + + + + + + + A number assigned to a product + + + + +
+ +
+ + + altkey + An alternate or secondary key + constraint + A constraint + datatype + A data type + field + A field + foreignkey + A foreign key + group + A group + index + An index + key1 + The first or primary key + key2 + An alternate or secondary key + name + A name + primarykey + The primary key + procedure + A (stored) procedure + record + A record + rule + A rule + secondarykey + The secondary key + table + A table + user + A user + view + A view + + + + + + Identifies the class of database artifact + + + + + + + + + + + + + + + + + + + + + + + + The name of a database, or part of a database + + + + +
+ +
+ + + hardware + A hardware application + software + A software application + + + + + + Identifies the class of application + + + + + + + + + + + + + + + + + + + + + + + + The name of a software program + + + + +
+ +
+ + + + + + + + + + + + + + + + + A physical part of a computer system + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + The text on a button in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Graphic and/or text appearing as a icon in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The text of a label in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a menu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a terminal menu item in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a submenu in a GUI + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A selection or series of selections from a menu + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The conventional name of a mouse button + + + + +
+ + + + + + + + + + + + +
+ + + alt + The "Alt" key + altgr + The "Alt Graph" key + backspace + The "Backspace" key + command + The "Command" key + control + The "Control" key + delete + The "Delete" key + down + The down arrow + end + The "End" key + enter + The "Enter" key + escape + The "Escape" key + home + The "Home" key + insert + The "Insert" key + left + The left arrow + meta + The "Meta" key + option + The "Option" key + pagedown + The page down key + pageup + The page up key + right + The right arrow + return + The "Return" key + shift + The "Shift" key + space + The spacebar + tab + The "Tab" key + up + The up arrow + + + + + + + Identifies the function key + + + + + + + + + Identifies the function key + other + Indicates a non-standard function key + + + + Specifies a keyword that identifies the non-standard key + + + + + + + + + + + + + + + + + + + + + + + + + + + + The text printed on a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + The internal, frequently numeric, identifier for a key on a keyboard + + + + +
+ + + + + + + + + + + + +
+ + + click + A (single) mouse click. + double-click + A double mouse click. + press + A mouse or key press. + seq + Sequential clicks or presses. + simul + Simultaneous clicks or presses. + + + + + + + Identifies the nature of the action taken. If keycombo + contains more than one element, simul + is the default, otherwise there is no default. + + + + + + + + + Identifies the nature of the action taken + other + Indicates a non-standard action + + + + Identifies the non-standard action in some unspecified way. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A combination of input actions + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The symbolic name of a key on a keyboard + + + + +
+ +
+ + + + + + + + + + + + + + + + + A graphical user interface (GUI) keyboard shortcut + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + A key combination for an action that is also accessible through a menu + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A character or string indicating the start of an input field in a computer display + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A software environment variable + + + + +
+ +
+ + + devicefile + A device + directory + A directory + extension + A filename extension + headerfile + A header file (as for a programming language) + libraryfile + A library file + partition + A partition (as of a hard disk) + symlink + A symbolic link + + + + + + Identifies the class of filename + + + + + + + Specifies the path of the filename + + + + + + + + + + + + + + + + + + + + + + + + + + The name of a file + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an executable program or other software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data, generally text, displayed or presented by a computer + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Data entered by the user + + + + + + +
+ +
+ + + + + + + Specifies the character that should separate the command and its top-level arguments + + + + + + Indicates the displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A syntax summary for a software command + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ + + + norepeat + Can not be repeated. + repeat + Can be repeated. + + + + + + Indicates whether or not repetition is possible. + + + + + + + opt + Formatted to indicate that it is optional. + plain + Formatted without indication. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + Indicates optionality. + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An argument in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A group of elements in a cmdsynopsis + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + An explicit line break in a command synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + A portion of a cmdsynopsis broken out from the main body of the synopsis + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A reference to a fragment of a command synopsis + + Synopsis fragment type constraint + + @linkend on synopfragmentref must point to a synopfragment. + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + A general-purpose element for representing the syntax of commands or functions + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a function definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the funcdefs of a funcsynopsis + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The prototype of a function + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A function (subroutine) name and its return type + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a function or subroutine, as in a programming language + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating that the function in question takes no arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + An empty element in a function synopsis indicating a variable number of arguments + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of parameters + + + + + + + + + +
+ +
+ + + + + + + opt + Formatted to indicate that it is optional. + req + Formatted to indicate that it is required. + + + + + + Indicates optionality. + + + + + + + + + + + + + + + + + + + + Information about a function parameter in a programming language + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + Parameters for a function referenced through a function pointer in a synopsis + + + + +
+ +
+ + + + + + + class + This is the synopsis of a class + interface + This is the synopsis of an interface + + + + + + Specifies the nature of the synopsis + + + + + + + + + + + + + + + + + + + + + + + The syntax summary for a class definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + Information supplementing the contents of a classsynopsis + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A class in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An interface in an object-oriented programming language + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An exception in an object-oriented programming language + + + + + + + + + + +
+ + + + Can be used to indicate that whitespace in the modifier should be preserved (for multi-line annotations, for example). + preserve + Extra whitespace and line breaks must be preserved. + + + + +
+ + + + + + + + + + + + + + + + + + + + Modifiers in a synopsis + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an interface + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of an exception + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + The name of a field in a class definition + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + The initializer for a fieldsynopsis + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a constructor + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a destructor + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + A syntax summary for a method + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a method + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameters to a method + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + A group of method parameters + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a variable + + + + +
+ +
+ + + + + + + + + + + + + + + + + The value returned by a function + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of a value + + + + +
+ +
+ + + + + + + + + + + + + + + + + The name of a class, in the object-oriented programming sense + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + A literal listing of all or part of a program + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + A note of caution + + Element exclusion + + caution must not occur among the children or descendants of caution + + + + Element exclusion + + important must not occur among the children or descendants of caution + + + + Element exclusion + + note must not occur among the children or descendants of caution + + + + Element exclusion + + tip must not occur among the children or descendants of caution + + + + Element exclusion + + warning must not occur among the children or descendants of caution + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of important + + + + Element exclusion + + important must not occur among the children or descendants of important + + + + Element exclusion + + note must not occur among the children or descendants of important + + + + Element exclusion + + tip must not occur among the children or descendants of important + + + + Element exclusion + + warning must not occur among the children or descendants of important + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A message set off from the text + + Element exclusion + + caution must not occur among the children or descendants of note + + + + Element exclusion + + important must not occur among the children or descendants of note + + + + Element exclusion + + note must not occur among the children or descendants of note + + + + Element exclusion + + tip must not occur among the children or descendants of note + + + + Element exclusion + + warning must not occur among the children or descendants of note + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + A suggestion to the user, set off from the text + + Element exclusion + + caution must not occur among the children or descendants of tip + + + + Element exclusion + + important must not occur among the children or descendants of tip + + + + Element exclusion + + note must not occur among the children or descendants of tip + + + + Element exclusion + + tip must not occur among the children or descendants of tip + + + + Element exclusion + + warning must not occur among the children or descendants of tip + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An admonition set off from the text + + Element exclusion + + caution must not occur among the children or descendants of warning + + + + Element exclusion + + important must not occur among the children or descendants of warning + + + + Element exclusion + + note must not occur among the children or descendants of warning + + + + Element exclusion + + tip must not occur among the children or descendants of warning + + + + Element exclusion + + warning must not occur among the children or descendants of warning + + + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + An error code + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error name + + + + +
+ +
+ + + + + + + + + + + + + + + + + An error message. + + + + +
+ +
+ + + + + + + + + + + + + + + + + The classification of an error message + + + + +
+ + + + + + + + +
+ + + daemon + A daemon or other system process (syslogd) + domainname + A domain name (example.com) + etheraddress + An ethernet address (00:05:4E:49:FD:8E) + event + An event of some sort (SIGHUP) + eventhandler + An event handler of some sort (hangup) + filesystem + A filesystem (ext3) + fqdomainname + A fully qualified domain name (my.example.com) + groupname + A group name (wheel) + ipaddress + An IP address (127.0.0.1) + library + A library (libncurses) + macro + A macro + netmask + A netmask (255.255.255.192) + newsgroup + A newsgroup (comp.text.xml) + osname + An operating system name (Hurd) + process + A process (gnome-cups-icon) + protocol + A protocol (ftp) + resource + A resource + securitycontext + A security context (a role, permission, or security token, for example) + server + A server (mail.example.com) + service + A service (ppp) + systemname + A system name (hephaistos) + username + A user name (ndw) + + + + + + + Identifies the nature of the system item + + + + + + + + Identifies the nature of the non-standard system item + + + + + + + + Identifies the kind of systemitemgraphic identifier + other + Indicates that the system item is some 'other' kind. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A system-related item or term + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + An option for a software command + + + + +
+ +
+ + + + + + + + + + + + + + + + + Optional information + + + + +
+ +
+ + + + + + + + + + + + + + + + + A unit of data associated with some part of a computer system + + + + +
+ +
+ + + + + + + + + + + Identifies the topic type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A modular unit of documentation not part of any particular narrative flow + + Root must have version + + If this element is the root element, it must have a version attribute. + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + [^#]+ + + + + + + + xml + text + + + + + + + + + + + + + + + + + + + + + + + An XInclude + + + + + + +
+ +
+ + + An XInclude fallback + + + + + + + + + + + + + +
+ +
diff --git a/src/main/relaxng/exist-docs.rng b/src/main/relaxng/exist-docs.rng new file mode 100644 index 00000000..f089c2f0 --- /dev/null +++ b/src/main/relaxng/exist-docs.rng @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/advanced-installation/advanced-installation.xml b/src/main/xar-resources/data/advanced-installation/advanced-installation.xml index 81610cbd..cbc671ab 100644 --- a/src/main/xar-resources/data/advanced-installation/advanced-installation.xml +++ b/src/main/xar-resources/data/advanced-installation/advanced-installation.xml @@ -26,7 +26,6 @@ Headless Installation - The Basic Installation of eXist-db requires a graphical desktop. You can also install eXist on a headless (no GUI) system. For this launch the installer from the command line, using the -console @@ -35,13 +34,18 @@ In console mode, the installer will prompt for several parameters (almost like the GUI version does). A dump of a sample interaction is shown below: + Multi-container environments + We highly recommend configuring a docker-compose.yml for local development or integration into multi-container environments. + + You can see an example configuration file below. Note that e.g.${EXIST_DATA_DIR} can be passed from an external file, and the use of the volume instructions. For all the available options please consult the docker compose documentation. + + Running eXist-db as a Service - Instead of manually running the eXist-db server in a shell window, you can run it as a background service which is automatically launched during system start-up. This can be convenient, especially for servers. eXist-db continues to run even after users have @@ -51,7 +55,6 @@ Windows - On Windows there are three identical options: @@ -83,44 +86,56 @@ Unix/Linux If your system supports systemd you can run the service wrapper as a non-privileged user. - Begin by creating a new user in your system which is being created specifically to run eXist-db as a service. - You can do this by typing the following command: - sudo adduser --system --shell /sbin/nologin --comment "eXist-db Service Account" existdb - This command creates a new system user named "existdb" which does not need to login in order to run a service. - In order for this new system user to be able to run eXist-db, we need to change the permission of eXist-db to - match this new user. You do so by navigating to your $EXIST_HOME folder and typing the following two commands: - - These two commmands modify the ownership and group permissions recursively throughout the whole eXist-db project - to your new existdb system user. Now only this user can run eXist-db. - Next, navigate to the /etc/systemd/system - sub-directory. Once there, create an exist-db.service file which contains the following information at - a minimum: - - Once this file is stored in this location, you need to update permissions. - Give ownership of this file to the exist user by using the following commands: - - Below is a list of common commands to interact with the newly created and configured service: + Begin by creating a new user in your system which is being created specifically to + run eXist-db as a service. You can do this by typing the following command: + sudo adduser --system --shell /sbin/nologin --comment "eXist-db Service Account" existdb + This command creates a new system user named "existdb" which does not need to + login in order to run a service. In order for this new system user to be able to run + eXist-db, we need to change the permission of eXist-db to match this new user. You + do so by navigating to your $EXIST_HOME folder and typing the + following two commands: + + These two commmands modify the ownership and group permissions recursively + throughout the whole eXist-db project to your new existdb system user. Now only this + user can run eXist-db. Next, navigate to the /etc/systemd/system + sub-directory. Once there, create an exist-db.service file which contains the + following information at a minimum: + + Once this file is stored in this location, you need to update permissions. Give + ownership of this file to the exist user by using the following commands: + + Below is a list of common commands to interact with the newly created and + configured service: - sudo systemctl start exist-db.service - Enter command to start eXist-db + sudo systemctl start exist-db.service - Enter command to + start eXist-db - sudo systemctl stop exist-db.service - Enter command to stop eXist-db + sudo systemctl stop exist-db.service - Enter command to stop + eXist-db - sudo systemctl enable exist-db.service - Enter command to enable eXist-db to automatically start running after a reboot of your system + sudo systemctl enable exist-db.service - Enter command to + enable eXist-db to automatically start running after a reboot of your + system - sudo systemctl disable exist-db.service - Enter commande to disable eXist-db from automatically starting after a reboot of your system + sudo systemctl disable exist-db.service - Enter commande to + disable eXist-db from automatically starting after a reboot of your + system - sudo systemctl restart exist-db.service - Enter command to restart eXist-db + sudo systemctl restart exist-db.service - Enter command to + restart eXist-db - systemctl status exist-db - Enter command to check the status of eXist-db + systemctl status exist-db - Enter command to check the status + of eXist-db - journalctl - Run the following command to check systemd journal: + journalctl - Run the following command to check systemd + journal: @@ -133,7 +148,7 @@ Included in the distribution are a number of useful .sh (Unix Shell) and .bat (Windows batch) programs located in the - bin sub-directory. Their names speak for themselves. + bin sub-directory. Their names speak for themselves. However, if you find that programs do not launch, you can try to manually launch them on the command-line without the scripting wrapper. This often provides useful debugging information. @@ -162,7 +177,8 @@ client.sh (Unix) / client.bat (Windows) - Use one of these scripts to launch the Java Admin Client. + Use one of these scripts to launch the Java Admin Client. diff --git a/src/main/xar-resources/data/advanced-installation/listings/listing-1.txt b/src/main/xar-resources/data/advanced-installation/listings/listing-1.txt new file mode 100644 index 00000000..966442b9 --- /dev/null +++ b/src/main/xar-resources/data/advanced-installation/listings/listing-1.txt @@ -0,0 +1,4 @@ +# starting eXist-db +docker-compose up -d +# stop eXist-db +docker-compose down \ No newline at end of file diff --git a/src/main/xar-resources/data/advanced-installation/listings/listing-6.txt b/src/main/xar-resources/data/advanced-installation/listings/listing-6.txt new file mode 100644 index 00000000..fd454e14 --- /dev/null +++ b/src/main/xar-resources/data/advanced-installation/listings/listing-6.txt @@ -0,0 +1,30 @@ +version: '3.6' +services: + exist: + image: existdb/existdb:release + container_name: exist + ports: + - 8080:8080 + - 8443:8443 + networks: + - www + volumes: + - type: volume + source: data + target: ${EXIST_HOME}/${EXIST_DATA_DIR} + - type: volume + source: config + target: ${EXIST_HOME}/${EXIST_CONFIG_DIR} + +volumes: + data: + driver: local + name: exist-data + config: + driver: local + name: exist-config + +networks: + www: + name: www + driver: bridge \ No newline at end of file diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-1.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-1.xml index 9f9e9197..f32ef41e 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-1.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-1.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-10.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-10.xml index ff400777..76823df2 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-10.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-10.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-11.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-11.xml index 5bd82b22..31bba0fc 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-11.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-11.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-12.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-12.xml index 8e65e528..e163f57b 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-12.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-12.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-13.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-13.xml index f2aa198f..9b224a27 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-13.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-13.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-14.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-14.xml index 50125320..70b67677 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-14.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-14.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-16.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-16.xml index b801cd48..91862caf 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-16.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-16.xml @@ -1,3 +1,3 @@ - - \ No newline at end of file + + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-17.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-17.xml index 39ed0602..43942664 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-17.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-17.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-18.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-18.xml index b5c616f2..bdb991f5 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-18.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-18.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-19.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-19.xml index 40a19ea0..78c1378a 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-19.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-19.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-20.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-20.xml index 7d898bf7..9697747a 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-20.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-20.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-21.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-21.xml index cb18ffdc..dad60050 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-21.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-21.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-22.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-22.xml index 62bfd6d6..bfd13dc9 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-22.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-22.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-23.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-23.xml index 68a2a868..9929567c 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-23.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-23.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-24.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-24.xml index 279902a7..0b133668 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-24.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-24.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-25.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-25.xml index 69f38f2a..945c279e 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-25.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-25.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-26.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-26.xml index 87720866..b956f2cb 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-26.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-26.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-27.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-27.xml index 10faa0e0..04ce088d 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-27.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-27.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-28.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-28.xml index 0329aed0..3e54db09 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-28.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-28.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-29.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-29.xml index e71157ed..533d046b 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-29.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-29.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-36.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-36.xml index 4d09ba68..b4e29809 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-36.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-36.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-37.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-37.xml index 18bfcd62..ae266356 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-37.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-37.xml @@ -1,58 +1,47 @@ -Migrate data from one instance of eXist-db to another - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Migrate data from one instance of eXist-db to another + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + +
diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-4.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-4.xml index f640da19..b47f406d 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-4.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-4.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-5.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-5.xml index e9edab5f..2198ed60 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-5.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-5.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-6.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-6.xml index fe57b244..3fad1ad3 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-6.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-6.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-7.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-7.xml index 8916434f..ed693786 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-7.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-7.xml @@ -1,3 +1,3 @@ - - \ No newline at end of file + + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-8.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-8.xml index 2b046023..be53a949 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-8.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-8.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/ant-tasks/listings/listing-9.xml b/src/main/xar-resources/data/ant-tasks/listings/listing-9.xml index eca9c811..fe0303b8 100644 --- a/src/main/xar-resources/data/ant-tasks/listings/listing-9.xml +++ b/src/main/xar-resources/data/ant-tasks/listings/listing-9.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/author-reference/author-reference.xml b/src/main/xar-resources/data/author-reference/author-reference.xml index 348aca9c..c2bbd8ee 100644 --- a/src/main/xar-resources/data/author-reference/author-reference.xml +++ b/src/main/xar-resources/data/author-reference/author-reference.xml @@ -6,7 +6,7 @@ Author Reference - 2Q19 + 1Q20 authoring exist @@ -379,7 +379,7 @@ but does not because its too simple) A variablelist is a bit of a misnomer. It creates lists like this one (the list of block elements you're looking at now), so - it's useful for much more than variables. + it's useful for much more than variables. @@ -630,8 +630,8 @@ but does not because its too simple) Links to external sources are done with the link element. Place the target's full URI in the xlink:href attribute. - For instance, - link xlink:href="https://exist-db.org/exist/apps/homepage/index.html" + For instance, link + xlink:href="https://exist-db.org/exist/apps/homepage/index.html" links to the eXist home page. @@ -646,10 +646,8 @@ but does not because its too simple) To create a link to another article in this documentation set, also use the link element. However, use the target's document name (without the .xml extension) as the link address. For - instance, - link xlink:href="documentation" - links to the documentation home - page. + instance, link xlink:href="documentation" links to the documentation home page. diff --git a/src/main/xar-resources/data/author-reference/listings/example-xml.xml b/src/main/xar-resources/data/author-reference/listings/example-xml.xml index cc6d2a2e..a9bd1442 100644 --- a/src/main/xar-resources/data/author-reference/listings/example-xml.xml +++ b/src/main/xar-resources/data/author-reference/listings/example-xml.xml @@ -1,4 +1,6 @@ -

Some text...

-
\ No newline at end of file +

+ Some text... +

+ diff --git a/src/main/xar-resources/data/author-reference/listings/figure.xml b/src/main/xar-resources/data/author-reference/listings/figure.xml index abb65234..e9e69421 100644 --- a/src/main/xar-resources/data/author-reference/listings/figure.xml +++ b/src/main/xar-resources/data/author-reference/listings/figure.xml @@ -1,8 +1,10 @@
- Figure title here + + Figure title here + -
\ No newline at end of file + diff --git a/src/main/xar-resources/data/author-reference/listings/info.xml b/src/main/xar-resources/data/author-reference/listings/info.xml index abf977f0..14fbfb3e 100644 --- a/src/main/xar-resources/data/author-reference/listings/info.xml +++ b/src/main/xar-resources/data/author-reference/listings/info.xml @@ -1,7 +1,13 @@ - Author Reference - January 2018 + + Author Reference + + + January 2018 + - authoring + + authoring + - \ No newline at end of file +
diff --git a/src/main/xar-resources/data/author-reference/listings/inlinefigure.xml b/src/main/xar-resources/data/author-reference/listings/inlinefigure.xml index d03384c6..7ecda9d3 100644 --- a/src/main/xar-resources/data/author-reference/listings/inlinefigure.xml +++ b/src/main/xar-resources/data/author-reference/listings/inlinefigure.xml @@ -1,5 +1,9 @@ -There is an asset + + There is an asset + - here. \ No newline at end of file + + here. + diff --git a/src/main/xar-resources/data/author-reference/listings/structure.xml b/src/main/xar-resources/data/author-reference/listings/structure.xml index a63ddcf4..ae233194 100644 --- a/src/main/xar-resources/data/author-reference/listings/structure.xml +++ b/src/main/xar-resources/data/author-reference/listings/structure.xml @@ -1,28 +1,44 @@ - -
- - - Document title - 1Q18 - - - Introductory paragraph(s) - - - Title of first main section - Lorem ipsum... - - - Title of first sub-section - Lorem ipsum... - - - - - - Title of second main section - Lorem ipsum... - - + + +
+ + + Document title + + + 1Q18 + + + + blah + + + + + Introductory paragraph(s) + + + + Title of first main section + + + Lorem ipsum... + + + + Title of first sub-section + + + Lorem ipsum... + + + + + + Title of second main section + + + Lorem ipsum... + +
diff --git a/src/main/xar-resources/data/author-reference/listings/table.xml b/src/main/xar-resources/data/author-reference/listings/table.xml index 3372f90e..0ab5ac02 100644 --- a/src/main/xar-resources/data/author-reference/listings/table.xml +++ b/src/main/xar-resources/data/author-reference/listings/table.xml @@ -1,31 +1,45 @@ - Table title + + Table title + - Col 1 - Col 2 + + Col 1 + + + Col 2 + - Bla + + Bla + - More bla + + More bla + - Blegh + + Blegh + - More blegh + + More blegh + -
\ No newline at end of file + diff --git a/src/main/xar-resources/data/backup/backup.xml b/src/main/xar-resources/data/backup/backup.xml index ed8d8d04..6802bb13 100644 --- a/src/main/xar-resources/data/backup/backup.xml +++ b/src/main/xar-resources/data/backup/backup.xml @@ -6,7 +6,7 @@ Database Backup and Restore - 2Q19 + 1Q20 operations @@ -159,7 +159,7 @@ the name of an archive to download it. eXist-db can also create incremental backups, meaning only resources which were modified since the last backup are backed up. - All backups will be stored in ZIP format. The default storage directory is + The default storage directory is $EXIST_HOME/data/export/. You can configure a different directory in the configuration file conf.xml. @@ -167,10 +167,10 @@ Scheduling Backups - You can use eXist-db's scheduler to + You can use eXist-db's scheduler to schedule server-side backup and consistency check tasks. To do this, add the following definition to the scheduler section in the configuration file - $EXIST_HOME/etc/conf.xml + $EXIST_HOME/etc/conf.xml. @@ -190,7 +190,7 @@ output The directory to which the backup is written. Relative paths are - interpreted relative to eXist-db's main data directory. + interpreted relative to eXist-db's main data directory $EXIST_HOME/data. @@ -240,12 +240,44 @@ two incremental backups. + + + dir + + The directory to store the backup in. The path is relative to exist's default data directory. + + + + suffix / prefix + + Start and end of the filename for a zipped backup. + + + + collection + + The name of the instances' collection to be included in the backup. + + + + user / password + + The username and password combination necessary for accessing the backup. + + + + zip-files-max + + The maximum number of backups to keep in the backup location. + + You can schedule more than one backup job. For example, an incremental backup - could be done multiple times a day while a full backup is created once during - the night + could be done multiple e.g. every two minutes while a full backup is created once during + the night. + diff --git a/src/main/xar-resources/data/backup/listings/listing-1.xml b/src/main/xar-resources/data/backup/listings/listing-1.xml index 456be497..9145c00e 100644 --- a/src/main/xar-resources/data/backup/listings/listing-1.xml +++ b/src/main/xar-resources/data/backup/listings/listing-1.xml @@ -1,8 +1,8 @@ - - - - - - - - \ No newline at end of file + + + + + + + + diff --git a/src/main/xar-resources/data/backup/listings/listing-3.xml b/src/main/xar-resources/data/backup/listings/listing-3.xml new file mode 100644 index 00000000..5135935f --- /dev/null +++ b/src/main/xar-resources/data/backup/listings/listing-3.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-1.xml b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-1.xml index 8c9784fd..ce40b3ee 100644 --- a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-1.xml +++ b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-1.xml @@ -1,7 +1,14 @@ - 1 - Declarative Programming - A style of programming that allows users to declare their requirements (what they - want done) and leave out the details of how the function should be performed. - published - \ No newline at end of file + + 1 + + + Declarative Programming + + + A style of programming that allows users to declare their requirements (what they want done) and leave out the details of how the function should be performed. + + + published + + diff --git a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-13.xml b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-13.xml index 00b290d1..a8b25e7e 100644 --- a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-13.xml +++ b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-13.xml @@ -1,6 +1,6 @@ - - - - - \ No newline at end of file + + + + + diff --git a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-18.xml b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-18.xml index 9a1e3a52..e313a456 100644 --- a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-18.xml +++ b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-18.xml @@ -1,3 +1,5 @@ - 6 - \ No newline at end of file + + 6 + + diff --git a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-23.xml b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-23.xml index ed3ae221..50ff5b70 100644 --- a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-23.xml +++ b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-23.xml @@ -1,14 +1,34 @@ - - Terms - - -

Terms

- - - \ No newline at end of file + + + Terms + + + +

+ Terms +

+ + + diff --git a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-6.xml b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-6.xml index b29c71b8..78aacab1 100644 --- a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-6.xml +++ b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-6.xml @@ -1,27 +1,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-9.xml b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-9.xml index 05b96a59..005055cd 100644 --- a/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-9.xml +++ b/src/main/xar-resources/data/beginners-guide-to-xrx-v4/listings/listing-9.xml @@ -1,13 +1,19 @@ - - Search Terms - - -

Search Terms

-
- - - -
- - \ No newline at end of file + + + Search Terms + + + +

+ Search Terms +

+
+ + + +
+ + diff --git a/src/main/xar-resources/data/configuration/configuration.xml b/src/main/xar-resources/data/configuration/configuration.xml index 3e464585..90b26dff 100644 --- a/src/main/xar-resources/data/configuration/configuration.xml +++ b/src/main/xar-resources/data/configuration/configuration.xml @@ -44,7 +44,7 @@ indexer: Controls the indexing process. - scheduler: Job scheduler for system or user jobs. + scheduler: Job scheduler for system or user jobs such as backups. parser: Default settings for parsing structured documents. @@ -635,7 +635,6 @@ Below is an example which configures a BackupSystemTask: - Each job is configured in a job element which accepts a number of standard attributes: @@ -834,7 +833,7 @@ xupdate section. The main parameter is called allowed-fragmentation: - + <tag>xupdate</tag> attributes @@ -987,7 +986,7 @@ import module namespace file="http://exist-db.org/xquery/file"; Instead of providing a Java class, one can also specify a src URI which must point to the XQuery source code of the module, for instance: - + For the src attribute, eXist understands the same types of URIs as in an ordinary XQuery import statement. diff --git a/src/main/xar-resources/data/configuration/listings/listing-1.xml b/src/main/xar-resources/data/configuration/listings/listing-1.xml index b231cfeb..0ad3c88d 100644 --- a/src/main/xar-resources/data/configuration/listings/listing-1.xml +++ b/src/main/xar-resources/data/configuration/listings/listing-1.xml @@ -1,7 +1,7 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/main/xar-resources/data/configuration/listings/listing-10.txt b/src/main/xar-resources/data/configuration/listings/listing-10.xml similarity index 100% rename from src/main/xar-resources/data/configuration/listings/listing-10.txt rename to src/main/xar-resources/data/configuration/listings/listing-10.xml diff --git a/src/main/xar-resources/data/configuration/listings/listing-2.xml b/src/main/xar-resources/data/configuration/listings/listing-2.xml new file mode 100644 index 00000000..b8a60709 --- /dev/null +++ b/src/main/xar-resources/data/configuration/listings/listing-2.xml @@ -0,0 +1 @@ + diff --git a/src/main/xar-resources/data/configuration/listings/listing-4.xml b/src/main/xar-resources/data/configuration/listings/listing-4.xml index d9ce43da..f9424eda 100644 --- a/src/main/xar-resources/data/configuration/listings/listing-4.xml +++ b/src/main/xar-resources/data/configuration/listings/listing-4.xml @@ -1,43 +1,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/configuration/listings/listing-5.xml b/src/main/xar-resources/data/configuration/listings/listing-5.xml index 6ac785c5..263d0c0f 100644 --- a/src/main/xar-resources/data/configuration/listings/listing-5.xml +++ b/src/main/xar-resources/data/configuration/listings/listing-5.xml @@ -1,12 +1,6 @@ - - - - - \ No newline at end of file + + + + + diff --git a/src/main/xar-resources/data/configuration/listings/listing-6.xml b/src/main/xar-resources/data/configuration/listings/listing-6.xml index 4822e12f..5135935f 100644 --- a/src/main/xar-resources/data/configuration/listings/listing-6.xml +++ b/src/main/xar-resources/data/configuration/listings/listing-6.xml @@ -1,11 +1,9 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + diff --git a/src/main/xar-resources/data/configuration/listings/listing-8.xml b/src/main/xar-resources/data/configuration/listings/listing-8.xml index c87a97b7..cb4d3ba7 100644 --- a/src/main/xar-resources/data/configuration/listings/listing-8.xml +++ b/src/main/xar-resources/data/configuration/listings/listing-8.xml @@ -1,7 +1,7 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/main/xar-resources/data/configuration/listings/listing-9.xml b/src/main/xar-resources/data/configuration/listings/listing-9.xml index 6e3d5d42..389e5735 100644 --- a/src/main/xar-resources/data/configuration/listings/listing-9.xml +++ b/src/main/xar-resources/data/configuration/listings/listing-9.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/deployment/listings/listing-15.xml b/src/main/xar-resources/data/deployment/listings/listing-15.xml index 2e886f3b..fb9f1a7e 100644 --- a/src/main/xar-resources/data/deployment/listings/listing-15.xml +++ b/src/main/xar-resources/data/deployment/listings/listing-15.xml @@ -1,9 +1,17 @@ - EXistServlet - org.exist.http.servlets.EXistServlet - - use-default-user - true - -... - \ No newline at end of file + + EXistServlet + + + org.exist.http.servlets.EXistServlet + + + + use-default-user + + + true + + + ... + diff --git a/src/main/xar-resources/data/deployment/listings/listing-16.xml b/src/main/xar-resources/data/deployment/listings/listing-16.xml index d889a2ee..8dd4cbf8 100644 --- a/src/main/xar-resources/data/deployment/listings/listing-16.xml +++ b/src/main/xar-resources/data/deployment/listings/listing-16.xml @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + + diff --git a/src/main/xar-resources/data/devguide_indexes/devguide_indexes.xml b/src/main/xar-resources/data/devguide_indexes/devguide_indexes.xml index 4c751649..b57657a2 100644 --- a/src/main/xar-resources/data/devguide_indexes/devguide_indexes.xml +++ b/src/main/xar-resources/data/devguide_indexes/devguide_indexes.xml @@ -26,11 +26,17 @@ Lucene Range index - An index providing range and field based searches on an index built with Apache Lucene.. + + An index providing range and field based searches on an index built with + Apache Lucene.. + Lucene Full-text index - A Full text search index which uses Apache Lucene for indexing and query. + + A Full text search index which uses Apache Lucene for indexing and + query. + NGram index @@ -62,10 +68,9 @@ Spatial index A spatial index that stores some of the geometric characteristics of Geography - Markup Language geometries (tested against GML version 2.1.2). - For instance: + condition="_blank" xlink:href="https://www.opengeospatial.org/standards/gml" + >Geography Markup Language geometries (tested against GML version + 2.1.2). For instance: This will generate several index entries. The most important ones are: @@ -79,8 +84,8 @@ The polygon itself, stored in a binary form (Well-Known - Binary) + xlink:href="https://en.wikipedia.org/wiki/Well-known_text" + >Well-Known Binary) The coordinates of its Classes + Below is a technical explanation of the java classes that lets you interact with exist's indexing features. org.exist.indexing.IndexManager @@ -118,12 +124,12 @@ configuration file: This defines two indexes, backed-up by their specific classes - (class attribute; these classes implement the - org.exist.indexing.Index interface as will be seen below), + (class attribute; these classes implement the + org.exist.indexing.Index interface as will be seen below), eventually assigns them a human-readable (writable even) identifier and passes them custom parameters which are implementation-dependant. Then, it configures (by calling their configure() method), opens (by calling their - open() method) and keeps track of each of them. + open() method) and keeps track of each of them. org.exist.indexing.IndexManager also provides these public methods: @@ -177,11 +183,10 @@ public IndexController(DBBroker broker) This registers the broker's IndexWorkers, once for each registered Index. These - IndexWorkers, that will be described below, are returned by - the getWorker() method in - org.exist.indexing.Index, which is usually a good place to - create such an IndexWorker, at least the first time it is - called. + IndexWorkers, that will be described below, are returned by the + getWorker() method in + org.exist.indexing.Index, which is usually a good place to create + such an IndexWorker, at least the first time it is called. This IndexController will be available through the getIndexController() method of org.exist.storage.DBBroker. @@ -303,8 +308,8 @@ index. void configure(BrokerPool pool, String dataDir, Element config) Notifies the Index a data directory (normally - ${EXIST_HOME}/data) and the configuration element in which it - is declared. + ${EXIST_HOME}/data) and the configuration element in which it is + declared. void open() Method that is executed when the Index is opened, whatever it means. Consider this method as an initialization and allocate the necessary @@ -334,8 +339,11 @@ public String getDataDir() Returns the directory in which this Index operates. Usually defined by configure() which itself receives eXist's - configuration settings. There might be some Indexes for - which the concept of data directory isn't accurate. + configuration settings. + + There might be some Indexes for which the concept of data + directory isn't accurate. + public void configure(BrokerPool pool, String dataDir, Element config) Its minimal implementation retains the org.exist.storage.BrokerPool, the data directory and the @@ -423,8 +431,10 @@ is an ordered list of the index entries, in a textual form, associated with the number of occurences for the entries and a list of the documents containing them. - For some indexes, the concept of ordered or textual occurrences - might not be meaningful. + + For some indexes, the concept of ordered or textual occurrences might not be + meaningful. + @@ -487,7 +497,7 @@ pipeline. public abstract IndexWorker getWorker() These remain abstract, since we still can not know what - IndexWorker will own the Listener until we + IndexWorker will own the Listener until we have a concrete implementation. @@ -509,15 +519,15 @@ >PostGIS given that the implementation has itself been designed in a quite modular way. In eXist's Git repository, the modularized Indexes code is in - extensions/indexes and the file system's architecture is designed - to follow eXist's core architecture, i.e. org.exist.indexing.* for - the Indexes and org.exist.xquery.* for their + extensions/indexes and the file system's architecture is designed to + follow eXist's core architecture, i.e. org.exist.indexing.* for the + Indexes and org.exist.xquery.* for their associated Modules. There is also a dedicated location for required external libraries and for the test cases. The build system should normally be able to download the required libraries and build all the files automatically, and even launch the tests provided that the DB's configuration file declares the - Indexes (see above) and their associated - Modules (see below). + Indexes (see above) and their associated Modules + (see below). The described spatial Index heavily relies on the excellent open source librairies provided by the Geotools project. We have experienced a few problems that will be mentioned @@ -525,10 +535,9 @@ in the future, making current workarounds redundant. The Index has been tested with only one file which is available from the Ordnance Survey - of Great-Britain, a topography layer of Port-Talbot, which is available as - sample data. + of Great-Britain, a topography layer of Port-Talbot, which is available as sample data. @@ -542,24 +551,23 @@ Let's start with this: Here we define an abstract class that extends - org.exist.indexing.AbstractIndex and thus implements - org.exist.indexing.Index. We also define a few members like - ID that will be returned by the unoverriden - getIndexId() from - org.exist.indexing.AbstractIndex, a - Logger, a java.util.HashMap that will be a - "pool" of IndexWorkers (one for each - org.exist.storage.DBBroker) and a - java.sql.Connection that will handle the database operations - at the index level. + org.exist.indexing.AbstractIndex and thus implements + org.exist.indexing.Index. We also define a few members like + ID that will be returned by the unoverriden + getIndexId() from + org.exist.indexing.AbstractIndex, a Logger, a + java.util.HashMap that will be a "pool" of + IndexWorkers (one for each + org.exist.storage.DBBroker) and a + java.sql.Connection that will handle the database operations at + the index level. Let' now introduce this general purpose interface: This defines the spatial operators that will be used by spatial queries. For more information about the semantics, see the JTS documentation (chapter 11). We will use this wonderful library - everytime a spatial computation is required. So does the Geotools project by the - way. + xlink:href="http://www.vividsolutions.com/jts/bin/JTS%20Technical%20Specs.pdf">JTS + documentation (chapter 11). We will use this wonderful library everytime a + spatial computation is required. So does the Geotools project by the way. Here are a few concrete methods that should be usable by any JDBC-enabled database: @@ -624,7 +632,7 @@ The next method is also quite straightforward: This picks an IndexWorker (more precisely a - org.exist.indexing.spatial.GMLHSQLIndexWorker that will be + org.exist.indexing.spatial.GMLHSQLIndexWorker that will be described below) for the given broker from the "pool". If needed, namely the first time the method is called with with parameter, it creates one. Notice that this IndexWorker is DB-dependant. It will be @@ -640,17 +648,17 @@ remember that the database should be closed at that moment no file locking issues. removeIndexContent() deletes the table that contains spatial - data. As explained - above, this is less efficient than deleteing the whole databse though! + data. As explained above, this is less efficient than deleteing the whole databse + though! The two next methods are totally JDBC-specific and, given the way they are implemented, are totally embedded HSQLDB-specific. The current code is directly adapted from - org.exist.storage.lock.ReentrantReadWriteLock to show that + org.exist.storage.lock.ReentrantReadWriteLock to show that connection management should be severely controlled given the concurrency context induced by using many org.exist.storage.DBBroker. Despite the fact DBBrokers are thread-safe, access to - shared storage must be concurrential, in particular when - flush() is called. + shared storage must be concurrential, in particular when + flush() is called. org.exist.storage.index.BFile users would call getLock() to acquire and release locks on the index files. Our solution is thus very similar. @@ -723,8 +731,8 @@ WKT VARCHAR The Well-Known - Text representation of the geometry + xlink:href="https://de.wikipedia.org/wiki/Well_Known_Text" + >Well-Known Text representation of the geometry @@ -781,8 +789,8 @@ VARCHAR The WKT representation of the geometry In the epsg:4326 - SRS + xlink:href="https://en.wikipedia.org/wiki/EPSG:4326" + >epsg:4326 SRS EPSG4326_WKB @@ -1069,13 +1077,12 @@ org.geotools.gml.producer.GeometryTransformer which needs some polishing because, despite it is called a transformer, it doesn't cope easily with a Handler and returns a... String ! See GEOT-1315. The last method is also a utility method: It implements a workaround for our test file SRS which isn't yet known by Geotools - libraries (see GEOT-1307), then it tries to get the transformation from our cache. If it doesn't succeed, it tries to find one in the libraries that are in the CLASSPATH. Should those libraries lack the Bursa-Wolf parameters, it will make another attempt @@ -1130,7 +1137,7 @@ The next method is a bit more restrictive and modular: It directly selects the right node and allows to return either the original - Geometry, either its EPSG:4326 transformation. + Geometry, either its EPSG:4326 transformation. The next method is a generalization of the previous one: It queries the whole index for the requested Geometry, ignoring @@ -1328,15 +1335,14 @@ xlink:href="http://www.ordnancesurvey.co.uk/oswebsite/products/try-now/sample-data.html" >sample data. The chosen topography layer is of Port-Talbot, which is available as 2182-SS7886-2c1.gz. Download this file, gunzip it, and give to the - resulting file a .gml extension - (port-talbot.gml) this will allow eXist to recognise it as an - XML file. + xlink:href="http://www.ordnancesurvey.co.uk/products/osmastermap/layers/topography/sampledata/2182-SS7886-2c1.gz" + >2182-SS7886-2c1.gz. Download this file, gunzip it, and give to the resulting + file a .gml extension (port-talbot.gml) this + will allow eXist to recognise it as an XML file. If you have previously executed mvn test, the file should have been downloaded and gunzipped for you in - $EXIST_HOME/extensions/indexes/spatial/target/test-classes. + $EXIST_HOME/extensions/indexes/spatial/target/test-classes. Since this file refers to an OSGB-hosted schema, we will need to bypass validation in ${EXIST_HOME}/etc/conf.xml. @@ -1352,9 +1358,8 @@ Then, we will configure this collection by creating a configuration collection. Let's navigate to /db/system/config - If required, let's create a general configuration collection: - File/Create a collection... name it db and get - into it. + If required, let's create a general configuration collection: File/Create + a collection... name it db and get into it. Then let's create a configuration collection for /db/spatial: File/Create a collection... name it spatial and get into it. @@ -1379,8 +1384,8 @@ seconds, including some default fulltext indexing. Let's close the upload window and quit the interactive client. Let's look our our GML file looks like on GML Viewer, a free viewer provided by - Snowflake software: + Snowflake + software: @@ -1391,12 +1396,13 @@ If you want to have a look at the spatial index HSQLDB, which, if you are using the default data-dir, is in ${EXIST_HOME}/data/spatial_index.* there is a dedicated script file in - ${EXIST_HOME}/extensions/indexes/spatial/. to launch HSQL's - GUI client: Use either hsql.bat or hsql.sh - [data-dir] (you only need to supply data-dir if it is not the default + ${EXIST_HOME}/extensions/indexes/spatial/. to launch HSQL's GUI + client: Use either hsql.bat or hsql.sh + [data-dir] (you only need to supply data-dir if it is not the default one). If the SQL command SELECT * FROM SPATIAL_INDEX_V1; is executed, - the result window shows that 21961 geometries have been indexed. + the result window shows that 21961 geometries have been + indexed. Let's get back to the interactive client and open the query window (the one we get when clicking on the binocular button in the toolbar). This query: @@ -1476,8 +1482,9 @@ spatially-enabled, database engine that stores the Geometry objects and their properties. - The Spatial Index does not currently support XQuery Update or XUpdate. Using either - update facility on GML documents will likely lead to incorrect query results. + The Spatial Index does not currently support XQuery Update or XUpdate. Using + either update facility on GML documents will likely lead to incorrect query + results. Here are still some tentative improvements. The first improvement is to plug in the getGeometriesForNodes() @@ -1486,11 +1493,12 @@ sequence/set optimization. Indeed, a query like this one on our test file: - Which results in 5339 items through as many calls to the DB in 51 seconds on an - initialized index! Intercepting the SINGLE_STEP_EXECUTION flag - when the expression is analyzed would allow to call the 2 above methods rather than - their "individual" counterparts, namely getGeometryForNode() and - getGeometricPropertyForNode(). The expected performance + Which results in 5339 items through as many calls to the DB in + 51 seconds on an initialized index! Intercepting the + SINGLE_STEP_EXECUTION flag when the expression is analyzed would + allow to call the 2 above methods rather than their "individual" counterparts, + namely getGeometryForNode() and + getGeometricPropertyForNode(). The expected performance improvement would be interesting. A second improvement could be to refine the queries on the HSQLDB. Currently, search() (in diff --git a/src/main/xar-resources/data/devguide_indexes/listings/listing-1.xml b/src/main/xar-resources/data/devguide_indexes/listings/listing-1.xml index b4fc5a6c..5b66ad59 100644 --- a/src/main/xar-resources/data/devguide_indexes/listings/listing-1.xml +++ b/src/main/xar-resources/data/devguide_indexes/listings/listing-1.xml @@ -1,12 +1,9 @@ - - - - 278515.400,187060.450 278515.150,187057.950 278516.350,187057.150 - 278546.700,187054.000 278580.550,187050.900 278609.500,187048.100 - 278609.750,187051.250 278574.750,187054.650 278544.950,187057.450 - 278515.400,187060.450 - - - - \ No newline at end of file + + + + 278515.400,187060.450 278515.150,187057.950 278516.350,187057.150 278546.700,187054.000 278580.550,187050.900 278609.500,187048.100 278609.750,187051.250 278574.750,187054.650 278544.950,187057.450 278515.400,187060.450 + + + + diff --git a/src/main/xar-resources/data/devguide_indexes/listings/listing-124.xml b/src/main/xar-resources/data/devguide_indexes/listings/listing-124.xml index fb0d4d16..de9d0c73 100644 --- a/src/main/xar-resources/data/devguide_indexes/listings/listing-124.xml +++ b/src/main/xar-resources/data/devguide_indexes/listings/listing-124.xml @@ -1,5 +1,5 @@ - - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/devguide_indexes/listings/listing-126.xml b/src/main/xar-resources/data/devguide_indexes/listings/listing-126.xml index 0d281f9f..9ce3b75c 100644 --- a/src/main/xar-resources/data/devguide_indexes/listings/listing-126.xml +++ b/src/main/xar-resources/data/devguide_indexes/listings/listing-126.xml @@ -1,8 +1,9 @@ - - - -3.7578,51.5743 -3.7579,51.5779 -3.755,51.5779 -3.7549,51.5743 -3.7578,51.5743 - - - - \ No newline at end of file + + + + -3.7578,51.5743 -3.7579,51.5779 -3.755,51.5779 -3.7549,51.5743 -3.7578,51.5743 + + + + diff --git a/src/main/xar-resources/data/devguide_indexes/listings/listing-134.xml b/src/main/xar-resources/data/devguide_indexes/listings/listing-134.xml index 6b73b716..65b8e53d 100644 --- a/src/main/xar-resources/data/devguide_indexes/listings/listing-134.xml +++ b/src/main/xar-resources/data/devguide_indexes/listings/listing-134.xml @@ -1,8 +1,8 @@ - - - - - - - \ No newline at end of file + + + + + + + diff --git a/src/main/xar-resources/data/devguide_indexes/listings/listing-3.xml b/src/main/xar-resources/data/devguide_indexes/listings/listing-3.xml index a4067eeb..e5d42ced 100644 --- a/src/main/xar-resources/data/devguide_indexes/listings/listing-3.xml +++ b/src/main/xar-resources/data/devguide_indexes/listings/listing-3.xml @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + + diff --git a/src/main/xar-resources/data/devguide_indexes/listings/listing-82.xml b/src/main/xar-resources/data/devguide_indexes/listings/listing-82.xml index fb0d4d16..de9d0c73 100644 --- a/src/main/xar-resources/data/devguide_indexes/listings/listing-82.xml +++ b/src/main/xar-resources/data/devguide_indexes/listings/listing-82.xml @@ -1,5 +1,5 @@ - - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/devguide_log4j/devguide_log4j.xml b/src/main/xar-resources/data/devguide_log4j/devguide_log4j.xml index 0bb64897..58016d45 100644 --- a/src/main/xar-resources/data/devguide_log4j/devguide_log4j.xml +++ b/src/main/xar-resources/data/devguide_log4j/devguide_log4j.xml @@ -1,9 +1,10 @@ -
+ + +
Log4j Logging Guide - 2Q19 + 1Q20 java-development @@ -11,26 +12,24 @@ - This article explains how to add logging to eXist-db using Log4j in Java code. + This article explains logging and eXist-db's use of Log4j. Overview - Logging may seem like a rather unimportant part of our application. After all, it - consumes resources: programmer time, increasing class file size, CPU cycles, etc. All - while doing nothing to provide end-user functionality. However, logging is an important - part of any substantial body of software and is absolutely critical in enterprise - software. - Customers have been complaining about our logging for quite some time. The logging - system has made it hard to filter out the data of interest. It also doesn’t distinguish - between important error messages, informational messages and debugging messages. - A big issue with the use of the logging system in troubleshooting is that it requires - a restart for changes to the log configuration. Customers are often - extremely reluctant to restart their production servers. - To amend these problems Log4j is introduced. Log4j is the most powerful Java-based logging library - available today and is used by most of the application servers on the market. + Logging may seem like a less important part of an application. After all, it consumes + resources: programmer time, increasing class file size, CPU cycles, etc. All while doing + nothing to provide end-user functionality. However, logging is an important part of any + substantial body of software and is absolutely critical in enterprise software. A big + issue with the use of the logging system when troubleshooting is that it changes to the + log configuration require a restart. Yet, userss are often + extremely reluctant to restart their production servers. Log4j is the most powerful + Java-based logging library available today. It provides a many features to address such + concerns. @@ -41,25 +40,62 @@ Each log event is issued by a hierarchically named logger, - e.g. xx.method.server.httpgw. - - - These hierarchical names may or may not correspond to Java class + e.g. xx.method.server.httpgw which can correspond to Java class names. - All log events have an associated severity level (trace, - debug, info, warn, - error, or fatal). + All log events have an associated severity level: + + + + + Level + Usage + + + + + Trace + Very low-level debugging “execution is here” + debugging/troubleshooting messages. + + + Debug + Messages of interest to those debugging or + troubleshooting (with greater importance than trace + messages). Probably only meaningful to developers + + + + Info + General informational messages. Understandable by + and/or of interest to non-developers as well. + + + + Warn + Warnings of potential problems + + + Error + Error conditions + + + Fatal + Fatal error conditions, For instance a shut down, + a likely crash or something equally severe + + + + - To issue a log event programmers just acquire a logger by name and specify - a log message and its severity level (and optionally a - Throwable where applicable). - - - Logging is controlled by an administrator via a Log4j configuration - file. + Logging is controlled either via a Log4j configuration file. Exist-db's + main log configuration file responsible for the exist.log + is located at exist/etc/log4j2.xml. To issue log events + programmatically you must acquire a logger by name and specify a log message + and its severity level (and optionally a Throwable where + applicable). Based on these core concepts, Log4j provides a powerful set of @@ -69,25 +105,23 @@ Many “appender” choices Each log event may be output to zero or more “appenders”. These are - essentially generalized output pipes. Log4j output can be sent to the - System.out/err, files, JDBC, JMS, syslog, the Windows event - log, SMTP, TCP/IP sockets, telnet, etc. All this at the site - administrator’s discretion. - File output includes various options for log rolling. For instance - daily creation of new log files, segmenting when a given file size is - reached, and externally controlled log rotation. These appenders can be - run synchronously to the threads generating the log events or as - separate asynchronous queues. + generalized output pipes, e.g. System.out/err, + JDBC, syslog etc. + When outputing to a file various options for log rolling are + available. For instance daily creation of new log files, segmenting when + a given file size is reached, and externally controlled log rotation. + These appenders can be run synchronously to the threads generating the + log events or as separate asynchronous queues. Flexible layout options Each appender can specify a layout, for formatting the log message. - The administrator can choose from HTML, XML, and various plain text - formats – including the flexible PatternLayout, which - allows selecting the data to include (timestamps, originating thread, - logger name, etc.). + The administrator can choose from HTML, + XML, and text formats – including + the flexible PatternLayout, which allows selecting the data + to include (timestamps, originating thread, logger name, etc.). @@ -113,13 +147,14 @@ Various free and commercial products provide specialized viewing capabilities for Log4j logs. Apache provides a very useful Log4j log - viewer Chainsaw. + viewer Chainsaw. - - For more information visit the Log4j website website. + For more information visit the Log4j website website. Java 1.4 and higher’s java.util.logging API is very similar to @@ -147,141 +182,13 @@ - - Using Log4j in new Java code - - - - - Acquire a logger: - import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -… private Logger logger = LogManager.getLogger("xx.method.server.httpgw"); - Remarks: - - - This is a somewhat time-consuming operation and should be done in - constructors of relatively long-lived objects or in static - initializers. - - - Many classes can separately acquire a logger using the same logger - name. They will all end up with their own reference to the same shared - logger object. - - - - - Use the logger: - logger.info( "Something I really wanted to say" ); - Remarks: - - - info() is just one of Logger’s methods for issuing Log4j - log events. It implicitly assigns the event a severity level of - info and does not specify a Throwable. Logger - methods for issuing log events include: - - - - Note that in each case the message is an Object, not a - String. If (and only if) Log4j decides to output the given - log event (based on the configuration), it will render this object as a - String (essentially via toString()). - - - - - It’s basicly as simple as that. You emit log events with appropriate log levels to - appropriately named loggers. The Log4j configuration determines which appenders (if any) - should output/record the event and how this should be done. - - - - - - - Converting existing logging code to Log4j - - Conversion of existing logging code to Log4j can be as simple as replacing - System.out.println() calls, etc, with use of the Log4j API. There are a few - special considerations worth noting. - - - - - Dealing with Legacy Properties - - You'll have to check the functionality of existing logging properties: - - - Sometimes they can be removed. For instance, usually properties - specifying specific output files can be removed, as customers can - now siphon Log4j output to specific files via Log4j’s configuration - files. - - - - It may be useful sometimes to preserve well known logging - properties when people are used to these. The advice is then to - ignore this property unless it is set to enable the given log – in - which case it will ensure the given Log4j logger’s log level is - verbose enough to cause the existing messages to be output. For - instance, the existing code contains: - - The static portions above can be left as is and the remainder - changed to: - - This example assumes that output from the given Log4j logger - should be completely enabled when the existing property is - set. - One can also use this: - - This causes the existing property to enable output from the given - Log4j logger up through only a certain severity level, - debug in this example. - This approach to preserving existing “enabling” properties only - keeps them working more or less as they were. The intended minimum - log verbosity is ensured upon initialization but cannot be reset via - the property without a restart. The ability to change the log-level - on the fly or make fine grained log-level adjustments is only - available through the Log4j configuration. - - - - - - - - Conditional Computation of Data for Logging - - Sometimes log messages are constructed conditionally, for instance like - this: - - The if block may include System.out.println()’s - or the results of the block may be used in later - System.out.println()’s. The code is intended to avoid - computations and assignments unless their results are used. - You can now use one of Log4j’s is*Enabled() methods for this. - For example: - - The Log4j Logger class provides a set of methods for this: - - - - - - - - - Configuring Log4j + The $EXIST_HOME/etc/log4j2.xml configuration file controls Log4j’s - behavior. - - It is used mainly to set a given level of log output for loggers. Without such + behavior. Log files are written $EXIST_HOME/logs/. The configuration file + is used mainly to set a given level of log output for loggers. Without such configuration only ERROR and FATAL log events will show up. Therefore you have to change the configuration to see trace, debug, info, or warn log events in the Log4j output. @@ -306,13 +213,13 @@ import org.apache.logging.log4j.Logger; - Start jconsole - jconsole is located in the Java SDK’s bin directory. You can + Start jconsole + jconsole is located in the Java SDK’s bin directory. You can either double-click on it or run it from the command line. Select the target JVM - jconsole will list the Java processes running on your machine + jconsole will list the Java processes running on your machine under the current user, which have been configured to allow local JMX connections. @@ -361,11 +268,126 @@ import org.apache.logging.log4j.Logger; + + + + Using Log4j in Java + + + + Acquire a logger: + + + Remarks: + + + This is a somewhat time-consuming operation and should be done in + constructors of relatively long-lived objects or in static + initializers. + + + Many classes can separately acquire a logger using the same logger + name. They will all end up with their own reference to the same shared + logger object. + + + + + Use the logger: + logger.info( "Something I really wanted to say" ); + Remarks: + + + info() is just one of Logger’s methods for issuing Log4j + log events. It implicitly assigns the event a severity level of + info and does not specify a Throwable. Logger + methods for issuing log events include: + + + + Note that in each case the message is an Object, not a + String. If (and only if) Log4j decides to output the given + log event (based on the configuration), it will render this object as a + String (essentially via toString()). + + + + + You emit log events with appropriate log levels to appropriately named loggers. The + Log4j configuration determines which appenders (if any) should output/record the event + and how this should be done. + + Converting existing logging code to Log4j + + Conversion of existing logging code to Log4j can be as simple as replacing + System.out.println() calls, etc, with use of the Log4j API. There are a + few special considerations worth noting. + + + Dealing with Legacy Properties + + You'll have to check the functionality of existing logging properties: + + + For instance, properties specifying output files can be + removed, as customers can now siphon Log4j output to specific + files via Log4j’s configuration files. + + + + To preserve well-known logging properties regardless, given + the following example code: + + The static portions above can be left as is and the remainder + changed to: + + This example assumes that output from the given Log4j logger + should be completely enabled when the existing property is + set. + One can also use this: + + This causes the existing property to enable output from the + given Log4j logger up through the severity level, + debug. + This approach to preserving existing “enabling” properties a + partal fix. The intended minimum log verbosity is ensured upon + initialization but cannot be reset via the property without a + restart. The ability to change the log-level on the fly or make + fine grained log-level adjustments is only available through the + Log4j configuration. + + + + + + Conditional Computation of Data for Logging + + When log messages are constructed conditionallys: + + The if block may include + System.out.println()’s or the results of the block may be + used in later System.out.println()’s. The code is intended + to avoid computations and assignments unless their results are + used. + You can now use one of Log4j’s is*Enabled() methods for + this. For example: + + The Log4j Logger class provides a set of methods for this: + + + + + + + + + + Tips and Tricks - + This section contains useful hints based on our user's experiences. General @@ -401,53 +423,8 @@ import org.apache.logging.log4j.Logger; Select appropriate levels for log events - One of the big advantages of Log4j is that each logging event has an - associated level. An administrator can now filter log messages by level. - The following table delineates when to use each level. - - - - - Level - Usage - - - - - Trace - Very low-level debugging “execution is here” - debugging/troubleshooting messages. - - - Debug - Messages of interest to those debugging or - troubleshooting (with greater importance than trace - messages). Probably only meaningful to developers - - - - Info - General informational messages. Understandable - by and/or of interest to non-developers as well. - - - - Warn - Warnings of potential problems - - - Error - Error conditions - - - Fatal - Fatal error conditions, For instance a shut - down, a likely crash or something equally severe - - - - - + See the table above for an outline of levels and their intended + usage. @@ -467,46 +444,42 @@ import org.apache.logging.log4j.Logger; Adjust log levels in Log4j configuration files where appropriate - The default for xxx is to output error and - fatal log messages. This generates relatively "quiet" logs - that only alert administrators to issues. There are however sometimes - log messages classified as informational that should be - output at this log level as well. Examples include periodic information - like summaries of requests serviced by the server over a time interval - and process health summaries" For this extend the Log4j configuration to - enable info level debug output for the logger in question. + By default only error and fatal log messages + are created. This generates relatively "quiet" logs that only alert + administrators to issues. There are however sometimes log messages + classified as informational that should be output at this + log level as well. Such as periodic information about process health + summaries. Simply enable info level debig ouput in the for the logger in + question. Don’t include redundant data in log messages - Administrators can easily configure Log4j log output to efficiently - include current time, thread name, logger name, evernt level, etc. Log4j - includes this information in a standard, structured fashion so it is - easily interpreted by log viewers like Chainsaw. Inclusion of any of - these pieces of information in the log message itself is therefore - redundant and pointless. + Log4j includes current time, thread name, logger name, evernt level, + etc information in a standard fashion so it is easily interpreted by log + viewers. Inclusion of any of these pieces of information in the log + message itself is therefore redundant. make use of AttributeListWrapper where appropriate - For some particularly significant logs it is important to give the - administrator even more control, including: + For some particularly significant logs it is important to have even + more control, including: - Allowing them to select which attributes should be included in - a given log message + To select which attributes should be included in a given log + message - Allowing them to specify the order of these attributes + To specify the order of these attributes - Allowing them to specify the formatting of these attribute - (e.g. comma delimited, with or without attribute names, - etc) + To specify the formatting of these attributes (e.g. comma + delimited, with or without attribute names, etc) Examples of such cases include request access and periodic statistics @@ -516,7 +489,6 @@ import org.apache.logging.log4j.Logger; - @@ -525,19 +497,18 @@ import org.apache.logging.log4j.Logger; Performance - The operation of Log4j’s Logger class’s logging methods for issuing log events can be summed up as: - render() is simply a toString() call, except + render() is simply a toString() call, except when message is an instance of a class for which a specialized render has been registered. - trace(), debug(), info(), + trace(), debug(), info(), warn(), error(), etc, call log() with the appropriate level. @@ -553,7 +524,7 @@ import org.apache.logging.log4j.Logger; Don’t reacquire a logger on each usage - AThe LogR.getLogger() (and underlying + The LogR.getLogger() (and underlying Logger.getLogger()) calls are relatively expensive. One should acquire these objects once per class (or once per instance of a class) and re-use them in subsequent logging calls. @@ -568,7 +539,7 @@ import org.apache.logging.log4j.Logger; easily undo this by following conventions common in existing logging code, e.g.: - Logger’s isEnabledFor() and + Logger’s isEnabledFor() and is*Enabled() routines are fast enough to allow calling them more frequently in order to obtain the benefits of dynamically configurable logging levels. diff --git a/src/main/xar-resources/data/devguide_log4j/listings/listing-11.xml b/src/main/xar-resources/data/devguide_log4j/listings/listing-11.xml index 06dfd948..b8e4ac8a 100644 --- a/src/main/xar-resources/data/devguide_log4j/listings/listing-11.xml +++ b/src/main/xar-resources/data/devguide_log4j/listings/listing-11.xml @@ -1,4 +1,4 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/devguide_log4j/listings/listing-19.txt b/src/main/xar-resources/data/devguide_log4j/listings/listing-19.txt new file mode 100644 index 00000000..d90afced --- /dev/null +++ b/src/main/xar-resources/data/devguide_log4j/listings/listing-19.txt @@ -0,0 +1 @@ +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; … private Logger logger = LogManager.getLogger("xx.method.server.httpgw"); diff --git a/src/main/xar-resources/data/devguide_log4j/listings/listing-8.xml b/src/main/xar-resources/data/devguide_log4j/listings/listing-8.xml index d32ee109..c55a13dd 100644 --- a/src/main/xar-resources/data/devguide_log4j/listings/listing-8.xml +++ b/src/main/xar-resources/data/devguide_log4j/listings/listing-8.xml @@ -1,4 +1,4 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/devguide_log4j/listings/listing-9.xml b/src/main/xar-resources/data/devguide_log4j/listings/listing-9.xml index 90d22dce..39b2cc72 100644 --- a/src/main/xar-resources/data/devguide_log4j/listings/listing-9.xml +++ b/src/main/xar-resources/data/devguide_log4j/listings/listing-9.xml @@ -1,4 +1,4 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/devguide_rest/listings/listing-3.xml b/src/main/xar-resources/data/devguide_rest/listings/listing-3.xml index dcd217ec..a7358225 100644 --- a/src/main/xar-resources/data/devguide_rest/listings/listing-3.xml +++ b/src/main/xar-resources/data/devguide_rest/listings/listing-3.xml @@ -1,7 +1,7 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/main/xar-resources/data/devguide_rest/listings/listing-7.xml b/src/main/xar-resources/data/devguide_rest/listings/listing-7.xml index f1daed77..aa702b34 100644 --- a/src/main/xar-resources/data/devguide_rest/listings/listing-7.xml +++ b/src/main/xar-resources/data/devguide_rest/listings/listing-7.xml @@ -1,6 +1,8 @@ - [XQuery expression] - - - - \ No newline at end of file + + [XQuery expression] + + + + + diff --git a/src/main/xar-resources/data/devguide_rest/listings/listing-9.xml b/src/main/xar-resources/data/devguide_rest/listings/listing-9.xml index 7f14c6af..04b06203 100644 --- a/src/main/xar-resources/data/devguide_rest/listings/listing-9.xml +++ b/src/main/xar-resources/data/devguide_rest/listings/listing-9.xml @@ -1,7 +1,11 @@ - - BERNARDO - Who's there? - -... more items follow ... - \ No newline at end of file + + + BERNARDO + + + Who's there? + + + ... more items follow ... + diff --git a/src/main/xar-resources/data/docker/docker.xml b/src/main/xar-resources/data/docker/docker.xml new file mode 100644 index 00000000..ace95f22 --- /dev/null +++ b/src/main/xar-resources/data/docker/docker.xml @@ -0,0 +1,204 @@ + + +
+ + + Containerization via Docker + 1Q20 + + application-development + operations + + + + This article covers the configuration and use cases of the official + docker images + for eXist-db + + + Running exist inside a container + Containers have become a popular means of distributing software without the need to worry hardware and software requirements other then the ability to run containers. Containers offer powerful features for continious deployment of production + systems, and convenient ways for testing software without interference from external dependencies. How it looks on my computer is how it looks on yours. + + + The official images + We offer minimal images of eXist-db which are automatically updated as part of the build-test life-cycle. The images are based on Google Cloud Platform's + + Distroless Docker Images. You can find the source code + here. + Next to fully tagged version, we have two rolling release channels: + + + + release: for the latest stable releases based on the master branch. + + + + latest: for last commit to the develop branch (within minutes of each commit). + + + + For technical details about building your own images, and build time arguments please consult the + README.md + of each release. In cases where the information in this document contradicts that in the + source-code repo + the latter is authoritative. To inform us of conflicts please open an issue via the button on the right. + + + + + + + How to get started + First you need to download an images: + + docker pull existdb/existdb:latest + + Then you can start the container using that image: + + docker run -it -d -p 8080:8080 -p 8443:8443 --name exist existdb/existdb:latest + + + What does this do? + You have just download and started eXist-db without launching an installer or having to provide java. More specifically: + + + + -it: allocates a + TTY + and keeps + STDIN + open. This allows you to interact with the running Docker container via your console. + + + + + -d: detaches the container from the terminal that started it. So your container won't stop when you close the terminal. + + + + -p: maps the Containers internal and external port assignments (we recommend sticking with matching pairs). This allows you to connect to the eXist-db Web Server running in the Docker container. + + + + --name: lets you provide a name (instead of using a randomly generated one) + + + The only required parts are + docker run existdb/existdb. + For a full list of available options see the official + Docker documentation. You can now access your running instance by going go + localhost:8080 + + inside your browser. To stop the container: + + docker stop exist + + + + + Interacting with the running container + You can interact with a running container as if it were a regular Linux host. + + GCR base images do not contain a shell by design. You can issue shell-like commands to the + Java Admin Client, as we do throughout this readme, but you can't open the shell in interactive mode. + + We'll continue to use + exist + as the name of our container: + + Containers build from this image run a periodical health-check to make sure that eXist-db is operating normally. If + docker ps + reports unhealthy you can get a more detailed report with this command: + + docker inspect --format='{{json .State.Health}}' exist + + To check exist's logs: + docker logs exist + + + + Use as Base Image + A common usage of these images is as a base image for your own applications. We'll take a quick look at three scenarios of increasing complexity, to demonstrate how to achieve common tasks from inside + Dockerfile. + + A simple base image + The simplest case assumes that you have a + .xar + app inside a build folder on the same level as your own + Dockerfile. To get an image of an eXist-db instance with your app installed and running, you would then: + + You should see something like this: + + The result is a new image of your app installed into eXist-db. Since you didn't provide further instructions it will simply reuse the + EXPOSE, CMD, HEALTHCHECK, + etc instructions defined by the base image. You can now publish this image to a docker registry and share it with others. + + + Single Stage Image + The following slightly more complex example will install your app, but also modify the underlying eXist-db instance in which your app is running. Instead of a local build directory, we'll download the + .xar + from the web, and copy a modified + conf.xml + from a + src/ + directory along side your + Dockerfile. + + To execute any of the + docker exec … + style commands from this readme, use + RUN. + + The above demonstrates different kind of operations available to you in a single stage build. You have just executed the + Java Admin Client + from inside a Dockerfile, which in turn allows you to run any XQuery code you want when modifying the eXist-db instance that will ship with your images. You can also chain multiple RUN commands. + + For security reasons more elaborate + techniques + for not sharing your password in the clear are highly recommended, such as the use of secure variables inside your CI environment. + + + + Multi-stage Images + Lastly, you can eliminate external dependencies even further by using a multi-stage build. To ensure compatibility between different Java engines we recommend sticking with debian based images for the builder stage. + The following two-stage build will download and install + ant + and + nodeJS + into a builder stage which then downloads frontend dependencies before building the + .xar + file. The second stage (each + FROM + begins a stage) is the simple example again from before. Such a setup ensures that non of your collaborators has to have + java, nodeJS, ect + installed, and is great for fully automated builds and deployment. + + The basic idea behind multi-staging is that everything you need for building your software should be managed by docker, so that all collaborators can rely on one stable environment. In the end, and after how ever many stages you need, only the + files necessary to run your app should go into the final stage. The possibilities are virtually endless, but with this example and the Dockerfile in this repo you should get a pretty good idea of how you might apply this idea to your own projects. + + + + Caveats + + + + JVM + inside a container require some special considerations regarding memory allocation. You should familiarize yourself with our images use of + JAVA_TOOL_OPTIONS, and avoid the traditional way of setting the heap size via + -Xmx. + + + Containers rely on advanced + CPUartichetture features to do their magic. You should always consult the official docker documentation for your operation system to see if containers are supported on your hardware and/or software. + + + + macOS + Apple's macOS uses its own version of + hypervisor + which can result in poor i/o performance compared to running on other platforms + + + +
diff --git a/src/main/xar-resources/data/docker/listings/listing-1.txt b/src/main/xar-resources/data/docker/listings/listing-1.txt new file mode 100644 index 00000000..05ae381a --- /dev/null +++ b/src/main/xar-resources/data/docker/listings/listing-1.txt @@ -0,0 +1,5 @@ +# Using java syntax on a running eXist-db instances +docker exec exist java org.exist.start.Main client --no-gui --xpath "system:get-version()" + +# Interacting with the JVM +docker exec exist java -version \ No newline at end of file diff --git a/src/main/xar-resources/data/docker/listings/listing-2.txt b/src/main/xar-resources/data/docker/listings/listing-2.txt new file mode 100644 index 00000000..9a5cb471 --- /dev/null +++ b/src/main/xar-resources/data/docker/listings/listing-2.txt @@ -0,0 +1,3 @@ +FROM existdb/existdb:5.0.0 + +COPY build/*.xar /exist/autodeploy \ No newline at end of file diff --git a/src/main/xar-resources/data/docker/listings/listing-3.txt b/src/main/xar-resources/data/docker/listings/listing-3.txt new file mode 100644 index 00000000..f2a9fc1c --- /dev/null +++ b/src/main/xar-resources/data/docker/listings/listing-3.txt @@ -0,0 +1,5 @@ +Sending build context to Docker daemon 4.337MB +Step 1/2 : FROM existdb/existdb:5.0.0 + ---> 3f4dbbce9afa +Step 2/2 : COPY build/*.xar /exist/autodeploy + ---> ace38b0809de \ No newline at end of file diff --git a/src/main/xar-resources/data/docker/listings/listing-4.txt b/src/main/xar-resources/data/docker/listings/listing-4.txt new file mode 100644 index 00000000..f3137d2b --- /dev/null +++ b/src/main/xar-resources/data/docker/listings/listing-4.txt @@ -0,0 +1,9 @@ +FROM existdb/existdb + +# NOTE: this is for syntax demo purposes only +RUN [ "java", "org.exist.start.Main", "client", "--no-gui", "-l", "-u", "admin", "-P", "", "-x", "sm:passwd('admin','123')" ] + +# use a modified conf.xml +COPY src/conf.xml /exist/etc + +ADD https://github.com/eXist-db/documentation/releases/download/4.0.4/exist-documentation-4.0.4.xar /exist/autodeploy \ No newline at end of file diff --git a/src/main/xar-resources/data/docker/listings/listing-5.txt b/src/main/xar-resources/data/docker/listings/listing-5.txt new file mode 100644 index 00000000..f9ade436 --- /dev/null +++ b/src/main/xar-resources/data/docker/listings/listing-5.txt @@ -0,0 +1,39 @@ +# START STAGE 1 +FROM openjdk:8-jdk-slim as builder + +USER root + +ENV ANT_VERSION 1.10.5 +ENV ANT_HOME /etc/ant-${ANT_VERSION} + +WORKDIR /tmp + +RUN wget http://www-us.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz \ + && mkdir ant-${ANT_VERSION} \ + && tar -zxvf apache-ant-${ANT_VERSION}-bin.tar.gz \ + && mv apache-ant-${ANT_VERSION} ${ANT_HOME} \ + && rm apache-ant-${ANT_VERSION}-bin.tar.gz \ + && rm -rf ant-${ANT_VERSION} \ + && rm -rf ${ANT_HOME}/manual \ + && unset ANT_VERSION + +ENV PATH ${PATH}:${ANT_HOME}/bin + +WORKDIR /home/my-app +COPY . . +RUN apk add --no-cache --virtual .build-deps \ + nodejs \ + nodejs-npm \ + git \ + && npm i npm@latest -g \ + && ant + + +# START STAGE 2 +FROM existdb/existdb:release + +COPY --from=builder /home/my-app/build/*.xar /exist/autodeploy + +EXPOSE 8080 8443 + +CMD [ "java", "org.exist.start.Main", "jetty" ] \ No newline at end of file diff --git a/src/main/xar-resources/data/documentation/documentation.xml b/src/main/xar-resources/data/documentation/documentation.xml index c279bfd2..a04408be 100644 --- a/src/main/xar-resources/data/documentation/documentation.xml +++ b/src/main/xar-resources/data/documentation/documentation.xml @@ -1,669 +1,788 @@ - -
- - Documentation - 1Q20 - - getting-started - - - - Welcome to eXist-db. This article serves as an index to the eXist-db documentation - articles, which will help you get to know, install, and use eXist-db. - - - - - Getting Started - The following articles and resources will help you get started using eXist-db. - - - - Basic Installation - - How to install eXist-db and fire it up for the first time. - - - - Screencasts - - For the first steps with your freshly installed eXist-db, watch the - screencasts available on the eXist-db homepage. - - - - eXist-db - Book - - There is a whole book about eXist-db, written for both the novice - and the more experienced user. - - - - Getting Help - - How to get in touch with the eXist-db community for help and advice. - - - - Dashboard - - How to use and populate eXist-db's main user interface, the - dashboard. - - - - Uploading files - - How to get files in and populate your database. - - - - WebDAV - - How to upload and manage files in the database with a WebDAV client. - - - - Using Collections in eXist-db - - How to set up a collection structure in eXist-db. - - - - Learning XQuery - - Tips and resources for newcomers to XQuery and eXist-db. - - - - How to use oXygen together with eXist-db - - If you're using oXygen, this article describes how - to make the most of it in combination with eXist-db. - - - - How to report an issue - - If you think you've found a bug, this article will tell you how to report - it. - - - - - - - - - - XQuery - eXist-db's main programming language is XQuery. This documentation set does not - contain a full introduction to XQuery. For this read the excellent book about XQuery by - Priscilla Walmsley. The XQuery related articles below discuss specific eXist-db - related details or shed light on some of the lesser known features of the - language. - - - - Learning XQuery - - Tips and resources for newcomers to XQuery and eXist-db. - - - - XQuery in eXist-db - - This discusses the XQuery implementation of eXist-db for the somewhat more - experienced user. - - - - KWIC (Keywords In Context) - - How to display search results in context (parts of the document - surrounding the search match). - - - - XQuery Update Extensions - - How to update XML stored in the database using eXist-db's XQuery Update - extension. - - - - xqDoc - - Describes eXist-db's support for the xqDoc, a standard for documenting your - XQuery functions and libraries with specially-formatted comments. - - - - XQSuite - - How to add tests to your XQuery functions with XQSuite, an annotation-based - framework. - - - - - - - - - - Application development - - eXist-db is not only a database but also an excellent application development - platform. The following articles will help you find your way in this: - - - - Getting Started with Web Application - Development - - How to build a basic web application using the built-in HTML templating framework. - - - - Using Collections in eXist-db - - How to set up your application's collection structure in eXist-db. - - - - xmldb module - - An overview of the xmldb XQuery function module for querying and - manipulating database contents. - - - - URL Rewriting - - How to control the mapping of URL's to code in eXist-db. This is one the - most important mechanisms in eXist-db to base applications on. - - - - XSL Transformations - - How to perform XSL Transformation with XQuery. - - - - Indexing - - An overview of eXist-db's indexes and how to configure them. More about - indexing in: - - - Full Text indexing - - How to use eXist-db's Lucene based full-text indexing. - - - - N-Gram Index - - How to configure the ngram index. - - - - Range Index - - How to use eXist-db's super fast modularized range - index based on Apache Lucene. - There is also an older - version of the range index, kept for compatibility - reasons. Usage of this range index is discouraged. - - - - - - - Testing and Validation - - This will provide you with an overview of testing eXist-db and its - applications. More about testing in: - - - XML Validation - - How to validate XML in eXist-db. - - - - XQSuite - - XQSuite is an annotation-based framework that allows you to - add unit tests to XQuery functions and execute them. - - - - Integration testing - - How to configure automated test pipelines, and recommends - minimal test configurations. - - - - - - - XInclude Support - - How XML inclusion (XInclude) processing works in eXist-db. - - - - The beginners guide to - XRX - - How to create a simple application using XRX (XForms, REST, and - XQuery). - - - - Package Repository - - How to work with EXPath packages in eXist-db. - - - - Content extraction - - How to extract and index non-XML contents, like PDF or Word - documents. - - - - REST-Style Web API - - How to use eXist-db's REST interface, a useful tool in building - applications. - - - - HTTP Request/Session - - An overview of functions for working with HTTP requests and sessions. - - - - Scheduler Module - - How to use eXist-db job scheduling system to regularly execute tasks. - - - - Security - - When you get serious writing applications, you need to be aware of the security model of eXist-db. - - - - XForms Introduction - - Introduces the bright shiny world of XForms inside eXist-db. - - - - Tuning the Database - - How to optimize your queries and indexes. - - - - Configuring Database Triggers - - How to use and configure triggers in your database that fire when things - get created, updated or deleted. - - - - Versioning Extension - - How to use the built-in versioning system of eXist-db. - - - - - - - - - - Interfaces - - eXist-db provides many ways of interfacing with the database. - - - - REST-Style Web API - - How to use eXist-db's REST interface. - - - - SOAP Interface Developer's Guide - - How to add a SOAP interface to eXist-db using Java code. - - - - XML-RPC API Developer's Guide - - How to interface with eXist-db using the XML-RPC API. - - - - WebDAV - - How to use eXist-db's WebDAV interface. - - - - - - - - - - Operations - Operations is the art of installing eXist-db and keeping it up-and-running - professionally. This includes things like more advanced installation types, doing - backups and restores, automate data transfers, etc. - - - - Java Admin Client - - This is a utility for performing basic administrative tasks. It has both a - GUI and a command line interface. - - - - Configuration - - How to configure eXist-db using its main configuration file - conf.xml. - - - - Backups - - How to backup and restore an eXist-db database. - - - - Advanced Installation - - How to install eXist-db on a headless (no GUI) system and run it as a - service. - - - - Ant tasks - - How to use the specific eXist-db Ant tasks to automate common - system administration and operation tasks. - - - - Database Deployment - - How to install eXist-db as a stand-alone or embedded server. - - - - Building eXist-db - - How to build Java .jar files from an - eXist-db distribution. - - - - Performance FAQ - - A short FAQ about eXist-db's performance. - - - - Production Use - Good - Practice - - How to configure eXist-db for use on a production system. - - - - Production use - Proxying eXist-db - behind a Web Server - - How to proxy eXist-db behind a web server like Nginx or Apache. - - - - JMX - - eXist-db has a JMX interface for access to internal statistics about memory, - caching, etc. - - - - Scheduler Module - - How to schedule jobs (like backups). - - - - Security - - The security model of eXist-db. Also, how to connect eXist-db to other - authentication realms like LDAP or OAuth. - - - - Tuning the Database - - How to optimize the database's performance. - - - - Performance FAQ - - A short FAQ about eXist-db's performance. - - - - Upgrade Guide - - How to upgrade from an older version of eXist-db. - - - - Incompatibilities - - Consult this article when you upgrade from an older version of - eXist-db. - - - - - - - - - - Java development - eXist-db is based on Java. Besides using eXist-db as a stand-alone application - platform, you can also use it from within Java code. The following - articles will help you with this. - - - - Database Deployment - - How to install eXist-db as a stand-alone or embedded server. An embedded - server can be accessed directly from Java code. - - - - Writing Java Applications with the XML:DB - API - - How to work with eXist-db from Java code using the XML:DB API. - This API provides a common interface to native or XML-enabled databases and - supports the development of portable, reusable applications. - - - - Building eXist-db - - How to build Java .jar files from an eXist-db - distribution. - - - - Developer's Guide to Modularized - Indexes - - How the internal indexing mechanism works and how to add your own indexes - to it. - - - - Log4j Logging Guide - - How to add logging to your Java code using Log4J. - - - - SOAP Interface Developer's Guide - - How to add a SOAP interface to eXist-db using Java code. - - - - XML-RPC API Developer's Guide - - How to interface with eXist-db using the XML-RPC API. - - - - Extension Modules - - How to create eXist-db extension modules (in Java); contains a list of - available extension modules. - - - - JMX - - eXist-db provides access to various management interfaces using - JMX. - - - - Developer's Guide to Modularized - Indexes - - How the internal indexing mechanism works and how to add your own indexes - to it. - - - - Log4j Logging Guide - - How to add logging to your Java code using - Log4J. - - - - SOAP Interface Developer's Guide - - How to add a SOAP interface to eXist-db using Java code. - - - - XML-RPC API Developer's Guide - - How to interface with eXist-db using the XML-RPC API. - - - - Extension Modules - - How to create eXist-db extension modules (in Java) and contains a list of - available extension modules. - - - - - - - - - - Developing eXist-db - - The following articles provide information on how to work on eXist-db itself, either - by enhancing its code or providing documentation. - - - - eXist-db Developer Manifesto - - Guidelines for developers who wish to contribute to eXist-db's code - base. - - - - Code Review Guide - - How to review somebody else's (or your own of course) code. - - - - Author Reference - - How to write a documentation article for eXist-db (like the ones you are - looking at now). - - - - Legal Statement - - The legal status of eXist-db as an open source - product. - - - - - - - - - - Alphabetical index - This section lists all available articles in title alphabetical order. - - - - - - - Subject index - This section lists all available articles by subject. - - + + +
+ + Documentation + 1Q20 + + getting-started + + + + Welcome to eXist-db. This article serves as an index to the eXist-db documentation articles, which will help you get to know, install, and use eXist-db. + + + + + Getting Started + The following articles and resources will help you get started using eXist-db. + + + + + Basic Installation + + + How to install eXist-db and fire it up for the first time. + + + + Screencasts + + For the first steps with your freshly installed eXist-db, watch the screencasts available on the + eXist-db homepage. + + + + + eXist-db Book + + + There is a whole book about eXist-db, written for both the novice + and + the more experienced user. + + + + + Getting Help + + + How to get in touch with the eXist-db community for help and advice. + + + + + Dashboard + + + How to use and populate eXist-db's main user interface, the dashboard. + + + + + Uploading files + + + How to get files in and populate your database. + + + + + WebDAV + + + How to upload and manage files in the database with a WebDAV client. + + + + + Using Collections in eXist-db + + + How to set up a collection structure in eXist-db. + + + + + Learning XQuery + + + Tips and resources for newcomers to XQuery and eXist-db. + + + + + How to use oXygen together with eXist-db + + + If you're using + oXygen, this article describes how to make the most of it in combination with eXist-db. + + + + + How to report an issue + + + If you think you've found a bug, this article will tell you how to report it. + + + + + + + + + + XQuery + eXist-db's main programming language is XQuery. This documentation set does not contain a full introduction to XQuery. For this read the excellent + book about XQuery by Priscilla Walmsley. The XQuery related articles below discuss specific eXist-db related details or shed light on some of the lesser known features of the language. + + + + + Learning XQuery + + + Tips and resources for newcomers to XQuery and eXist-db. + + + + + XQuery in eXist-db + + + This discusses the XQuery implementation of eXist-db for the somewhat more experienced user. + + + + + KWIC (Keywords In Context) + + + How to display search results in context (parts of the document surrounding the search match). + + + + + XQuery Update Extensions + + + How to update XML stored in the database using eXist-db's XQuery Update extension. + + + + + xqDoc + + + Describes eXist-db's support for the xqDoc, a standard for documenting your XQuery functions and libraries with specially-formatted comments. + + + + + XQSuite + + + How to add tests to your XQuery functions with XQSuite, an annotation-based framework. + + + + + + + + + + Application development + + eXist-db is not only a database but also an excellent application development platform. The following articles will help you find your way in this: + + + + + Getting Started with Web Application Development + + + How to build a basic web application using the built-in + HTML templating framework. + + + + + Using Collections in eXist-db + + + How to set up your application's collection structure in eXist-db. + + + + + xmldb module + + + An overview of the xmldb XQuery function module for querying and manipulating database contents. + + + + + Containerization via Docker + + + How to use eXist-db's official docker images for development and production. + + + + + URL Rewriting + + + How to control the mapping of URL's to code in eXist-db. This is one the most important mechanisms in eXist-db to base applications on. + + + + + XSL Transformations + + + How to perform XSL Transformation with XQuery. + + + + + Indexing + + + An overview of eXist-db's indexes and how to configure them. More about indexing in: + + + + Full Text indexing + + + How to use eXist-db's Lucene based full-text indexing. + + + + + N-Gram Index + + + How to configure the + ngram + index. + + + + + Range Index + + + How to use eXist-db's super fast modularized range index based on Apache Lucene. + There is also an + older version of the range index, kept for compatibility reasons. Usage of this range index is discouraged. + + + + + + + + Testing and Validation + + + This will provide you with an overview of testing eXist-db and its applications. More about testing in: + + + + XML Validation + + + How to validate XML in eXist-db. + + + + + XQSuite + + + XQSuite is an annotation-based framework that allows you to add unit tests to XQuery functions and execute them. + + + + + Integration testing + + + How to configure automated test pipelines, and recommends minimal test configurations. + + + + + + + + XInclude Support + + + How XML inclusion (XInclude) processing works in eXist-db. + + + + + The beginners guide to XRX + + + How to create a simple application using XRX (XForms, REST, and XQuery). + + + + + Package Repository + + + How to work with EXPath packages in eXist-db. + + + + + Content extraction + + + How to extract and index non-XML contents, like PDF or Word documents. + + + + + REST-Style Web API + + + How to use eXist-db's REST interface, a useful tool in building applications. + + + + + HTTP Request/Session + + + An overview of functions for working with HTTP requests and sessions. + + + + + Scheduler Module + + + How to use eXist-db job scheduling system to regularly execute tasks. + + + + + Security + + + When you get serious writing applications, you need to be aware of the security model of eXist-db. + + + + + XForms Introduction + + + Introduces the bright shiny world of XForms inside eXist-db. + + + + + Tuning the Database + + + How to optimize your queries and indexes. + + + + + Configuring Database Triggers + + + How to use and configure triggers in your database that fire when things get created, updated or deleted. + + + + + Versioning Extension + + + How to use the built-in versioning system of eXist-db. + + + + + + + + + + Interfaces + + eXist-db provides many ways of interfacing with the database. + + + + + REST-Style Web API + + + How to use eXist-db's REST interface. + + + + + SOAP Interface Developer's Guide + + + How to add a SOAP interface to eXist-db using Java code. + + + + + XML-RPC API Developer's Guide + + + How to interface with eXist-db using the XML-RPC API. + + + + + WebDAV + + + How to use eXist-db's WebDAV interface. + + + + + + + + + + Operations + Operations is the art of installing eXist-db and keeping it up-and-running professionally. This includes things like more advanced installation types, doing backups and restores, automate data transfers, etc. + + + + + Java Admin Client + + + This is a utility for performing basic administrative tasks. It has both a GUI and a command line interface. + + + + + Configuration + + + How to configure eXist-db using its main configuration file + conf.xml. + + + + + Backups + + + How to backup and restore an eXist-db database. + + + + + Advanced Installation + + + How to install eXist-db on a headless (no GUI) system and run it as a service. + + + + + Ant tasks + + + How to use the specific eXist-db + Ant + tasks to automate common system administration and operation tasks. + + + + + Database Deployment + + + How to install eXist-db as a stand-alone or embedded server. + + + + + Building eXist-db + + + How to build Java + .jar + files from an eXist-db distribution. + + + + + Performance FAQ + + + A short FAQ about eXist-db's performance. + + + + + Production Use - Good Practice + + + How to configure eXist-db for use on a production system. + + + + + Production use - Proxying eXist-db behind a Web Server + + + How to proxy eXist-db behind a web server like Nginx or Apache. + + + + + JMX + + + eXist-db has a JMX interface for access to internal statistics about memory, caching, etc. + + + + + Scheduler Module + + + How to schedule jobs (like backups). + + + + + Security + + + The security model of eXist-db. Also, how to connect eXist-db to other authentication realms like LDAP or OAuth. + + + + + Tuning the Database + + + How to optimize the database's performance. + + + + + Performance FAQ + + + A short FAQ about eXist-db's performance. + + + + + Upgrade Guide + + + How to upgrade from an older version of eXist-db. + + + + + Incompatibilities + + + Consult this article when you upgrade from an older version of eXist-db. + + + + + + + + + + Java development + eXist-db is based on Java. Besides using eXist-db as a stand-alone application platform, you can also use it from + within + Java code. The following articles will help you with this. + + + + + Database Deployment + + + How to install eXist-db as a stand-alone or embedded server. An embedded server can be accessed directly from Java code. + + + + + Writing Java Applications with the XML:DB API + + + How to work with eXist-db from Java code using the XML:DB API. This API provides a common interface to native or XML-enabled databases and supports the development of portable, reusable applications. + + + + + Building eXist-db + + + How to build Java + .jar + files from an eXist-db distribution. + + + + + Developer's Guide to Modularized Indexes + + + How the internal indexing mechanism works and how to add your own indexes to it. + + + + + Log4j Logging Guide + + + How to add logging to your Java code using Log4J. + + + + + SOAP Interface Developer's Guide + + + How to add a SOAP interface to eXist-db using Java code. + + + + + XML-RPC API Developer's Guide + + + How to interface with eXist-db using the XML-RPC API. + + + + + Extension Modules + + + How to create eXist-db extension modules (in Java); contains a list of available extension modules. + + + + + JMX + + + eXist-db provides access to various management interfaces using JMX. + + + + + Developer's Guide to Modularized Indexes + + + How the internal indexing mechanism works and how to add your own indexes to it. + + + + + Log4j Logging Guide + + + How to add logging to your Java code using Log4J. + + + + + SOAP Interface Developer's Guide + + + How to add a SOAP interface to eXist-db using Java code. + + + + + XML-RPC API Developer's Guide + + + How to interface with eXist-db using the XML-RPC API. + + + + + Extension Modules + + + How to create eXist-db extension modules (in Java) and contains a list of available extension modules. + + + + + + + + + + Developing eXist-db + + The following articles provide information on how to work on eXist-db itself, either by enhancing its code or providing documentation. + + + + + eXist-db Developer Manifesto + + + Guidelines for developers who wish to contribute to eXist-db's code base. + + + + + Code Review Guide + + + How to review somebody else's (or your own of course) code. + + + + + Author Reference + + + How to write a documentation article for eXist-db (like the ones you are looking at now). + + + + + Legal Statement + + + The legal status of eXist-db as an open source product. + + + + + + + + + + Alphabetical index + This section lists all available articles in title alphabetical order. + + + + + + + Subject index + This section lists all available articles by subject. + + +
diff --git a/src/main/xar-resources/data/extensions/extensions.xml b/src/main/xar-resources/data/extensions/extensions.xml index 164f2389..32fee869 100644 --- a/src/main/xar-resources/data/extensions/extensions.xml +++ b/src/main/xar-resources/data/extensions/extensions.xml @@ -27,14 +27,13 @@ eXist-db database, its internal API, the context of the executing XQuery and the HTTP Session (if appropriate). The source code for extension modules should be placed in their own folder inside - $EXIST_HOME/extensions/modules/*/src/main/java/org/exist/xquery/modules/*. + $EXIST_HOME/extensions/modules/*/src/main/java/org/exist/xquery/modules/*. They may then be added to $EXIST_HOME/extensions/modules/pom.xml and compiled in place using mvn compile. Modules associated to modularized indexes must be placed in the - $EXIST_HOME/extensions/indexes/*/xquery/modules/* hierarchy. They - may then be added to $EXIST_HOME/extensions/indexes/pom.xml. They - will be compiled automatically by the standard build targets or as indicated - above. + $EXIST_HOME/extensions/indexes/*/xquery/modules/* hierarchy. They may + then be added to $EXIST_HOME/extensions/indexes/pom.xml. They will be + compiled automatically by the standard build targets or as indicated above. eXist-db must also be told which modules to load, this is done in conf.xml and the Class name and Namespace for each module is listed below. @@ -42,14 +41,15 @@ eXist-db will require a restart to load any new modules added. Once a Module is configured and loaded eXist-db will display the module and its - function definitions as part of the function library - page or through util:decribe-function(). + function definitions as part of the function + library page or through util:decribe-function(). Extension Modules + This section explains different extension modules in more detail. Example Module Demonstrates the simplest example of an Extension module with a single function. A @@ -65,12 +65,10 @@ Status: production - Class: org.exist.xquery.modules.example.ExampleModule - + Class: org.exist.xquery.modules.example.ExampleModule - Namespace: http://exist-db.org/xquery/examples - + Namespace: http://exist-db.org/xquery/examples @@ -88,12 +86,10 @@ Status: production - Class: org.exist.xquery.modules.cache.CacheModule - + Class: org.exist.xquery.modules.cache.CacheModule - Namespace: http://exist-db.org/xquery/cache - + Namespace: http://exist-db.org/xquery/cache @@ -115,8 +111,7 @@ - Namespace: http://exist-db.org/xquery/compression - + Namespace: http://exist-db.org/xquery/compression @@ -135,12 +130,10 @@ Status: production - Class: org.exist.xquery.modules.exi.EXIModule - + Class: org.exist.xquery.modules.exi.EXIModule - Namespace: http://exist-db.org/xquery/exi - + Namespace: http://exist-db.org/xquery/exi @@ -160,12 +153,10 @@ Status: production - Class: org.exist.xquery.modules.file.FileModule - + Class: org.exist.xquery.modules.file.FileModule - Namespace: http://exist-db.org/xquery/file - + Namespace: http://exist-db.org/xquery/file @@ -187,12 +178,10 @@ Status: production - Class: org.exist.xquery.modules.image.ImageModule - + Class: org.exist.xquery.modules.image.ImageModule - Namespace: http://exist-db.org/xquery/image - + Namespace: http://exist-db.org/xquery/image @@ -212,12 +201,10 @@ Status: production - Class: org.exist.xquery.modules.jndi.JNDIModule - + Class: org.exist.xquery.modules.jndi.JNDIModule - Namespace: http://exist-db.org/xquery/jndi - + Namespace: http://exist-db.org/xquery/jndi @@ -239,12 +226,10 @@ Status: production - Class: org.exist.xquery.modules.mail.MailModule - + Class: org.exist.xquery.modules.mail.MailModule - Namespace: http://exist-db.org/xquery/mail - + Namespace: http://exist-db.org/xquery/mail @@ -265,12 +250,10 @@ Status: production - Class: org.exist.xquery.modules.oracle.OracleModule - + Class: org.exist.xquery.modules.oracle.OracleModule - Namespace: http://exist-db.org/xquery/oracle - + Namespace: http://exist-db.org/xquery/oracle @@ -293,8 +276,7 @@ - Namespace: http://exist-db.org/xquery/scheduler - + Namespace: http://exist-db.org/xquery/scheduler @@ -317,17 +299,17 @@ - Namespace: http://exist-db.org/xquery/simple-ql - + Namespace: http://exist-db.org/xquery/simple-ql Spatial module Various functions for GML geometries, + xlink:href="https://www.opengeospatial.org/standards/gml">GML geometries, whether indexed or not. More information about the design is available in the Developer's Guide to Modularized Indexes. + xlink:href="devguide_indexes">Developer's Guide to Modularized + Indexes. Creator: Pierrick Brihaye @@ -339,12 +321,10 @@ Status: experimental - Class: org.exist.xquery.modules.spatial.SpatialModule - + Class: org.exist.xquery.modules.spatial.SpatialModule - Namespace: http://exist-db.org/xquery/spatial - + Namespace: http://exist-db.org/xquery/spatial @@ -366,12 +346,10 @@ Status: production - Class: org.exist.xquery.modules.sql.SQLModule - + Class: org.exist.xquery.modules.sql.SQLModule - Namespace: http://exist-db.org/xquery/sql - + Namespace: http://exist-db.org/xquery/sql @@ -393,12 +371,10 @@ Status: production - Class: org.exist.xquery.modules.xmldiff.XmlDiffModule - + Class: org.exist.xquery.modules.xmldiff.XmlDiffModule - Namespace: http://exist-db.org/xquery/xmldiff - + Namespace: http://exist-db.org/xquery/xmldiff @@ -419,12 +395,10 @@ Status: production - Class: org.exist.xquery.modules.xslfo.XSLFOModule - + Class: org.exist.xquery.modules.xslfo.XSLFOModule - Namespace: http://exist-db.org/xquery/xslfo - + Namespace: http://exist-db.org/xquery/xslfo diff --git a/src/main/xar-resources/data/incompatibilities/listings/listing-2.xml b/src/main/xar-resources/data/incompatibilities/listings/listing-2.xml index e9f033ef..d2124b07 100644 --- a/src/main/xar-resources/data/incompatibilities/listings/listing-2.xml +++ b/src/main/xar-resources/data/incompatibilities/listings/listing-2.xml @@ -1,5 +1,5 @@ - - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/indexing/listings/listing-3.xml b/src/main/xar-resources/data/indexing/listings/listing-3.xml index 45c3b926..707eb594 100644 --- a/src/main/xar-resources/data/indexing/listings/listing-3.xml +++ b/src/main/xar-resources/data/indexing/listings/listing-3.xml @@ -1,22 +1,20 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/indexing/listings/listing-4.xml b/src/main/xar-resources/data/indexing/listings/listing-4.xml index 49bd99fa..a7cc3a79 100644 --- a/src/main/xar-resources/data/indexing/listings/listing-4.xml +++ b/src/main/xar-resources/data/indexing/listings/listing-4.xml @@ -1,10 +1,10 @@ - - - - - - - - - \ No newline at end of file + + + + + + + + + diff --git a/src/main/xar-resources/data/indexing/listings/listing-8.xml b/src/main/xar-resources/data/indexing/listings/listing-8.xml index 0a832809..eeeb97c3 100644 --- a/src/main/xar-resources/data/indexing/listings/listing-8.xml +++ b/src/main/xar-resources/data/indexing/listings/listing-8.xml @@ -1,8 +1,5 @@ - - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/java-admin-client/listings/listing-14.xml b/src/main/xar-resources/data/java-admin-client/listings/listing-14.xml index d48192ca..5d42b1d3 100644 --- a/src/main/xar-resources/data/java-admin-client/listings/listing-14.xml +++ b/src/main/xar-resources/data/java-admin-client/listings/listing-14.xml @@ -1,4 +1,8 @@ - XML document - .xml,.xsl,.xsd,.mods,.xmi,.xconf,.xslt,.wsdl,.x3d,.rdf,.owl,.xmap - \ No newline at end of file + + XML document + + + .xml,.xsl,.xsd,.mods,.xmi,.xconf,.xslt,.wsdl,.x3d,.rdf,.owl,.xmap + + diff --git a/src/main/xar-resources/data/jmx/jmx.xml b/src/main/xar-resources/data/jmx/jmx.xml index 22da0f7e..9972783c 100644 --- a/src/main/xar-resources/data/jmx/jmx.xml +++ b/src/main/xar-resources/data/jmx/jmx.xml @@ -1,6 +1,8 @@
+ schematypens="http://purl.oclc.org/dsdl/schematron"?> +
Java Management Extensions (JMX) 2Q19 @@ -32,7 +34,8 @@ system properties: - These options makes the server publicly accessible. Please check the Oracle + These options makes the server publicly accessible. Please check the Oracle JMX documentation for details. The extension can now be activated by passing a -j or -jmx @@ -46,6 +49,7 @@ Monitoring and Management + This sections explains how to monitor an exist instant using common java tools. @@ -80,7 +84,7 @@ This accepts the following command-line parameters: - + -a, --address argument @@ -123,7 +127,8 @@ -m, --memory - Displays info on free and total memory. Can be combined with other parameters. + Displays info on free and total memory. Can be combined with other + parameters. @@ -141,7 +146,8 @@ -w, --wait argument - while displaying server statistics: keeps retrieving statistics, but waits the specified number of seconds between calls. + while displaying server statistics: keeps retrieving statistics, but + waits the specified number of seconds between calls. @@ -176,7 +182,8 @@ instances - general information about the db instance, active db broker objects etc. + general information about the db instance, active db broker objects + etc. @@ -200,7 +207,8 @@ locking - Contains current information on collection and resource locks of running operations. + Contains current information on collection and resource locks of + running operations. @@ -240,8 +248,8 @@ jmx:StatusPING_OK/jmx:Status: If the ping takes longer than the timeout, you'll instead find an element - jmx:error in the returned XML. In this case, additional - information on running queries, memory consumption and database locks will be + jmx:error in the returned XML. In this case, additional information + on running queries, memory consumption and database locks will be provided: diff --git a/src/main/xar-resources/data/jmx/listings/listing-10.xml b/src/main/xar-resources/data/jmx/listings/listing-10.xml index f6d98181..d1b2a0b2 100644 --- a/src/main/xar-resources/data/jmx/listings/listing-10.xml +++ b/src/main/xar-resources/data/jmx/listings/listing-10.xml @@ -1,11 +1,17 @@ - - - PING_OK - - - - Ping - 39 - - - \ No newline at end of file + + + + PING_OK + + + + + + Ping + + + 39 + + + + diff --git a/src/main/xar-resources/data/jmx/listings/listing-11.xml b/src/main/xar-resources/data/jmx/listings/listing-11.xml index 551fd58a..6b2af18b 100644 --- a/src/main/xar-resources/data/jmx/listings/listing-11.xml +++ b/src/main/xar-resources/data/jmx/listings/listing-11.xml @@ -1,13 +1,21 @@ - - no response on ping after 2000ms - - PING_WAIT - - - - Ping - -1 - - - ... - \ No newline at end of file + + + no response on ping after 2000ms + + + + PING_WAIT + + + + + + Ping + + + -1 + + + + ... + diff --git a/src/main/xar-resources/data/jmx/listings/listing-8.xml b/src/main/xar-resources/data/jmx/listings/listing-8.xml index bf728942..a2e05c72 100644 --- a/src/main/xar-resources/data/jmx/listings/listing-8.xml +++ b/src/main/xar-resources/data/jmx/listings/listing-8.xml @@ -1,28 +1,62 @@ - - - - 128647168 - 134217728 - 1908932608 - 34854528 - - - 42008576 - 24313856 - 138412032 - 40648936 - - 0 - false - - - 671455641 - 0 - exist - 2 - 2 - - 268435456 - 25165824 - - \ No newline at end of file + + + + + 128647168 + + + 134217728 + + + 1908932608 + + + 34854528 + + + + + 42008576 + + + 24313856 + + + 138412032 + + + 40648936 + + + + 0 + + + false + + + + + 671455641 + + + 0 + + + exist + + + 2 + + + 2 + + + + 268435456 + + + 25165824 + + + diff --git a/src/main/xar-resources/data/kwic/listings/listing-4.xml b/src/main/xar-resources/data/kwic/listings/listing-4.xml index 33be132d..f0fbad15 100644 --- a/src/main/xar-resources/data/kwic/listings/listing-4.xml +++ b/src/main/xar-resources/data/kwic/listings/listing-4.xml @@ -1,5 +1,11 @@

- ... s effect, sir; after what flourish your - nature - will. -

\ No newline at end of file + + ... s effect, sir; after what flourish your + + + nature + + + will. + +

diff --git a/src/main/xar-resources/data/lucene/listings/listing-11.xml b/src/main/xar-resources/data/lucene/listings/listing-11.xml index 6d879a17..1539f7b3 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-11.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-11.xml @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-19.xml b/src/main/xar-resources/data/lucene/listings/listing-19.xml index dd702c01..4906073c 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-19.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-19.xml @@ -1,3 +1,3 @@ - - \ No newline at end of file + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-20.xml b/src/main/xar-resources/data/lucene/listings/listing-20.xml index 902f8029..d221828f 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-20.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-20.xml @@ -1,2 +1,7 @@ -

This is a paragraph -containing an inline note.

\ No newline at end of file +

+ This is a paragraph + + containing an inline note + + . +

diff --git a/src/main/xar-resources/data/lucene/listings/listing-22.xml b/src/main/xar-resources/data/lucene/listings/listing-22.xml index 17033a77..f0274d8a 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-22.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-22.xml @@ -1,5 +1,5 @@ - - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-23.xml b/src/main/xar-resources/data/lucene/listings/listing-23.xml new file mode 100644 index 00000000..4a37c800 --- /dev/null +++ b/src/main/xar-resources/data/lucene/listings/listing-23.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-24.xml b/src/main/xar-resources/data/lucene/listings/listing-24.xml new file mode 100644 index 00000000..b091596a --- /dev/null +++ b/src/main/xar-resources/data/lucene/listings/listing-24.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-25.xml b/src/main/xar-resources/data/lucene/listings/listing-25.xml index 4053095d..4d325607 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-25.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-25.xml @@ -1,12 +1,12 @@ - - - - - - - - - + + - \ No newline at end of file + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-27.xml b/src/main/xar-resources/data/lucene/listings/listing-27.xml index 50f5f90a..67a555e6 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-27.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-27.xml @@ -1,3 +1,3 @@ - + diff --git a/src/main/xar-resources/data/lucene/listings/listing-28.xml b/src/main/xar-resources/data/lucene/listings/listing-28.xml index 26c6ca23..ae98b44e 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-28.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-28.xml @@ -1,3 +1,3 @@ - + diff --git a/src/main/xar-resources/data/lucene/listings/listing-29.xml b/src/main/xar-resources/data/lucene/listings/listing-29.xml index ccf26356..7ecae5d9 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-29.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-29.xml @@ -1,6 +1,6 @@ - - - - - \ No newline at end of file + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-3.xml b/src/main/xar-resources/data/lucene/listings/listing-3.xml index e6d43c7b..73e6e463 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-3.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-3.xml @@ -1,20 +1,19 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-30.xml b/src/main/xar-resources/data/lucene/listings/listing-30.xml index 02f7c20e..c7d1e97f 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-30.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-30.xml @@ -1,3 +1,3 @@ - - \ No newline at end of file + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-31.xml b/src/main/xar-resources/data/lucene/listings/listing-31.xml index 814afeac..f02365ca 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-31.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-31.xml @@ -1,8 +1,16 @@ - - the - this - and - that - - \ No newline at end of file + + + the + + + this + + + and + + + that + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-32.xml b/src/main/xar-resources/data/lucene/listings/listing-32.xml index 447fc89d..ea7f2837 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-32.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-32.xml @@ -1,9 +1,17 @@ - - - the - this - and - that - - \ No newline at end of file + + + + the + + + this + + + and + + + that + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-36.txt b/src/main/xar-resources/data/lucene/listings/listing-36.txt new file mode 100644 index 00000000..be71e1d1 --- /dev/null +++ b/src/main/xar-resources/data/lucene/listings/listing-36.txt @@ -0,0 +1,3 @@ +let $query := "date:[1600 TO 1610]" + +return ft:search($col, $query)//exist:match diff --git a/src/main/xar-resources/data/lucene/listings/listing-4.xml b/src/main/xar-resources/data/lucene/listings/listing-4.xml index 4988dd79..11bc3589 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-4.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-4.xml @@ -1,18 +1,17 @@ - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-520.xml b/src/main/xar-resources/data/lucene/listings/listing-520.xml index d40185ee..8e8b055d 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-520.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-520.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-522.xml b/src/main/xar-resources/data/lucene/listings/listing-522.xml index 7021f57c..16cad744 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-522.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-522.xml @@ -1,11 +1,11 @@ - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-58.xml b/src/main/xar-resources/data/lucene/listings/listing-58.xml index a90136c4..9764042c 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-58.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-58.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-59.xml b/src/main/xar-resources/data/lucene/listings/listing-59.xml index 44f78948..fb45579b 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-59.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-59.xml @@ -1,13 +1,13 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/src/main/xar-resources/data/lucene/listings/listing-6.xml b/src/main/xar-resources/data/lucene/listings/listing-6.xml index e7044db2..b4b3db74 100644 --- a/src/main/xar-resources/data/lucene/listings/listing-6.xml +++ b/src/main/xar-resources/data/lucene/listings/listing-6.xml @@ -1,5 +1,11 @@ - Second Witch - Fillet of a fenny snake, - In the cauldron boil and bake; - \ No newline at end of file + + Second Witch + + + Fillet of a fenny snake, + + + In the cauldron boil and bake; + + diff --git a/src/main/xar-resources/data/lucene/lucene.xml b/src/main/xar-resources/data/lucene/lucene.xml index b2a363fe..7dbcff7d 100644 --- a/src/main/xar-resources/data/lucene/lucene.xml +++ b/src/main/xar-resources/data/lucene/lucene.xml @@ -1,6 +1,7 @@ -
+ + +
Full Text Index 1Q20 @@ -11,21 +12,24 @@ - This article provides information on configuring and using eXist-db's full text index. + This article provides information on configuring and using eXist-db's full text + index. Introduction - The full text index module is based on Apache Lucene. + The full text index module is based on Apache Lucene. The full-text index module is tightly integrated with eXist-db's modularized indexing architecture: the index behaves like a plug-in which adds itself to the database's index pipelines. Once configured, the index will be notified of relevant events, like adding/removing a document, removing a collection or updating single nodes. No manual re-indexing is required to keep the index up-to-date. The full-text index module also implements common interfaces which are shared with - other indexes, for instance for highlighting matches (see KWIC). It is easy to switch between the Lucene index and, for instance, the + other indexes, for instance for highlighting matches (see KWIC). It is easy to switch between the Lucene index and, for instance, the ngram index without rewriting much XQuery code. @@ -33,16 +37,16 @@ Configuring the Index - The index has a single configuration parameter on the - modules/module element called - buffer. It defines the amount of memory (in megabytes) Lucene will use for - buffering index entries before they are written to disk. See the Lucene Javadocs. + The index has a single configuration parameter on the modules + / module element called buffer. It defines the + amount of memory (in megabytes) Lucene will use for buffering index entries before they + are written to disk. See the Lucene Javadocs. Like other indexes, you create a Lucene index by configuring it in a - collection.xconf document as explained in documentation. For example: + collection.xconf document as explained in documentation. For example: collection.xconf for version 2.2 @@ -60,7 +64,7 @@ It is important make sure to choose the right context for an index, which has to be the same as in your query. To better understand this, let's have a look at how the index creation is handled by eXist-db and Lucene. For example: - text qname="SPEECH" + text qname="SPEECH" This creates an index on SPEECH only. What is passed to Lucene is the string value of SPEECH, which also includes the text of all its descendant text nodes (except those filtered out by an optional @@ -107,7 +111,7 @@ - Using <code>match="..."</code> + Using <code>match="..."</code> In addition to defining an index on a given qualified name, you can also specify a "path" with wildcards. This feature might be subject to change, @@ -123,15 +127,15 @@ expression. For the time being, it only allows: - / and // to denote child or descendant + / and // to denote child or descendant steps, - * wildcard selector to match an arbitrary element, + * wildcard selector to match an arbitrary element, - matching a single attribute's value, e.g. foo[@bar = - 'xyz'] + matching a single attribute's value, e.g. foo[@bar = 'xyz'] + As explained above, you have to figure out which parts of your document will @@ -145,16 +149,16 @@ back to the section. If you query a larger context, you can use the KWIC module to show the user text surrounding each match. Or you can - ask eXist-db to highlight each match - with an exist:match tag, which you can later use to locate the matches - within the text. + ask eXist-db to highlight each match with + an exist:match tag, which you can later use to locate the matches within + the text. Whitespace Treatment and Ignored Content - + We'll go into more detail with two common requirements when using full-text indexes. Inlined elements @@ -280,15 +284,28 @@ - In the example above, we define that Lucene's StandardAnalyzer should be used by default (the analyzer element + In the example above, we define that Lucene's StandardAnalyzer should be used by default (the analyzer element without id attribute). We provide an additional analyzer and assign it the id ws, by which the analyzer can be referenced in the actual index definitions. - The whitespace analyzer is the most basic one. As the name implies, it tokenizes + The whitespace analyzer is the most basic one. As the name implies, it tokenizes the text at white space characters, but treats all other characters - including punctuation - as part of the token. The tokens are not converted to lower case and there's no stopword filter applied. - + eXist-db provides a special analyzer for characters with diacrits based on the + StandardAnalyzer. The + NoDiacriticsStandardAnalyzer can be switched on and off by + setting the diacritics attribute on the lucene element + of your index configuration file. + + Without diacrits ä, å, ā, + etc will all be indexed as a. Alternatively, this analyzer can + also be called by its full name. + Configuring the Analyzer @@ -299,27 +316,29 @@ We currently support passing the following types: - String (default if no type is specified) + String (default if no type is specified) - java.io.FileReader (since Lucene 4) or - file + java.io.FileReader (since Lucene 4) or file + - java.lang.Boolean or boolean + java.lang.Boolean or boolean - java.lang.Integer or int + java.lang.Integer or int - org.apache.lucene.analysis.util.CharArraySet or - set + org.apache.lucene.analysis.util.CharArraySet or + set - java.lang.reflect.Field + java.lang.reflect.Field - The value Version#LUCENE_CURRENT is always added as first parameter for the + The value Version#LUCENE_CURRENT is always added as first parameter for the analyzer constructor (a fallback mechanism is present for older analyzers). The previously valid values java.io.File and java.util.Set can not be used since Lucene 4. @@ -341,9 +360,10 @@ Facets and Fields - Starting with eXist 5.0, an index configuration may define additional facets and fields. Both can hold arbitrary content, which will be - attached to the indexed parent node and can be used to further refine a query, sort results or display additional information to the - user: + Starting with eXist 5.0, an index configuration may define additional facets and + fields. Both can hold arbitrary content, which will be attached to the indexed + parent node and can be used to further refine a query, sort results or display + additional information to the user: facet @@ -383,86 +403,112 @@ Facet and Field Configuration - Facets and fields are configured in a similar way. Both should appear nested inside the parent index element they are attached to. Let's - assume we have a collection of articles written in docbook. Each article will have a top-level info element describing the - article. Each info element contains a title, one or more authors and a list of keywords in - keywordset. + Facets and fields are configured in a similar way. Both should appear nested + inside the parent index element they are attached to. Let's assume we have a + collection of articles written in docbook. Each article will have a top-level + info element describing the article. Each info element + contains a title, one or more authors and a list of + keywords in keywordset. Keywords are a perfect candidate for a facet, so let's start with it: - - Every facet needs to have a dimension attribute, defining the name of the facet dimension the items will be added to. The - values associated with this facet dimension are determined by the expression attribute: it may contain an arbitary XQuery - expression rooted in the parent node being indexed. In the example the parent will be a db:article element, so the context item - for the expression is set to this element. + + Every facet needs to have a dimension attribute, defining the + name of the facet dimension the items will be added to. The values associated + with this facet dimension are determined by the expression + attribute: it may contain an arbitary XQuery expression rooted in the parent + node being indexed. In the example the parent will be a db:article + element, so the context item for the expression is set to this element. The expression is evaluated and for each result item, a facet value is added to the dimension using the string value of the item. Therefore if the expression - returns multiple items, a facet for that dimension will also hold multiple values. - If the expression returns the empty sequence for the current parent node, the corresponding - facet will be empty as well. - A facet can also be defined to be hierarchical. A typical example would be a date, which consists of a year, month and day component. By - indexing the single components as separate parts of a hierarchical facet, we enable the user to drill down by year first, then by month and - finally by day. Let's assume each of our docbook articles has a pubdate containing a date in xs:date - format: - - Hierarchical facets may also hold multiple values, for example if we would like to associate - our documents with a subject classification on various levels of granularity (say: science with - math and physics as subcategories or humanities with - art, sociology and history). - This way we enable the user to drill down into broad humanities - or science subject first and choose particular topics afterwards. - If the result of the hierarchical facet expression - evaluates to an array, each of array members will be treated as a hierarchical value for that facet. - Such an array could look in XQuery similar to [('science', 'math'), ('humanities', 'history')] and be - a result of evaluationg a function like idx:subject-hierarchy below stored in an imported module (see below) - + returns multiple items, a facet for that dimension will also hold multiple + values. If the expression returns the empty sequence for the current parent + node, the corresponding facet will be empty as well. + A facet can also be defined to be hierarchical. A typical example would be a + date, which consists of a year, month and day component. By indexing the single + components as separate parts of a hierarchical facet, we enable the user to + drill down by year first, then by month and finally by day. Let's assume each of + our docbook articles has a pubdate containing a date in + xs:date format: + + Hierarchical facets may also hold multiple values, for example if we would + like to associate our documents with a subject classification on various levels + of granularity (say: science with math + and physics as subcategories or + humanities with art, + sociology and history). This way we + enable the user to drill down into broad humanities or + science subject first and choose particular topics + afterwards. If the result of the hierarchical facet expression + evaluates to an array, each of array members will be treated as a hierarchical + value for that facet. Such an array could look in XQuery similar to + [('science', 'math'), ('humanities', 'history')] and be a result of + evaluationg a function like idx:subject-hierarchy below stored in + an imported module (see below) - which assumes hierarchical subject structure stored in /db/subjects/subjects.xml + which assumes hierarchical subject structure stored in + /db/subjects/subjects.xml - Next, we may want to define fields for the authors and title of the article. In docbook, author can be a complex element, - consisting e.g. of a personname with nested - surname and firstname. For display to the user and sorting we want to pre-compute a normalized string out of those - components: - - A field does not need to define an expression attribute though: if no expression is given, the field's content will be taken - from the parent element. This makes sense e.g. if you would like to index a node twice, e.g. using a different analyzer. Or you can specify - index="no" on the parent element and index its content with an explicit field. + Next, we may want to define fields for the authors and title of the article. + In docbook, author can be a complex element, consisting e.g. of a + personname with nested surname and firstname. + For display to the user and sorting we want to pre-compute a normalized string + out of those components: + + A field does not need to define an expression attribute though: if + no expression is given, the field's content will be taken from the parent + element. This makes sense e.g. if you would like to index a node twice, e.g. + using a different analyzer. Or you can specify index="no" on the + parent element and index its content with an explicit field. A field may use a different analyzer than the one used to index the parent - content. Analyzers are referenced through analyzer attribute as described above. - Typed fields: fields may also declare a type attribute: supported values - are atomic types like xs:date, xs:dateTime, - xs:time, xs:integer, - xs:decimal and their sub-types. Defining a type is - important with respect to sorting (see below), e.g. to get dates in the correct - order. Typed fields can also be retrieved into corresponding XQuery atomic - values, so no additional casting is necessary. However, typed fields cannot be - queried using Lucene's default query parser, only retrieved with - ft:field. - Storing fields: By default the complete content of a field is stored in the Lucene index, - allowing later fast retrieval of the content using - ft:field. You can disable storing the content by adding - attribute store="no". The field will still be indexed and - available for queries though. - - Importing external modules: as can be seen in the field definition for "author" above, expressions can easily become quite verbose, so writing them into an attribute - is not convenient. It is thus also possible to import one or more XQuery modules into the index configuration and use the functions declared - in the module: - - In this example we extract the code for computing the author field into a function idx:authors located in an XQuery - module, module.xql. Note that we're using a relative import path for the module in the at attribute. - The path will be resolved relative to the collection to which the collection configuration applies (not where the collection configuration - itself is stored). It is also important that the module and all dependencies it imports is stored before the collection - configuration is saved and indexing starts. - Conditions: sometimes you may want to create a field only if a certain condition is met. For this - purpose, an additional attribute if may be added, containing an XPath expression. If the expression evaluates to an - effective boolean value of true, the field will be created. Otherwise it is skipped. - Conditions are useful to e.g. distinguish between different languages and apply an appropriate analyzer to each. Let's assume our docbook - articles may have both, a German and English version. The language is indicated by the @xml:lang attribute on the top-level - section element. We thus create a separate field for each language and connect it to the analyzer appropriate for the - language: - - Note that we skip indexing the parent article element with index="no" because we do not want a default index, but - rather a separate field for each language, so we can target them in queries explicitely. + content. Analyzers are referenced through analyzer attribute as + described above. + Typed fields: fields may also declare a + type attribute: supported values are atomic types like + xs:date, xs:dateTime, xs:time, + xs:integer, xs:decimal and their sub-types. Defining a + type is important with respect to sorting (see below), e.g. to get dates in the + correct order. Typed fields can also be retrieved into corresponding XQuery + atomic values, so no additional casting is necessary. However, typed fields + cannot be queried using Lucene's default query parser, only retrieved with + ft:field. + Storing fields: By default the complete + content of a field is stored in the Lucene index, allowing later fast retrieval + of the content using ft:field. You can disable storing the + content by adding attribute store="no". The field will still be + indexed and available for queries though. + + Importing external + modules: as can be seen in the field definition for "author" above, + expressions can easily become quite verbose, so writing them into an attribute + is not convenient. It is thus also possible to import one or more XQuery modules + into the index configuration and use the functions declared in the + module: + + In this example we extract the code for computing the author field into a + function idx:authors located in an XQuery module, + module.xql. Note that we're using a relative import path for + the module in the at attribute. The path will be resolved + relative to the collection to which the collection configuration applies (not + where the collection configuration itself is stored). It is also important that + the module and all dependencies it imports is stored before + the collection configuration is saved and indexing starts. + Conditions: sometimes you may want to create + a field only if a certain condition is met. For this purpose, an additional + attribute if may be added, containing an XPath expression. If + the expression evaluates to an effective boolean value of + true, the field will be created. Otherwise it is + skipped. + Conditions are useful to e.g. distinguish between different languages and + apply an appropriate analyzer to each. Let's assume our docbook articles may + have both, a German and English version. The language is indicated by the + @xml:lang attribute on the top-level section element. We + thus create a separate field for each language and connect it to the analyzer + appropriate for the language: + + Note that we skip indexing the parent article element with + index="no" because we do not want a default index, but rather a + separate field for each language, so we can target them in queries + explicitely. @@ -474,26 +520,33 @@ Querying full text from XQuery is straightforward. For example: The query function takes a query string in Lucene's default query syntax. It returns a set of nodes which are relevant with respect to the query. Lucene assigns a relevance score or rank (a - decimal number) to each match. This score is preserved by eXist-db and can be accessed through the score function. - The higher the score, the more relevant the text. You can use Lucene's features to "boost" a certain term in the query: give it a higher or lower - influence on the final rank. - Please note that the score is computed relative to the root context of the index. If you created an index on SPEECH, all scores will be - computed based on text in SPEECH nodes, even though your actual query may only return LINE children of - SPEECH. - The query string passed to ft:query may be empty. In this case all items from the context sequence are matched and returned. - Using an empty query makes sense in combination with the options for retrieving facets and field values described below. - The Lucene module is fully supported by eXist-db's query-rewriting optimizer. This means that the query engine can rewrite the XQuery expression - to make best use of the available indexes. All the rules and hints given in the tuning guide fully apply to the - Lucene index. - To present search results in a Keywords in Context format, you may want to have a look at eXist-db's KWIC module. + xlink:href="https://lucene.apache.org/core/4_10_4/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description" + >query syntax. It returns a set of nodes which are relevant with respect to the + query. Lucene assigns a relevance score or rank (a decimal number) to each match. This + score is preserved by eXist-db and can be accessed through the score function. + The higher the score, the more relevant the text. You can use Lucene's features to + "boost" a certain term in the query: give it a higher or lower influence on the final + rank. + Please note that the score is computed relative to the root context of the index. If + you created an index on SPEECH, all scores will be computed based on text in + SPEECH nodes, even though your actual query may only return LINE + children of SPEECH. + The query string passed to ft:query may be empty. In this case all + items from the context sequence are matched and returned. Using an empty query makes + sense in combination with the options for retrieving facets and field values described + below. + The Lucene module is fully supported by eXist-db's query-rewriting optimizer. This + means that the query engine can rewrite the XQuery expression to make best use of the + available indexes. All the rules and hints given in the tuning guide fully apply to the Lucene index. + To present search results in a Keywords in Context format, you + may want to have a look at eXist-db's KWIC + module. Querying Fields Fields associated with the indexed parent node (see above) can be queried with - ft:query by prefixing parts of the query expression with the + linkend="facets-and-fields">above) can be queried with + ft:query by prefixing parts of the query expression with the field name followed by a colon (':') as described in the documentation for Lucene's default query syntax. For example, the following expression searches for a docbook article containing the terms "xml" in the text and "xquery language" in the @@ -505,15 +558,15 @@ Retrieving Field Content You can retrieve the content of a field for display or sorting purposes using the - ft:field function. However, fields are always bound to the - result of a full text query, so you cannot retrieve them without calling - ft:query first. Also, keeping track of fields can be - expensive, so ft:query needs to be explicitly passed a parameter - specifying which fields should be made available via the query result. The third, - optional, parameter to ft:query supports a - fields option listing the names of the fields to be provided. - The values of the associated field can then be retrieved for each item in the query - result using ft:field. + ft:field function. However, fields are always bound to the result + of a full text query, so you cannot retrieve them without calling + ft:query first. Also, keeping track of fields can be expensive, + so ft:query needs to be explicitly passed a parameter specifying + which fields should be made available via the query result. The third, optional, + parameter to ft:query supports a fields option + listing the names of the fields to be provided. The values of the associated field + can then be retrieved for each item in the query result using + ft:field. One of the most common uses for retrieving field contents will be for sorting the results of a query. The order by in the example below sorts results by title first and then by author. @@ -523,11 +576,14 @@ set. For example, to view all articles in the collection you could pass in an empty sequence in place of the query string like this: - Typed fields: If you declared a different type than xs:string on a field, you should - remember to use the 3-parameter variant of ft:field and pass in the name of the desired target type as 3rd parameter. Reason: - lucene basically stores all non-text data types as numbers and eXist has no way to figure out the original type of the field. So if you defined - a field with type xs:date, make sure to retrieve it with ft:field($node, "date", "xs:date"), otherwise all - you get is a number. + Typed fields: If you declared a different type + than xs:string on a field, you should remember to use the + 3-parameter variant of ft:field and pass in the name of the + desired target type as 3rd parameter. Reason: lucene basically stores all non-text + data types as numbers and eXist has no way to figure out the original type of the + field. So if you defined a field with type xs:date, make sure to + retrieve it with ft:field($node, "date", "xs:date"), otherwise + all you get is a number. Displaying Facet Counts @@ -537,21 +593,27 @@ query result. The map links the facet value given as a map key with a positive count corresponding to the number of times the value occurs in the result set. Facet values with zero count are never included. - For example, we may use the following query to display the facet counts for the "keyword" dimension in our set of docbook articles: + For example, we may use the following query to display the facet counts for the + "keyword" dimension in our set of docbook articles: - Function ft:facets expects a sequence of nodes belonging to a result set obtained from one or more calls to - ft:query. If the sequence was combined from multiple expressions calling ft:query, the facet counts - will be merged. Second parameter of ft:facets specifies the dimension for which facet counts should be retrieved. The third - parameter should be either empty sequence or a positive integer denoting the maximum number of facets to show. In the case it is smaller than - the total number of facets, only those with the highest counts are returned. Passing an empty sequence means that all facet value counts should - be shown. Please note that facets with a zero occurrence count (i.e. facets not appearing anywhere in the result) are never returned. + Function ft:facets expects a sequence of nodes belonging to a + result set obtained from one or more calls to ft:query. If the + sequence was combined from multiple expressions calling ft:query, + the facet counts will be merged. Second parameter of ft:facets + specifies the dimension for which facet counts should be retrieved. The third + parameter should be either empty sequence or a positive integer denoting the maximum + number of facets to show. In the case it is smaller than the total number of facets, + only those with the highest counts are returned. Passing an empty sequence means + that all facet value counts should be shown. Please note that facets with a zero + occurrence count (i.e. facets not appearing anywhere in the result) are never + returned. For hierarchical facets only the top-most facet value in the hierarchy will be returned by default. For example, if you indexed a date facet with separate year, month and day component, a call to ft:facets($node, "date", ()) will return facet counts for years only. To also get counts for months, you have to call - ft:facets with a fourth parameter, passing in the year for - which sub-facet counts should be retrieved. To get days, you also need to specify - month and so on. ft:facets($node, "date", (), ("2018", "06")) will thus + ft:facets with a fourth parameter, passing in the year for which + sub-facet counts should be retrieved. To get days, you also need to specify month + and so on. ft:facets($node, "date", (), ("2018", "06")) will thus return facet counts for all days in June 2018. @@ -562,171 +624,197 @@ parameter of ft:query: If you specify multiple dimensions, these will be linked together with a logical - and, limiting the result to elements matching both dimensions. + and, limiting the result to elements matching both + dimensions. Treatment of multiple values for one facet dimension depends on the type of facet. - For non-hierarchical facets, as in example above, if you specify more than one value these - will be linked together with a logical or, - returning elements matching any of the alternative facet values for that dimension. - In case of hierarchical facets, a sequence of items is - interpreted as a hierarchical value/subvalue facet path, therefore expression like - ("2018", "06", "25") for the date dimension mentioned - earlier will return nodes from the 25th of June 2018. Nested sequences - are not allowed in XQuery, so the only way to pass in multiple hierarchical facet paths - is by wrapping the whole structure in an array. Each array element then is logically - linked with its other members with or expression. To query - for elements from June or May 2018 we therefore need to specify - date dimension values as [("2018", "06"), ("2018", "05")] - + For non-hierarchical facets, as in example above, if you specify more than one value + these will be linked together with a logical or, returning + elements matching any of the alternative facet values for that dimension. + In case of hierarchical facets, a sequence of items is interpreted as a + hierarchical value/subvalue facet path, therefore expression like ("2018", + "06", "25") for the date dimension mentioned earlier + will return nodes from the 25th of June 2018. Nested sequences are not allowed in + XQuery, so the only way to pass in multiple hierarchical facet paths is by wrapping + the whole structure in an array. Each array element then is logically linked with + its other members with or expression. To query for elements from + June or May 2018 we therefore need to specify date dimension + values as [("2018", "06"), ("2018", "05")] Describing Queries in XML - Lucene's default query syntax does not provide access to all available features. However, eXist-db's ft:query function also - accepts a description of the query in XML, as an alternative to passing a query string. The XML description closely mirrors Lucene's query API. - It is transformed into an internal tree of query objects, which is directly passed to Lucene for execution. This has several advantages, for - example you can specify if the order of terms should be relevant for a phrase query: + Lucene's default query syntax does not provide access to all available features. + However, eXist-db's ft:query function also accepts a description + of the query in XML, as an alternative to passing a query string. The XML + description closely mirrors Lucene's query API. It is transformed into an internal + tree of query objects, which is directly passed to Lucene for execution. This has + several advantages, for example you can specify if the order of terms should be + relevant for a phrase query: + Ranged queries using TO are also supported. Suppose you have + marked dates and wish to return only results between 1600 and 1610. + The following elements may occur within a query description: - - term - + term - Defines a single term to be searched in the index. If the root query element contains a sequence of term elements, wrap them in - bool/ and they will be combined as in a boolean "or" query. For example: + Defines a single term to be searched in the index. If the root query + element contains a sequence of term elements, wrap them in + bool/ and they will be combined as in a boolean "or" query. + For example: - This finds all SPEECH elements containing either nation or miserable or both. + This finds all SPEECH elements containing either + nation or miserable or both. - - wildcard - + wildcard - A string with a * wildcard in it. This will be matched against the terms of a document. Can be used instead of a - term element. For example: + A string with a * wildcard in it. This will be matched + against the terms of a document. Can be used instead of a + term element. For example: - - regex - + regex - A regular expression which will be matched against the terms of a document. Can be used instead of a term element. For + A regular expression which will be matched against the terms of a + document. Can be used instead of a term element. For example: - - bool - + bool - Constructs a boolean query from its children. Each child element may have an occurrence indicator, which could be either - must, should or not: + Constructs a boolean query from its children. Each child element may + have an occurrence indicator, which could be either + must, should or + not: - must + must - this part of the query must be matched + this part of the query must be + matched - should + should - this part of the query should be matched, but doesn't need to + this part of the query should be + matched, but doesn't need to - not + not - this part of the query must not be matched + this part of the query must not be + matched For instance: - To optimize performance you can specify a minimum number of matches to prevent needless disjunctive searches, using the min attribute. If no occurence indicator is provided the query will default to should, as this is the only indicator that supports min: + To optimize performance you can specify a minimum number of matches to + prevent needless disjunctive searches, using the min + attribute. If no occurence indicator is provided the query will default + to should, as this is the only indicator that + supports min: - - phrase - + phrase - Searches for a group of terms occurring in the correct order. The element may either contain explicit term elements or - text content. Text will be automatically tokenized into a sequence of terms. For example: + Searches for a group of terms occurring in the correct order. The + element may either contain explicit term elements or text + content. Text will be automatically tokenized into a sequence of terms. + For example: This has the same effect as: - The attribute slop can be used for a proximity search: Lucene will try to find terms which are within the - specified distance: + The attribute slop can be used for a proximity + search: Lucene will try to find terms which are within the specified + distance: - - near - + near - - near is a powerful alternative to phrase and one of the features not available through the standard Lucene - query parser. - If the element has text content only, it will be tokenized into terms and the expression behaves like phrase. Otherwise - it may contain any combination of term, first and nested near elements. This makes it possible to - search for two sequences of terms which are within a specific distance. For example: + near is a powerful alternative to phrase and + one of the features not available through the standard Lucene query + parser. + If the element has text content only, it will be tokenized into terms + and the expression behaves like phrase. Otherwise it may + contain any combination of term, first and nested + near elements. This makes it possible to search for two + sequences of terms which are within a specific distance. For + example: - Element first matches a span against the start of the text in the context node. It takes an optional attribute - end to specify the maximum distance from the start of the text. For example: + Element first matches a span against the start of the text + in the context node. It takes an optional attribute + end to specify the maximum distance from the start of + the text. For example: - As shown above, the content of first can again be text, a term or near. - Contrary to phrase, near can be told to ignore the order of its components. Use parameter - ordered="yes|no" to change near's behaviour. For example: + As shown above, the content of first can again be text, a + term or near. + Contrary to phrase, near can be told to ignore + the order of its components. Use parameter + ordered="yes|no" to change near's behaviour. For + example: - All elements in a query may have an optional boost parameter (float). The score of the nodes matching the corresponding - query part will be multiplied by this factor. + All elements in a query may have an optional boost parameter + (float). The score of the nodes matching the corresponding query part will be + multiplied by this factor. Additional parameters - The ft:query function allows a third parameter for passing additional settings to the query engine. This parameter must be an XML - fragment which lists the configuration properties to be set as child elements: + The ft:query function allows a third parameter for passing additional + settings to the query engine. This parameter must be an XML fragment which lists the + configuration properties to be set as child elements: The meaning of those properties is as follows - filter-rewrite + filter-rewrite - Controls how terms are expanded for wildcard or regular expression searches. If set to yes, Lucene will use a filter - to pre-process matching terms. If set to no, all matching terms will be added to a single boolean query which is then - executed. This may generate a "too many clauses" exception when applied to large data sets. Setting filter-rewrite to - yes avoids those issues. + Controls how terms are expanded for wildcard or regular expression + searches. If set to yes, Lucene will use a filter to + pre-process matching terms. If set to no, all matching + terms will be added to a single boolean query which is then executed. + This may generate a "too many clauses" exception when applied to large + data sets. Setting filter-rewrite to yes avoids those + issues. - default-operator + default-operator - The default operator with which multiple terms will be combined. Allowed values: or, and. + The default operator with which multiple terms will be combined. + Allowed values: or, and. - phrase-slop + phrase-slop - Sets the default slop for phrases. If 0, then exact phrase matches are required. Default value is - 0. + Sets the default slop for phrases. If 0, then exact + phrase matches are required. Default value is 0. - leading-wildcard + leading-wildcard - When set to yes, * or ? are allowed as the first character of a PrefixQuery and - WildcardQuery. Note that this can produce very slow queries on big indexes. + When set to yes, * or ? are + allowed as the first character of a PrefixQuery and WildcardQuery. Note + that this can produce very slow queries on big indexes. @@ -739,7 +827,8 @@ Adding Constructed Fields to a Document This feature allows to add arbitrary fields to a binary or XML document and have them - indexed with Lucene. It was developed as part of the content extraction framework, to attach metadata + indexed with Lucene. It was developed as part of the content extraction framework, to attach metadata extracted from for instance a PDF to the binary document. It works equally well for XML documents though and is an efficient method to attach computed fields to a document, containing information which does not exist in the XML as such. diff --git a/src/main/xar-resources/data/newrangeindex/listings/listing-12.xml b/src/main/xar-resources/data/newrangeindex/listings/listing-12.xml index dc864701..9a278c22 100644 --- a/src/main/xar-resources/data/newrangeindex/listings/listing-12.xml +++ b/src/main/xar-resources/data/newrangeindex/listings/listing-12.xml @@ -1,12 +1,12 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/src/main/xar-resources/data/newrangeindex/listings/listing-14.xml b/src/main/xar-resources/data/newrangeindex/listings/listing-14.xml index cefe4e0a..fc89c3ca 100644 --- a/src/main/xar-resources/data/newrangeindex/listings/listing-14.xml +++ b/src/main/xar-resources/data/newrangeindex/listings/listing-14.xml @@ -1,6 +1,6 @@ - - - - - \ No newline at end of file + + + + + diff --git a/src/main/xar-resources/data/newrangeindex/listings/listing-17.xml b/src/main/xar-resources/data/newrangeindex/listings/listing-17.xml index 47c3faf8..26d5599d 100644 --- a/src/main/xar-resources/data/newrangeindex/listings/listing-17.xml +++ b/src/main/xar-resources/data/newrangeindex/listings/listing-17.xml @@ -1,7 +1,7 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/main/xar-resources/data/newrangeindex/listings/listing-5.xml b/src/main/xar-resources/data/newrangeindex/listings/listing-5.xml index 0d6dd205..9e6ed326 100644 --- a/src/main/xar-resources/data/newrangeindex/listings/listing-5.xml +++ b/src/main/xar-resources/data/newrangeindex/listings/listing-5.xml @@ -1,14 +1,14 @@ - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/newrangeindex/listings/listing-9.xml b/src/main/xar-resources/data/newrangeindex/listings/listing-9.xml index 3cd47a39..b8d191c4 100644 --- a/src/main/xar-resources/data/newrangeindex/listings/listing-9.xml +++ b/src/main/xar-resources/data/newrangeindex/listings/listing-9.xml @@ -1,6 +1,6 @@ - - - - - \ No newline at end of file + + + + + diff --git a/src/main/xar-resources/data/newrangeindex/newrangeindex.xml b/src/main/xar-resources/data/newrangeindex/newrangeindex.xml index bd735917..58e28220 100644 --- a/src/main/xar-resources/data/newrangeindex/newrangeindex.xml +++ b/src/main/xar-resources/data/newrangeindex/newrangeindex.xml @@ -46,7 +46,7 @@ Store this definition and do a re-index. Index files are created in the - $EXIST_HOME/data/range directory (or wherever you configured your + $EXIST_HOME/data/range directory (or wherever you configured your data directory to be). The indexes will be used automatically for general or value comparisons, as well as string functions like fn:contains, fn:starts-with, @@ -66,7 +66,7 @@ Configuration Features - + Some notes on how to configuration the index. diff --git a/src/main/xar-resources/data/ngram/listings/listing-1.xml b/src/main/xar-resources/data/ngram/listings/listing-1.xml index e6689cd1..fe49cdea 100644 --- a/src/main/xar-resources/data/ngram/listings/listing-1.xml +++ b/src/main/xar-resources/data/ngram/listings/listing-1.xml @@ -1,11 +1,11 @@ - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff --git a/src/main/xar-resources/data/oldrangeindex/listings/listing-1.xml b/src/main/xar-resources/data/oldrangeindex/listings/listing-1.xml index 91caea48..798c35da 100644 --- a/src/main/xar-resources/data/oldrangeindex/listings/listing-1.xml +++ b/src/main/xar-resources/data/oldrangeindex/listings/listing-1.xml @@ -1,10 +1,18 @@ - - Tall Bookcase - 299.99 - - - Low Bookcase - 199.99 - - \ No newline at end of file + + + Tall Bookcase + + + 299.99 + + + + + Low Bookcase + + + 199.99 + + + diff --git a/src/main/xar-resources/data/production_good_practice/listings/listing-4.xml b/src/main/xar-resources/data/production_good_practice/listings/listing-4.xml index 40c1274e..ab38c78a 100644 --- a/src/main/xar-resources/data/production_good_practice/listings/listing-4.xml +++ b/src/main/xar-resources/data/production_good_practice/listings/listing-4.xml @@ -1,4 +1,8 @@ - hidden - true - \ No newline at end of file + + hidden + + + true + + diff --git a/src/main/xar-resources/data/production_good_practice/listings/listing-5.xml b/src/main/xar-resources/data/production_good_practice/listings/listing-5.xml index a7c5246e..f42c1104 100644 --- a/src/main/xar-resources/data/production_good_practice/listings/listing-5.xml +++ b/src/main/xar-resources/data/production_good_practice/listings/listing-5.xml @@ -1,4 +1,8 @@ - xquery-submission - authenticated - \ No newline at end of file + + xquery-submission + + + authenticated + + diff --git a/src/main/xar-resources/data/production_good_practice/listings/listing-6.xml b/src/main/xar-resources/data/production_good_practice/listings/listing-6.xml index 665d022e..0a241eae 100644 --- a/src/main/xar-resources/data/production_good_practice/listings/listing-6.xml +++ b/src/main/xar-resources/data/production_good_practice/listings/listing-6.xml @@ -1,4 +1,8 @@ - xupdate-submission - disabled - \ No newline at end of file + + xupdate-submission + + + disabled + + diff --git a/src/main/xar-resources/data/production_good_practice/production_good_practice.xml b/src/main/xar-resources/data/production_good_practice/production_good_practice.xml index 0eaed5b6..ef7510ab 100644 --- a/src/main/xar-resources/data/production_good_practice/production_good_practice.xml +++ b/src/main/xar-resources/data/production_good_practice/production_good_practice.xml @@ -5,7 +5,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink"> Production Use - Good Practice - 3Q19 + 1Q20 operations @@ -13,10 +13,10 @@ - From our and our clients' experiences of developing and using eXist-db in production - environments a number of lessons have been learned. This Good Practice guide is an attempt - to cover some of the considerations that should be taken into account when deploying - eXist-db for use in a production environment. + Based on our experiences of developing and using eXist-db in production environments we + learned a number of lessons. This Good Practice guide is an attempt to cover some of the + considerations that should be taken into account when deploying eXist-db for use in a + production environment. The concepts laid out within this document should not be considered absolute or accepted wholesale - they should rather be used as suggestions to guide users in their eXist-db deployments. @@ -41,10 +41,12 @@ xlink:href="https://bintray.com/existdb/releases/exist#read" >https://bintray.com/existdb/releases/exist#read + + For dockerized production systems we strongly recommend to use + semantic-version tags of official release, e.g. 5.2.0 instead + of release or latest. + - - - @@ -171,7 +173,7 @@ Security - Permissions - + The permission requirements for development and deployment servers are rather different. Here we explain what to look out for starting with the default configuration. eXist-db Permissions @@ -189,12 +191,15 @@ default permissions The default permissions for creating resources and collections in - eXist-db are 0666 for resources, and 0777 for collections. - From these default permissions, the user's umask is subtracted to give the permissions - assigned to new resources and collections. By default each new user has the umask 022, - which leads to new resources having the mode 0644, and collections 0755. - You may wish to modify the umask of some of your users to further restrict the default permisions - when they create resources and collections. + eXist-db are 0666 for resources, and 0777 + for collections. From these default permissions, the user's umask is + subtracted to give the permissions assigned to new resources and + collections. By default each new user has the umask + 022, which leads to new resources having the mode + 0644, and collections 0755. You may wish + to modify the umask of some of your users to further restrict the + default permisions when they create resources and + collections. @@ -318,8 +323,7 @@ eXist-db provides services for accessing the database. You should reduce these to the absolute minimum you need for your production - application.This is done via - etc/webapp/WEB-INF/web.xml. + application.This is done via etc/webapp/WEB-INF/web.xml. You should look at each configured service, servlet or filter and ask yourself: do we use this? Most production environments are unlikely to need WebDAV. @@ -330,8 +334,8 @@ eXist-db loads several XQuery and Index extension modules by default. You should modify the builtin-modules section of - etc/conf.xml and only load what you - need for your application. + etc/conf.xml and only load what + you need for your application. @@ -358,8 +362,8 @@ cacheSize and collectionCache These two settings in db-connection of - etc/conf.xml should be adjusted appropriately based on - your -Xmx setting (see above). See the etc/conf.xml should be adjusted appropriately based + on your -Xmx setting (see above). See the tuning guide for advice on sensible values. @@ -382,8 +386,9 @@ Keeping the eXist-db application, data and journal on separate disks, connected to different I/O channels, can have a positive impact on performance. The location of - the data files and journals can be changed in etc/conf.xml. - In addition to gain the absolute best performance, for eXist-db 5.0.0 or newer, it + the data files and journals can be changed in + etc/conf.xml. + In addition to gain the absolute best performance, for eXist-db 5.0.0 or newer, it may be beneficial to disable Lock Event Tracking in the Lock Table. The Lock Table can be disabled in the etc/conf.xml configuration file. @@ -418,11 +423,10 @@ Web Deployments - eXist-db, like any Web Application Server, should - not be directly exposed to the Web. Instead, we strongly recommend proxying eXist-db - through a Web Server such as Nginx or Apache HTTPD. See eXist-db, like any Web Application Server, should not be directly exposed to the Web. + Instead, we strongly recommend proxying eXist-db through a Web Server such as Nginx or Apache HTTPD. See here for further details. If you proxy eXist-db through a Web Server, you can also configure your firewall to allow external access directly to the Web Server only. If done correctly this means that @@ -442,8 +446,8 @@ of resources from the server to the client, hopefully resulting in a faster experience for the end-user. GZip Compression can be enabled in web.xml, which can be found in - either $EXIST_HOME/etc/webapp/WEB-INF/web.xml for default deployments or - $EXIST_HOME/etc/jetty/standalone/WEB-INF/web.xml for standalone + either $EXIST_HOME/etc/webapp/WEB-INF/web.xml for default deployments + or $EXIST_HOME/etc/jetty/standalone/WEB-INF/web.xml for standalone deployments. diff --git a/src/main/xar-resources/data/production_web_proxying/production_web_proxying.xml b/src/main/xar-resources/data/production_web_proxying/production_web_proxying.xml index 21413abd..e5ee0bb0 100644 --- a/src/main/xar-resources/data/production_web_proxying/production_web_proxying.xml +++ b/src/main/xar-resources/data/production_web_proxying/production_web_proxying.xml @@ -69,6 +69,7 @@ + Be aware that many proxies by default limit the maximum size of request bodies, eg. client_max_body_size 1m;. When working with large xml files in eXist-db such a limitation will intefere with its normal operations. To fix this increase the value in line with your application's demands. diff --git a/src/main/xar-resources/data/repo/listings/listing-1.xml b/src/main/xar-resources/data/repo/listings/listing-1.xml index 76e8ee4e..33c0f79e 100644 --- a/src/main/xar-resources/data/repo/listings/listing-1.xml +++ b/src/main/xar-resources/data/repo/listings/listing-1.xml @@ -1,6 +1,10 @@ - eXist-db Documentation - https://www.github.com/exist-db/documentation - - - \ No newline at end of file + + eXist-db Documentation + + + https://www.github.com/exist-db/documentation + + + + diff --git a/src/main/xar-resources/data/repo/listings/listing-4.xml b/src/main/xar-resources/data/repo/listings/listing-4.xml index 830cd285..805d3e70 100644 --- a/src/main/xar-resources/data/repo/listings/listing-4.xml +++ b/src/main/xar-resources/data/repo/listings/listing-4.xml @@ -1,7 +1,13 @@ - FunctX library - - http://www.functx.com - functx.xql - - \ No newline at end of file + + FunctX library + + + + http://www.functx.com + + + functx.xql + + + diff --git a/src/main/xar-resources/data/repo/listings/listing-7.xml b/src/main/xar-resources/data/repo/listings/listing-7.xml index 5f753094..c7498935 100644 --- a/src/main/xar-resources/data/repo/listings/listing-7.xml +++ b/src/main/xar-resources/data/repo/listings/listing-7.xml @@ -1,7 +1,13 @@ - expath-crypto.jar - - http://expath.org/ns/crypto - org.expath.exist.crypto.ExistExpathCryptoModule - - \ No newline at end of file + + expath-crypto.jar + + + + http://expath.org/ns/crypto + + + org.expath.exist.crypto.ExistExpathCryptoModule + + + diff --git a/src/main/xar-resources/data/repo/listings/listing-8.xml b/src/main/xar-resources/data/repo/listings/listing-8.xml index f1258618..8e0e7642 100644 --- a/src/main/xar-resources/data/repo/listings/listing-8.xml +++ b/src/main/xar-resources/data/repo/listings/listing-8.xml @@ -1,12 +1,30 @@ - eXist-db Documentation - eXist-db - https://www.github.com/exist-db/documentation - stable - GNU Lesser General Public License, version 2.1 - true - application - doc - pre-install.xql - - \ No newline at end of file + + eXist-db Documentation + + + eXist-db + + + https://www.github.com/exist-db/documentation + + + stable + + + GNU Lesser General Public License, version 2.1 + + + true + + + application + + + doc + + + pre-install.xql + + + diff --git a/src/main/xar-resources/data/scheduler/listings/listing-1.xml b/src/main/xar-resources/data/scheduler/listings/listing-1.xml index 280ae62e..34bb419e 100644 --- a/src/main/xar-resources/data/scheduler/listings/listing-1.xml +++ b/src/main/xar-resources/data/scheduler/listings/listing-1.xml @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/main/xar-resources/data/scheduler/listings/listing-3.xml b/src/main/xar-resources/data/scheduler/listings/listing-3.xml index ba33e7bc..bddb5d1d 100644 --- a/src/main/xar-resources/data/scheduler/listings/listing-3.xml +++ b/src/main/xar-resources/data/scheduler/listings/listing-3.xml @@ -1,5 +1,3 @@ - - - + diff --git a/src/main/xar-resources/data/security/listings/listing-1.xml b/src/main/xar-resources/data/security/listings/listing-1.xml index 06eaf9fa..048254ac 100644 --- a/src/main/xar-resources/data/security/listings/listing-1.xml +++ b/src/main/xar-resources/data/security/listings/listing-1.xml @@ -1,3 +1,5 @@ - /authentication/login - \ No newline at end of file + + /authentication/login + + diff --git a/src/main/xar-resources/data/security/listings/listing-4.xml b/src/main/xar-resources/data/security/listings/listing-4.xml index 88007d0d..41ffc73c 100644 --- a/src/main/xar-resources/data/security/listings/listing-4.xml +++ b/src/main/xar-resources/data/security/listings/listing-4.xml @@ -1,8 +1,16 @@ - aretter - {RIPEMD160}Vi7e971INiGmyWGT1bm63bHj1gf= - - true - false - - \ No newline at end of file + + aretter + + + {RIPEMD160}Vi7e971INiGmyWGT1bm63bHj1gf= + + + + true + + + false + + + diff --git a/src/main/xar-resources/data/security/listings/listing-5.xml b/src/main/xar-resources/data/security/listings/listing-5.xml index f52e122b..b958aa60 100644 --- a/src/main/xar-resources/data/security/listings/listing-5.xml +++ b/src/main/xar-resources/data/security/listings/listing-5.xml @@ -1,37 +1,89 @@ - - simple - ldap://ad.server.url.here:389 - domain.here - - ou=group,dc=ad,dc=organiation-or-what-ever,dc=domain - account@domain.here - XXXXXXX - - objectClass=user - objectSid - primaryGroupID - sAMAccountName - distinguishedName - memberOf - givenName - mail - sn - name - - - objectClass=group - member - primaryGroupToken - objectSid - sAMAccountName - distinguishedName - - Domain Users - Users_GROUP - - - - group.users - - \ No newline at end of file + + + simple + + + ldap://ad.server.url.here:389 + + + domain.here + + + + ou=group,dc=ad,dc=organiation-or-what-ever,dc=domain + + + account@domain.here + + + XXXXXXX + + + + objectClass=user + + + objectSid + + + primaryGroupID + + + sAMAccountName + + + distinguishedName + + + memberOf + + + givenName + + + mail + + + sn + + + name + + + + + objectClass=group + + + member + + + primaryGroupToken + + + objectSid + + + sAMAccountName + + + distinguishedName + + + + Domain Users + + + Users_GROUP + + + + + + + group.users + + + + diff --git a/src/main/xar-resources/data/security/listings/listing-8.xml b/src/main/xar-resources/data/security/listings/listing-8.xml index 4e37bfd0..4a396167 100644 --- a/src/main/xar-resources/data/security/listings/listing-8.xml +++ b/src/main/xar-resources/data/security/listings/listing-8.xml @@ -1,18 +1,24 @@ - - - - - - - - dba - - - guest - - - my-group - - - \ No newline at end of file + + + + + + + + + dba + + + + + guest + + + + + my-group + + + + diff --git a/src/main/xar-resources/data/templating/listings/listing-7.xml b/src/main/xar-resources/data/templating/listings/listing-7.xml index 3f2aadef..b1421b85 100644 --- a/src/main/xar-resources/data/templating/listings/listing-7.xml +++ b/src/main/xar-resources/data/templating/listings/listing-7.xml @@ -1,4 +1,8 @@
-

Found hits

-
    -
\ No newline at end of file +

+ Found + + hits +

+
    + diff --git a/src/main/xar-resources/data/triggers/listings/listing-2.xml b/src/main/xar-resources/data/triggers/listings/listing-2.xml index 00ca37ac..fa86b2f3 100644 --- a/src/main/xar-resources/data/triggers/listings/listing-2.xml +++ b/src/main/xar-resources/data/triggers/listings/listing-2.xml @@ -1,11 +1,10 @@ - - - - - - - - - - \ No newline at end of file + + + + + + + + + diff --git a/src/main/xar-resources/data/triggers/listings/listing-3.xml b/src/main/xar-resources/data/triggers/listings/listing-3.xml index a623a9d0..c925624f 100644 --- a/src/main/xar-resources/data/triggers/listings/listing-3.xml +++ b/src/main/xar-resources/data/triggers/listings/listing-3.xml @@ -1,7 +1,7 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/src/main/xar-resources/data/triggers/listings/listing-6.xml b/src/main/xar-resources/data/triggers/listings/listing-6.xml index 2f29a698..e1691948 100644 --- a/src/main/xar-resources/data/triggers/listings/listing-6.xml +++ b/src/main/xar-resources/data/triggers/listings/listing-6.xml @@ -1,5 +1,5 @@ - - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/tuning/listings/listing-6.xml b/src/main/xar-resources/data/tuning/listings/listing-6.xml index 55711e1e..c17be9aa 100644 --- a/src/main/xar-resources/data/tuning/listings/listing-6.xml +++ b/src/main/xar-resources/data/tuning/listings/listing-6.xml @@ -1,10 +1,9 @@ - - - - - - - - - \ No newline at end of file + + + + + + + + diff --git a/src/main/xar-resources/data/tuning/tuning.xml b/src/main/xar-resources/data/tuning/tuning.xml index b386a3a0..f4f0cdab 100644 --- a/src/main/xar-resources/data/tuning/tuning.xml +++ b/src/main/xar-resources/data/tuning/tuning.xml @@ -25,14 +25,14 @@ Java always limits the maximum amount of memory available to a process. So eXist-db will not automatically use all of the available memory on your machine. The maximum amount of memory Java will allocate is determined by the - -Xmx parameter passed to Java on the command line. + -Xmx parameter passed to Java on the command line. When eXist-db is started via the graphical launcher or via one of the shell or batch scripts, memory settings are read from the file - $EXIST_HOME/etc/launcher.properties: + $EXIST_HOME/etc/launcher.properties: For Unix/Linux systems, this is done in the .sh - files, for instance $EXIST_HOME/bin/startup.sh, from the - JAVA_OPTS evironment variable. You can override those variables + files, for instance $EXIST_HOME/bin/startup.sh, from the + JAVA_OPTS evironment variable. You can override those variables globally in your own shell. On Windows,this is done in the main .bat files, for instance $EXIST_HOME\bin\startup.bat. @@ -49,8 +49,8 @@ them a few moment later. This "trashing effect" results in an immediate performance drop, in particular while indexing documents. All caches share a single memory pool, whose size is determined by the attribute - cacheSize in the db-connection section of - $EXIST_HOME/etc/conf.xml: + cacheSize in the db-connection section of + $EXIST_HOME/etc/conf.xml: The global cache manager will dynamically grant more memory to caches while they are under load and free memory used by idle caches. @@ -83,7 +83,7 @@ Index configuration - + Some notes on the optimizing different indexes. More general information regarding these options is available in the individual articles for each index. @@ -170,7 +170,7 @@ Writing Queries - + Next to configering your indexes for better performance, you can also optimize the way you write your queries. Prefer short paths diff --git a/src/main/xar-resources/data/update_ext/update_ext.xml b/src/main/xar-resources/data/update_ext/update_ext.xml index f5ac221a..65c02ab8 100644 --- a/src/main/xar-resources/data/update_ext/update_ext.xml +++ b/src/main/xar-resources/data/update_ext/update_ext.xml @@ -1,183 +1,191 @@
    - - XQuery Update Extension - 2Q19 - - xquery - - - - - - - This article describes eXist-db's extension to XQuery for updating nodes in the - database. - - - - - Important Considerations - - - - - Relationship to W3C Recommendation - - This extension was created well before the W3C working group created the XQuery Update - Facility 1.0 recommendation and therefore differs substantially from it. - - - - - - Persistent Document Updates - - The XQuery update extension was designed for updating persistent - documents stored in the database. It does not work for updating temporary document fragments - constructed within an query. - For example: - - Since $node is an in-memory constructed element (rather than a node stored - in the database) the query has no effect and simply returns the empty element. - - - - - - - Update Syntax - - All update statements start with the keyword update, followed by an update - action. - Available actions are: insert, delete, replace, - value and rename. The return type of an update expression is - empty-sequence(). - An update statement may occur at any position within the XQuery main code or a function - body. - - When using update within the return clause of a FLWOR expression, be - cautious when deleting or replacing nodes that are still being used by the enclosing code. - This is because a delete or replace will be processed immediately, and so the deleted or - replaced node will no longer be available to the query. Such actions can corrupt - the database! - - For example, the following expression will throw the database into an inconsistent state - if //address returns more than one node: - - - However, an expression like the following is safe as it only modifies the current - iteration variable. The following example only deletes $address (the current - iteration variable) instead of //address (all addresses in the - database): - - - - - - - Insert - - - Inserts the content sequence specified in expr into the element node passed - via exprSingle. exprSingle and expr must evaluate to - a node set. If exprSingle contains more than one element node, the modification - will be applied to each of the nodes. The position of the insertion is determined by the - keywords into, following or preceding: - - - into - - The content is appended after the last child node of the specified - elements. - - - - following - - The content is inserted immediately after the node specified in + schematypens="http://purl.oclc.org/dsdl/schematron"?> +
    + + XQuery Update Extension + 2Q19 + + xquery + + + + + + + This article describes eXist-db's extension to XQuery for updating nodes in the + database. + + + + + Important Considerations + Two things you should take into account with respect to the updating extension. + + + + Relationship to W3C Recommendation + + This extension was created well before the W3C working group created the XQuery + Update Facility 1.0 recommendation and therefore differs substantially from + it. + + + + + + Persistent Document Updates + + The XQuery update extension was designed for updating + persistent documents stored in the database. It does not work + for updating temporary document fragments constructed within an query. + For example: + + Since $node is an in-memory constructed element (rather than a node + stored in the database) the query has no effect and simply returns the empty + element. + + + + + + + Update Syntax + + All update statements start with the keyword update, followed by an + update action. + Available actions are: insert, delete, replace, + value and rename. The return type of an update expression is + empty-sequence(). + An update statement may occur at any position within the XQuery main code or a + function body. + + When using update within the return clause of a FLWOR expression, be + cautious when deleting or replacing nodes that are still being used by the enclosing + code. This is because a delete or replace will be processed immediately, and so the + deleted or replaced node will no longer be available to the query. Such + actions can corrupt the database! + For example, the following expression will throw the database into an inconsistent + state if //address returns more than one node: + + + However, an expression like the following is safe as it only modifies the current + iteration variable. The following example only deletes $address (the + current iteration variable) instead of //address (all addresses in the + database): + + + + + + + Insert + + + Inserts the content sequence specified in expr into the element node + passed via exprSingle. exprSingle and expr + must evaluate to a node set. If exprSingle contains more than one + element node, the modification will be applied to each of the nodes. The position of + the insertion is determined by the keywords into, + following or preceding: + + + into + + The content is appended after the last child node of the specified + elements. + + + + following + + The content is inserted immediately after the node specified in + exprSingle. + + + + preceding + + The content is inserted before the node specified in + exprSingle. + + + + + Insert Example: Element + update insert <email type="office">andrew@gmail.com</email> into //address[fname="Andrew"] + + + Insert Example: Attribute + update insert attribute type {'permanent'} into //address[fname="Andrew"] + + + + + + + Replace + + update replace expr with exprSingle + Replaces the nodes returned by expr with the nodes in + exprSingle. expr must evaluate to a single element, + attribute or text node. If it is an element, exprSingle must contain a + single element node. If it is an attribute or text node, the value of the attribute + or the text node is set to the concatenated string values of all nodes in + exprSingle. expr cannot be the root element of a + document. + + Replace Example + update replace //fname[. = "Andrew"] with <fname>Andy</fname> + + + + + + + Value + + update value expr with exprSingle + Updates the content of all nodes in expr with the items in + exprSingle. If expr is an attribute or text node, its + value will be set to the concatenated string value of all items in exprSingle. - - - - preceding - - The content is inserted before the node specified in - exprSingle. - - - - - Insert Example: Element - update insert <email type="office">andrew@gmail.com</email> into //address[fname="Andrew"] - - - Insert Example: Attribute - update insert attribute type {'permanent'} into //address[fname="Andrew"] - - - - - - - Replace - - update replace expr with exprSingle - Replaces the nodes returned by expr with the nodes in - exprSingle. expr must evaluate to a single element, attribute or - text node. If it is an element, exprSingle must contain a single element node. - If it is an attribute or text node, the value of the attribute or the text node is set to - the concatenated string values of all nodes in exprSingle. expr - cannot be the root element of a document. - - Replace Example - update replace //fname[. = "Andrew"] with <fname>Andy</fname> - - - - - - - Value - - update value expr with exprSingle - Updates the content of all nodes in expr with the items in - exprSingle. If expr is an attribute or text node, its value will - be set to the concatenated string value of all items in exprSingle. - - Value Example - update value //fname[. = "Andrew"] with 'Andy' - - - - - - - Delete - - update delete expr - Removes all nodes in expr from their document. expr cannot be the root element of a - document. - - Delete Example - - - - - - - - Rename - - update rename expr as exprSingle - Renames the nodes in expr using the string value of the first item in exprSingle as the - new name of the node. expr should evaluate to a set of elements or attributes. expr cannot - be the root element of a document. - - Rename Example - - - - + + Value Example + update value //fname[. = "Andrew"] with 'Andy' + + + + + + + Delete + + update delete expr + Removes all nodes in expr from their document. expr + cannot be the root element of a document. + + Delete Example + + + + + + + + Rename + + update rename expr as exprSingle + Renames the nodes in expr using the string value of the first item in + exprSingle as the new name of the node. expr should + evaluate to a set of elements or attributes. expr cannot be the root + element of a document. + + Rename Example + + + +
    diff --git a/src/main/xar-resources/data/upgrading/upgrading.xml b/src/main/xar-resources/data/upgrading/upgrading.xml index 85236de7..9992a1b3 100644 --- a/src/main/xar-resources/data/upgrading/upgrading.xml +++ b/src/main/xar-resources/data/upgrading/upgrading.xml @@ -1,263 +1,259 @@ -
    - - Upgrade Guide - 2Q19 - - operations - - +
    + + Upgrade Guide + 1Q20 + + operations + + - + - This article explains the best practices for upgrading eXist-db. It provides instructions for several different types of upgrades. Following these instructions will ensure your data is properly backed up and preserved during the upgrade process. + This article explains the best practices for upgrading eXist-db. It provides instructions + for several different types of upgrades. Following these instructions will ensure your data + is properly backed up and preserved during the upgrade process. - + - - Introduction - The primary goal of an upgrade is to migrate your eXist application to a new version, - while preserving the contents of your database. - Before embarking on an upgrade, you should first review the new version's release notes - (see the eXist Developer's Blog for an archive of all past release notes). - The release notes introduce the new version's features, improvements and bug fixes. They can - also outline any new requirements (for instance the required version of Java). - For the purpose of this guide, the most important item in the release notes is whether the - new version is binary-compatible with the previous version or not. Pay - close attention to these notes, as they will tell you which upgrade route to follow. - If a new version is binary-compatible with the previous version, it means the format eXist - uses to store the contents of the database has not changed. The data can be used by new - version without modification. - However, if a new version is not binary-compatible, the new version - of eXist has changed the way it reads data from or stores data into the database. Additional - steps are required to migrate your data to the new version of eXist. - Always back up your data before upgrading to any new version of eXist. - Do not install the new version of eXist over the previous version. Instead, install the new version into a fresh new directory. - + + Introduction + The primary goal of an upgrade is to migrate your eXist application to a new version, + while preserving the contents of your database. + Before embarking on an upgrade, you should first review the new version's release + notes (see the eXist Developer's + Blog for an archive of all past release notes). The release notes introduce the + new version's features, improvements and bug fixes. They can also outline any new + requirements (for instance the required version of Java). + For the purpose of this guide, the most important item in the release notes is whether + the new version is binary-compatible with the previous version or + not. Pay close attention to these notes, as they will tell you which upgrade route to + follow. + If a new version is binary-compatible with the previous version, it means the format + eXist uses to store the contents of the database has not changed. The data can be used + by new version without modification. + However, if a new version is not binary-compatible, the new + version of eXist has changed the way it reads data from or stores data into the + database. Additional steps are required to migrate your data to the new version of + eXist. + Always back up your data before upgrading to any new version of eXist. + Do not install the new version of eXist over the previous version. Instead, install + the new version into a fresh new directory. + - + - - Binary Compatible Upgrades + + Binary Compatible Upgrades - Follow these steps if the new version of eXist is binary-compatible with the your old version (as can be found in the release notes): - - - Stop the existing installation of eXist. - - - Create a - backup - of the data from your existing installation. - - - Install the new version of eXist. Do - not - install one eXist version over the existing one. Always install the new version into a fresh new directory. - - - Remove the still empty - data directory from the new installation. By default the data directory is - located at $EXIST_HOME/data. If you are not sure where the data directory is, - check the main logfile - exist.log - , searching for entries after start-up pertaining to DATA_DIR. - - - Copy the entire existing data directory, and paste it to the location of the new data directory (the directory you deleted in the previous step). - - - Start the new eXist instance. - - - Check the - exist.log - - for any errors during startup. - - - + Follow these steps if the new version of eXist is binary-compatible with the your old + version (as can be found in the release notes): + + + Stop the existing installation of eXist. + + + Create a backup of the data from your + existing installation. + + + Install the new version of eXist. Do not install one + eXist version over the existing one. Always install the new version into a fresh + new directory. + + + Remove the still empty data directory from + the new installation. By default the data directory is located at + $EXIST_HOME/data. If you are not sure where the data directory is, + check the main logfile + exist.log , searching for entries after start-up pertaining + to DATA_DIR. + + + Copy the entire existing data directory, and paste it to the location of the + new data directory (the directory you deleted in the previous step). + + + Start the new eXist instance. + + + Check the exist.log + for any errors during startup. + + + - + - - Binary Non-compatible Upgrades + + Binary Non-compatible Upgrades - Follow these steps if the new version of eXist is not binary-compatible with the your old version (as can be found in the release notes). The key difference with upgrading to a binary-compatible new version is that you have to perform a - full restore - of your backed-up data into the new installation. - - - Create a server-side backup. This can be done in a number - of ways: + Follow these steps if the new version of eXist is not binary-compatible with the your + old version (as can be found in the release notes). The key difference with upgrading to + a binary-compatible new version is that you have to perform a full + restore of your backed-up data into the new installation. - - Use Backup Central from the Dashboard - - - The Emergency Export Tool (GUI): - - - Unix/Linux: - bin/export-gui.sh - - - Windows: - bin\export-gui.bat - - - - - The Emergency Backup Tool (CLI) for headless sytems: - - - Unix/Linux: - bin/export.sh - - - Windows: - bin\export.bat - - - - - Via XQuery: - - + + Create a server-side backup. This can be done + in a number of ways: + + + Use Backup Central from the Dashboard + + + The Emergency Export Tool (GUI): + + + Unix/Linux: + bin/export-gui.sh + + + Windows: + bin\export-gui.bat + + + + + The Emergency Backup Tool (CLI) for headless sytems: + + + Unix/Linux: + bin/export.sh + + + Windows: + bin\export.bat + + + + + Via XQuery: + + + + Once the backup is complete, you should check the backup report in the + export directory within either the data directory (for + backups created via the Dashboard or Xquery) or $EXIST_HOME (for + backups created by the Emergency Backup Tool). + Normally this report just contains the list of collections which were backed + up. If you see any warnings or errors, it is even more important to perform a + “full restore” of your backed-up data. + + + Stop the existing installation of eXist. + + + Install the new version of eXist. DO NOT install one eXist version over + another one. Always install the new version into a fresh new directory. + + + Perform a full restore of the backup + onto the new version of eXist. + - Once the backup is complete, you should check the backup report in the - export directory within either the data directory (for backups - created via the Dashboard or Xquery) or $EXIST_HOME (for backups created by - the Emergency Backup Tool). - Normally this report just contains the list of collections which were backed up. If you see any warnings or errors, it is even more important to perform a “full restore” of your backed-up data. - - - Stop the existing installation of eXist. - - - Install the new version of eXist. DO NOT install one eXist version over another one. - Always install the new version into a fresh new directory. - - - Perform a full restore of the backup onto the new version of - eXist. - - - + - + - - Upgrading from Source - The following steps only apply to users who wish to upgrade eXist instances that were - built from (modified) source code, instead of from the provided installers. - Before attempting to upgrade always perform a full - backup. Stop eXist after the backup has been generated. - Determine which files contain local modification and would be in conflict with updated files - from the new version of exist-db, by running git status inside the local - folder where you cloned exist. You should pay special attention to Configuration files, - such as: - - - etc/conf.xml - - - etc/webapp/WEB-INF/controller-config.xml - - - etc/jetty/webapps/exist-webapp-context.xml - - - - A typical sequence to replay the local modifications on top of the upstream changes to the master branch would look like this: - - - Finally follow the build - instructions for eXist-db. + + Upgrading from Source + The following steps only apply to users who wish to upgrade eXist instances that were + built from (modified) source code, instead of from the provided installers. + Before attempting to upgrade always perform a full + backup. Stop eXist after the backup has been generated. + + + Determine which files contain local modification and would be in conflict with + updated files from the new version of exist-db, by running git + status inside the local folder where you cloned exist. You should pay + special attention to Configuration files, such as: + + + etc/conf.xml + + + etc/webapp/WEB-INF/controller-config.xml + + + etc/jetty/webapps/exist-webapp-context.xml + + + + + A typical sequence to replay the local modifications on top of the upstream + changes to the master branch would look like this: + + + + Finally follow the build + instructions for eXist-db. + - + - + + + Upgrading docker images + When following eXist-db's stable release channel via the docker release tag, orchestrators will automatically check and pull newer images. + To avoid that you accidentally pull a binary incompabtile image that will break your container, we recommend testing your app on a continous integration service on both release, and latest. + This way your CI will inform you and prevent incompatible upgrades making it into production. + - - History of Non-compatible Upgrades + + + History of Non-compatible Upgrades - This is a list of binary non-compatible releases for quick reference. - If a non-incremental upgrade across multiple non-compatible releases is necessary, - for instance from 1.4 to 3.6, we strongly recommend to first check past release notes to understand - how breaking changes might affect you. - Note, database backups from eXist-db 2.2 and earlier are not compatible with eXist-db - 5.0.0+. If you wish to migrate to eXist-db version 5.0.0+ from version 2.2 or earlier, you - should first upgrade (incrementally if nessecary) to the latest 4.x.x version. - - Notes on previous releases - - - - - Latest - - - - Release notes - - - - - - 4.5.0 - - - - Special notes - - - - - - 3.0 - - - - Special notes - - - - - - 2.2 - - - - Special notes - - - - - - 2.0 - - - - Special notes - - - - - - 1.4.0 - - - - Special notes - - - - - -
    -
    + This is a list of binary non-compatible releases for quick reference. + If a non-incremental upgrade across multiple non-compatible releases is necessary, for + instance from 1.4 to 3.6, we strongly recommend to first check past release notes to + understand how breaking changes might affect you. + + Note, database backups from eXist-db 2.2 and earlier are not compatible with + eXist-db 5.0.0+. If you wish to migrate to eXist-db version 5.0.0+ from version 2.2 + or earlier, you should first upgrade (incrementally if nessecary) to the latest + 4.x.x version. + + + Notes on previous releases + + + + Latest + Release + notes + + + 4.5.0 + Special + notes + + + 3.0 + Special + notes + + + 2.2 + Special + notes + + + 2.0 + Special + notes + + + 1.4.0 + Special + notes + + + +
    +
    diff --git a/src/main/xar-resources/data/urlrewrite/urlrewrite.xml b/src/main/xar-resources/data/urlrewrite/urlrewrite.xml index f7dda274..e38ee73c 100644 --- a/src/main/xar-resources/data/urlrewrite/urlrewrite.xml +++ b/src/main/xar-resources/data/urlrewrite/urlrewrite.xml @@ -1,634 +1,718 @@ - -
    - - URL Rewriting - 2Q19 - - application-development - - - - - - This article describes the URL rewriting mechanism in eXist-db. - - This article must be rewritten completely. It contains a lot of outdated information. - Be careful! - - - - - - Basics - - URL rewriting is done by a standard Java servlet filter called - XQueryURLRewrite. Its main job is to intercept incoming requests and - forward them to the appropriate handlers, which are again standard servlets. In fact, - there's nothing eXist-specific to the servlet filter, except that it uses XQuery scripts - to configure the forwarding and URL rewriting. Like any other servlet filter, it is - configured in etc/webapp/WEB-INF/web.xml. - A controller XQuery is executed once for every requests. It must return an XML - fragment, which tells the servlet filter how to proceed with the request. The returned - XML fragment can range from simply define forwarding up to describing complex pipelines - involving multiple steps. - The main advantage of using XQuery for the controller is that we have the whole power - of the language available. The controller can look at request parameters or headers, add - new parameters or attributes, rewrite the request URI or access the database. There's - basically no limit. - - - - - - URL Rewriting - - When designing RESTful web applications, a common rule is to provide meaningful URIs - to the user. For example, our eXist wiki implements a hierarchical document space. The - user can directly browse to a document by entering the path to it into the browser's - location bar. The URL http://atomic.exist-db.org/HowTo/OxygenXML/eXistXmlRpcChanged will directly lead - to the corresponding document. - Internally all document views are handled by the same XQuery script. Above URL will be - forwarded to an XQuery called index.xql as follows: - index.xql?feed=HowTo/OxygenXML/&ref=eXistXmlRpcChanged - The XQuery code which does the rewrite magic is shown below: - - - The forward element tells XQueryURLRewrite to pass the request - to the specified URL. The forwarding is done via the - RequestDispatcher of the servlet engine and is thus invisible to the - user. - Relative URLs within forward or redirect elements are interpreted relative to the - request URI, absolute paths relative to the root of the current controller hierarchy. If - the controller which processes the request is stored in the database, all absolute and - relative paths will be resolved against the database. This is explained in more detail - below. - If you want the user to see the rewritten URL, replace the forward action - with a redirect. A common use for redirect is to send the user to - a default page: - - - If no action is specified within the dispatch element, the request will be passed - through the filter chain and handled normally. The same happens if the action is the - ignore element. For example, the simplest controller script consist of a - single ignore: - - - - - It is important to understand that only one (!) controller will ever be applied to - a given request. It is not possible to forward from one controller to another (or to - the same). Once you either ignored or forwarded a request in the controller, it will - be passed to the servlet which handles it or, if it references a resource, it will - be processed by the servlet engine itself. The controller will - not be called again for the same request. - Redirects are different in this respect: they cause the client (the web browser) - to send a second request. This will again be filtered by - XQueryURLRewrite. It is therefore possible to create redirect loops - this way! - - - - - - - Variables - - Within a controller.xql file, you have access to the entire XQuery - function library, including the functions in the request, - response and session modules. You could therefore use a - function like request:get-uri() to get the current URI of the - request. However, to simplify things, XQueryURLRewrite passes a few - variables to the controller script: - + + +
    + + URL Rewriting + 2Q19 + + application-development + + + + + + This article describes the URL rewriting mechanism in eXist-db. + + This article must be rewritten completely. It contains a lot of outdated information. Be careful! + + + + + + Basics + + URL rewriting is done by a standard Java servlet filter called + XQueryURLRewrite. Its main job is to intercept incoming requests and forward them to the appropriate handlers, which are again standard servlets. In fact, there's nothing eXist-specific to the servlet filter, except that it uses XQuery + scripts to configure the forwarding and URL rewriting. Like any other servlet filter, it is configured in + etc/webapp/WEB-INF/web.xml. + A controller XQuery is executed once for every requests. It must return an XML fragment, which tells the servlet filter how to proceed with the request. The returned XML fragment can range from simply define forwarding up to describing complex + pipelines involving multiple steps. + The main advantage of using XQuery for the controller is that we have the whole power of the language available. The controller can look at request parameters or headers, add new parameters or attributes, rewrite the request URI or access the + database. There's basically no limit. + + + + + + URL Rewriting + + When designing RESTful web applications, a common rule is to provide meaningful URIs to the user. For example, our eXist wiki implements a hierarchical document space. The user can directly browse to a document by entering the path to it into + the browser's location bar. The URL + http://atomic.exist-db.org/HowTo/OxygenXML/eXistXmlRpcChanged + will directly lead to the corresponding document. + Internally all document views are handled by the same XQuery script. Above URL will be forwarded to an XQuery called + index.xql + as follows: + index.xql?feed=HowTo/OxygenXML/&ref=eXistXmlRpcChanged + The XQuery code which does the rewrite magic is shown below: + + + The + forward + element tells + XQueryURLRewrite + to pass the request to the specified URL. The forwarding is done via the + RequestDispatcher + of the servlet engine and is thus invisible to the user. + + Relative URLs within forward or redirect elements are interpreted relative to the request URI, absolute paths relative to the root of the current controller hierarchy. If the controller which processes the request is stored in the database, all + absolute and relative paths will be resolved against the database. This is explained in more detail below. + If you want the user to see the rewritten URL, replace the + forward + action with a + redirect. A common use for + redirect + is to send the user to a default page: + + + If no action is specified within the dispatch element, the request will be passed through the filter chain and handled normally. The same happens if the action is the + ignore + element. For example, the simplest controller script consist of a single ignore: + eXist's URL rewriting mechanism lets you specify an error handler element for each dispatch directive in your controller.xql. + + + + It is important to understand that only one (!) controller will ever be applied to a given request. It is not possible to forward from one controller to another (or to the same). Once you either ignored or forwarded a request in the controller, + it will be passed to the servlet which handles it or, if it references a resource, it will be processed by the servlet engine itself. The controller will + not + be called again for the same request. + Redirects are different in this respect: they cause the client (the web browser) to send a second request. This will again be filtered by + XQueryURLRewrite. It is therefore possible to create redirect loops this way! + + + + + + + Variables + + Within a + controller.xql + file, you have access to the entire XQuery function library, including the functions in the + request, + response + and + session + modules. You could therefore use a function like + request:get-uri() + to get the current URI of the request. However, to simplify things, + XQueryURLRewrite + passes a few variables to the controller script: + + + + exist:path + + + The last part of the request URI after the section leading to the controller. + + For instance: If the resource + example.xml + resides within the same directory as the controller query, + $exist:path + will be + /example.xml. + + + + exist:resource + + The section of the URI after the last + /, usually pointing to a resource. + + For instance: + example.xml. + + + + + exist:controller + + + The part of the URI leading to the current controller script. + For example: if the request path is + /xquery/test.xql + and the controller is in the + xquery + collection, + $exist:controller + will contain + /xquery. + + + + + exist:prefix + + + If the current controller hierarchy is mapped to a certain path prefix, + $exist:prefix + returns that prefix. + + For example: the default configuration maps the path + /tools + to a collection in the database (see below). In this case, + $exist:prefix + would contain + /tools. + + + + + exist:root + + + The root of the current controller hierarchy. This may either point to the file system or to a collection in the database. Use this variable to locate resources relative to the root of the application. + + For example: assume you want to process a request using stylesheet + db2xhtml.xsl, which could + either + be stored in the + /stylesheets + directory in the root of the webapp or, if the app is running from within the database, the corresponding + /stylesheets + collection. You want your app to be able to run from either location. The solution is to use + exist:root: + + + + + To summarize: if the request path is + /exist/tools/sandbox/get-examples.xql: + + Table title + + + + + + Variable + Contents + + + + + + + $exist:prefix + + + + + /tools + + + + + + + $exist:controller + + + + + /sandbox + + + + + + + $exist:path + + + + + /get-examples.xql + + + + + + + $exist:resource + + + + + get-examples.xml + + + + + +
    + + You do not need to explicitly declare the variables or the namespace. However you can add an external declaration for these variables at the top of your XQuery. For instance: + declare variable $exist:path as external; +
    + + + + + Locating Controller Scripts and Configuring Base Mappings + + By convention, the controller XQueries are called + controller.xql. + + XQueryURLRewrite + will try to guess the path to the controller by looking at the request path. + + + In fact, one web application may have more than one controller hierarchy. For example, you may want to keep the main webapp within the file system, while some tools and scripts should be served from a database collection. This can be done by + configuring two roots within the + controller-config.xml + file in + etc/webapp/WEB-INF. + controller-config.xml + defines the base mappings used by XQueryURLRewrite. + + It basically has two components: + + + + forward + actions which map patterns to servlets + + + + root + elements define the root for a file system or db collection hierarchy + + + + The + forward + tags specify path mappings for common servlets, similar to a servlet mapping in + web.xml. The advantage is that XQueryURLRewrite becomes a single point of entry for the entire web application and we don't need to handle any of the servlet paths in the main controller. For example, if we registered a servlet mapping for + /rest + in + web.xml, we would need to make sure that this path is ignored in our main + controller.xql. However, if the mapping is done via + controller-config.xml, it will already been known to XQueryURLRewrite and we don't need take care of the path in our controller. + The + root + elements define the roots of a directory or database collection hierarchy, mapped to a certain base path. For example, the default + controller-config.xml + uses two roots: + + This means that paths starting with + /tools + will be mapped to the collection hierarchy below + /db/www. Everything else is handled by the catch all pattern pointing to the root directory of the webapp (by default corresponding to + $EXIST_HOME/etc/webapp). For example, the URI + http://localhost:8080/exist/tools/admin/admin.xql + will be handled by the controller stored in database collection + /db/www/admin/ + (if there is one) or will directly resolve to + /db/www/admin/admin.xql. In this case, all relative or absolute URIs within the controller will be resolved against the database, not the file system. However, there's a possibility to escape this path interpretation, described + below. + + + + + + MVC and Pipelines + + + XQueryURLRewrite + does more than just forward or redirect requests: the response can be processed by passing it to a pipeline of views. "Views" are again just plain Java servlets. The most common use of a view would be to post-processes the XML returned from the + primary URL, either through another XQuery or an XSLT stylesheet (XSLTServlet). + XQueryURLRewrite + passes the HTTP response stream of the previous servlet to the HTTP request received by the next servlet. + + Views may also directly exchange information through the use of request attributes (more on that below). + + You define a view pipeline by adding a + view + element to the + dispatch + fragment returned by the controller. The + view + element is a wrapper around another sequence of + forward + or + rewrite + actions. + For example, assume we have XML written in docbook format and want to show this as HTML by sending this through an XSLT stylesheet + webapp/stylesheets/db2html.xsl. This can be done by returning the following + dispatch + fragment by + controller.xql: + + In this example there's no forwarding action except for the view So the request will be handled by the servlet engine the normal way. The response is then passed to + XSLTServlet. A new HTTP POST request is created whose body is set to the response data of the previous step. + XSLTServlet + gets the path to the stylesheet from the request attribute + xslt.stylesheet + and applies it to the data. + If any step in the pipeline generates an error or returns an HTTP status code >= 400, the pipeline processing stops and the response is send back to the client immediately. The same happens if the first step returns with an HTTP status 304 + (NOT MODIFIED), which indicates that the client can use the version it has cached. + We can also pass a request through more than one view. The following fragment applies two stylesheets in sequence: + + + The example also demonstrates how information can be passed between actions. + XQueryServlet + (which is called implicitly because the URL ends with + .xql) can save the results of the called XQuery to a request attribute instead of writing them to the HTTP output stream. It does so if it finds a request attribute + xquery.attribute, which should contain the name of the attribute the output should be saved to. + In the example above, + xquery.attribute + is set to + model. This causes + XQueryServlet + to fill the request attribute + model + with the results of the XQuery it executes. The query result will not be written to the HTTP response as you would normally expect, the HTTP response body will just be empty. + Likewise, + XSLTServlet + can take its input from a request attribute instead of parsing the HTTP request body. The name of the request attribute should be given in attribute + xslt.model. XSLTServlet discards the current request content (which is empty anyway) and uses the data in the attribute's value as input for the transformation process. + XSLTServlet will always write to the HTTP response. The second invocation of XSLTServlet therefore needs to read its input from the HTTP request body which contains the response of the first servlet. Since request attributes are preserved + throughout the entire pipeline, we need to clear the + xslt.input + with an explicit call to clear-attribute. + What benefits does it have to exchange data through request attributes: We save one serialization step: + XQueryServlet + directly passes the node tree of its output as a valid XQuery value, so + XSLTServlet + does not need to parse it again. + The advantages become more obvious if you have two or more XQueries which need to exchange information: XQuery 1 can use the XQuery extension function + request:set-attribute() + to save an arbitrary XQuery sequence to an attribute. XQuery 2 then calls + request:get-attribute() + to retrieve this value. It can directly access the data passed in from XQuery 1. No time is lost serializing/deserializing the data. + + Let's have a look at a more complex example: the XQuery sandbox web application needs to execute a user-supplied XQuery fragment. The results should be retrieved in an asynchronous way, so the user doesn't need to wait and the web interface + remains usable. + Older versions of the sandbox used the + util:eval + function to evaluate the query. However, this has side-effects because + util:eval + executes the query within the context of another query. Some features like module imports will not work properly this way. To avoid + util:eval, the controller code below passes the user-supplied query to XQueryServlet first, then post-processes the returned result and stores it into a session for later use by the ajax frontend: + + + The client passes the user-supplied query string in a request parameter, so the controller has to forward this to + XQueryServlet + somehow. + XQueryServlet + has an option to read the XQuery source from a request attribute, + xquery.source. The query result will be saved to the attribute + results. The second XQuery, + session.xql, takes the result and stores it into a HTTP session, returning only the number of hits and the elapsed time. + When called through retrieve, + session.xql + looks at parameter + num + and returns the item at the corresponding position from the query results stored in the HTTP session. + + + + + + Controller XML Format + + A controller XQuery is expected to return a single XML element: + dispatch + in the eXist namespace: + http://exist.sourceforge.net/NS/exist. + dispatch + may contain a single action element, followed by an optional + view + element. Two action elements are currently allowed: + + + + redirect + + + Redirects the client to another URL, indicating that the other URL must be used for subsequent requests. The URL to redirect to is given in attribute + url. A redirect will be visible to the user. + + + + + forward + + + Forwards the current request to another request path or servlet. The forwarding is done on the server only (via the + RequestDispatcher + of the servlet engine). The client can't see where the request was forwarded to. + The request can either be forwarded to a servlet or to another request path, depending on which attribute is specified: + - exist:path - - The last part of the request URI after the section leading to the - controller. - For instance: If the resource example.xml resides - within the same directory as the controller query, - $exist:path will be - /example.xml. - + + url + + + The new request path, which will be processed by the servlet engine in the normal way, as if it were directly called. A relative path will be relative to the current request path. Absolute path will be resolved relative to the current web context. + + For example, if the current web context is + /exist + and the supplied attribute reads + url="/admin", the resulting path will be + /exist/admin. + - exist:resource - - The section of the URI after the last /, usually - pointing to a resource. - For instance: example.xml. - + + servlet + + + The name of a servlet as given in the + servlet-name + element in the corresponding servlet definition of the web descriptor + web.xml. + + For example, valid names within the eXist standard setup would be + XQueryServlet + or + XSLTServlet. + - exist:controller - - The part of the URI leading to the current controller script. - For example: if the request path is /xquery/test.xql - and the controller is in the xquery collection, - $exist:controller will contain - /xquery. - + + absolute + + + To be used in combination with + url. If set to "yes", the url will be interpreted as an absolute path within the current servlet context. See + below + for an example. + - exist:prefix - - If the current controller hierarchy is mapped to a certain path prefix, - $exist:prefix returns that prefix. - For example: the default configuration maps the path - /tools to a collection in the database (see below). In - this case, $exist:prefix would contain - /tools. - + + method + + + The HTTP method (POST, GET, PUT ...) to use when passing the request to the pipeline step (does not apply to the first step). This is important if the servlet or URL does not support all methods. The default method for pipeline steps in the + view section is always POST. + - - exist:root - - The root of the current controller hierarchy. This may either point to the - file system or to a collection in the database. Use this variable to locate - resources relative to the root of the application. - For example: assume you want to process a request using stylesheet - db2xhtml.xsl, which could either be - stored in the /stylesheets directory in the root of the - webapp or, if the app is running from within the database, the corresponding - /stylesheets collection. You want your app to be able to - run from either location. The solution is to use - exist:root: - - - - - To summarize: if the request path is - /exist/tools/sandbox/get-examples.xql: - - Table title - - - - - - Variable - Contents - - - - - $exist:prefix - /tools - - - $exist:controller - /sandbox - - - $exist:path - /get-examples.xql - - - $exist:resource - get-examples.xml - - - -
    - - You do not need to explicitly declare the variables or the namespace. However you can - add an external declaration for these variables at the top of your XQuery. For - instance: - declare variable $exist:path as external; -
    - - - - - Locating Controller Scripts and Configuring Base Mappings - - By convention, the controller XQueries are called - controller.xql. - XQueryURLRewrite will try to guess the path to the controller by looking - at the request path. - - In fact, one web application may have more than one controller hierarchy. For example, - you may want to keep the main webapp within the file system, while some tools and - scripts should be served from a database collection. This can be done by configuring two - roots within the controller-config.xml file in - etc/webapp/WEB-INF. controller-config.xml defines the - base mappings used by XQueryURLRewrite. - It basically has two components: - - - forward actions which map patterns to servlets - - - root elements define the root for a file system or db collection - hierarchy - - - The forward tags specify path mappings for common servlets, similar to a - servlet mapping in web.xml. The advantage is that XQueryURLRewrite - becomes a single point of entry for the entire web application and we don't need to - handle any of the servlet paths in the main controller. For example, if we registered a - servlet mapping for /rest in web.xml, we would - need to make sure that this path is ignored in our main - controller.xql. However, if the mapping is done via - controller-config.xml, it will already been known to XQueryURLRewrite - and we don't need take care of the path in our controller. - The root elements define the roots of a directory or database collection - hierarchy, mapped to a certain base path. For example, the default - controller-config.xml uses two roots: - - This means that paths starting with /tools will be mapped to the - collection hierarchy below /db/www. Everything else is handled by the - catch all pattern pointing to the root directory of the webapp (by default corresponding - to $EXIST_HOME/etc/webapp). For example, the URI - http://localhost:8080/exist/tools/admin/admin.xql - will be handled by the controller stored in database collection - /db/www/admin/ (if there is one) or will directly resolve to - /db/www/admin/admin.xql. In this case, all relative or absolute URIs - within the controller will be resolved against the database, not the file system. - However, there's a possibility to escape this path interpretation, described below. - - - - - - MVC and Pipelines - - XQueryURLRewrite does more than just forward or redirect requests: the - response can be processed by passing it to a pipeline of views. "Views" are again just - plain Java servlets. The most common use of a view would be to post-processes the XML - returned from the primary URL, either through another XQuery or an XSLT stylesheet - (XSLTServlet). XQueryURLRewrite passes the HTTP response - stream of the previous servlet to the HTTP request received by the next servlet. - Views may also directly exchange information through the use of request attributes - (more on that below). - - You define a view pipeline by adding a view element to the - dispatch fragment returned by the controller. The view element is - a wrapper around another sequence of forward or rewrite - actions. - For example, assume we have XML written in docbook format and want to show this as - HTML by sending this through an XSLT stylesheet - webapp/stylesheets/db2html.xsl. This can be done by returning the - following dispatch fragment by controller.xql: - - In this example there's no forwarding action except for the view So the request will - be handled by the servlet engine the normal way. The response is then passed to - XSLTServlet. A new HTTP POST request is created whose body is set to the - response data of the previous step. XSLTServlet gets the path to the - stylesheet from the request attribute xslt.stylesheet and applies it to the - data. - If any step in the pipeline generates an error or returns an HTTP status code >= - 400, the pipeline processing stops and the response is send back to the client - immediately. The same happens if the first step returns with an HTTP status 304 (NOT - MODIFIED), which indicates that the client can use the version it has cached. - We can also pass a request through more than one view. The following fragment applies - two stylesheets in sequence: - - - The example also demonstrates how information can be passed between actions. - XQueryServlet (which is called implicitly because the URL ends with - .xql) can save the results of the called XQuery to a request attribute - instead of writing them to the HTTP output stream. It does so if it finds a request - attribute xquery.attribute, which should contain the name of the - attribute the output should be saved to. - In the example above, xquery.attribute is set to - model. This causes XQueryServlet to fill the request attribute - model with the results of the XQuery it executes. The query result - will not be written to the HTTP response as you would normally expect, the HTTP response - body will just be empty. - Likewise, XSLTServlet can take its input from a request attribute instead - of parsing the HTTP request body. The name of the request attribute should be given in - attribute xslt.model. XSLTServlet discards the current request - content (which is empty anyway) and uses the data in the attribute's value as input for - the transformation process. - XSLTServlet will always write to the HTTP response. The second invocation of - XSLTServlet therefore needs to read its input from the HTTP request body which contains - the response of the first servlet. Since request attributes are preserved throughout the - entire pipeline, we need to clear the xslt.input with an explicit - call to clear-attribute. - What benefits does it have to exchange data through request attributes: We save one - serialization step: XQueryServlet directly passes the node tree of its - output as a valid XQuery value, so XSLTServlet does not need to parse it - again. - The advantages become more obvious if you have two or more XQueries which need to - exchange information: XQuery 1 can use the XQuery extension function - request:set-attribute() to save an arbitrary XQuery sequence to an - attribute. XQuery 2 then calls request:get-attribute() to retrieve this - value. It can directly access the data passed in from XQuery 1. No time is lost - serializing/deserializing the data. - - Let's have a look at a more complex example: the XQuery sandbox web application needs - to execute a user-supplied XQuery fragment. The results should be retrieved in an - asynchronous way, so the user doesn't need to wait and the web interface remains - usable. - Older versions of the sandbox used the util:eval function to - evaluate the query. However, this has side-effects because util:eval - executes the query within the context of another query. Some features like module - imports will not work properly this way. To avoid util:eval, the controller - code below passes the user-supplied query to XQueryServlet first, then post-processes - the returned result and stores it into a session for later use by the ajax - frontend: - - - The client passes the user-supplied query string in a request parameter, so the - controller has to forward this to XQueryServlet somehow. - XQueryServlet has an option to read the XQuery source from a request - attribute, xquery.source. The query result will be saved to the - attribute results. The second XQuery, session.xql, - takes the result and stores it into a HTTP session, returning only the number of hits - and the elapsed time. - When called through retrieve, session.xql looks at parameter - num and returns the item at the corresponding position from the query - results stored in the HTTP session. - - - - - - Controller XML Format - - A controller XQuery is expected to return a single XML element: dispatch in - the eXist namespace: http://exist.sourceforge.net/NS/exist. - dispatch may contain a single action element, followed by an optional - view element. Two action elements are currently allowed: - - - redirect - - Redirects the client to another URL, indicating that the other URL must be - used for subsequent requests. The URL to redirect to is given in attribute - url. A redirect will be visible to the user. - - - - forward - - Forwards the current request to another request path or servlet. The - forwarding is done on the server only (via the - RequestDispatcher of the servlet engine). The client can't see - where the request was forwarded to. - The request can either be forwarded to a servlet or to another request - path, depending on which attribute is specified: - - - url - - The new request path, which will be processed by the servlet - engine in the normal way, as if it were directly called. A - relative path will be relative to the current request path. - Absolute path will be resolved relative to the current web - context. - For example, if the current web context is - /exist and the supplied attribute reads - url="/admin", the resulting path will be - /exist/admin. - - - - servlet - - The name of a servlet as given in the servlet-name - element in the corresponding servlet definition of the web - descriptor web.xml. - For example, valid names within the eXist standard setup would - be XQueryServlet or - XSLTServlet. - - - - absolute - - To be used in combination with url. If set - to "yes", the url will be interpreted as an absolute path within - the current servlet context. See below for an - example. - - - - method - - The HTTP method (POST, GET, PUT ...) to use when passing the - request to the pipeline step (does not apply to the first step). - This is important if the servlet or URL does not support all - methods. The default method for pipeline steps in the view - section is always POST. - - - - - - - - In addition to the action, an element cache-control may appear: - - - cache-control - - The cache-control element is used to tell XQueryURLRewrite if the current - URL rewrite should be cached. It has a single attribute - cache="yes|no". Internally, XQueryURLRewrite keeps a map - of input URIs to dispatch rules. With the cache enabled, the controller - XQuery only needs to be executed once for every input URI. Subsequent - requests will use the cache. - Watch out: only the URL rewrite rule is cached, not the HTTP response. The - cache-control setting has nothing to do with the corresponding HTTP cache - headers or client-side caching within the browser. - - - - Within an action element, parameters and attributes can be set as follows: - - - add-parameter - - Adds (or overwrites) a request parameter. The name of the parameter is - taken from attribute name, the value from attribute - value. The original HTTP request will be copied before - the change is applied. Subsequent steps in the pipeline will not see the - parameter. - - - - set-attribute - - Set a request attribute to the given value. The name of the attribute is - read from attribute name, the value from attribute - value. You can set arbitrary request attributes, for - instance to pass information between XQueries. Some attributes may be - reserved by called servlets. - - - - clear-attribute - - Clears a request attribute. The name of the attribute is read from - attribute name. Unlike parameters, request attributes - will be visible to subsequent steps in the processing pipeline. They need to - be cleared once they are no longer needed. - - - - set-header - - Sets an HTTP response header field. The HTTP response is shared between - all steps in the pipeline, so all following steps will be able to see the - change. - - - - - - - - - Accessing resources not stored in the database - - If your controller.xql is stored in a database collection, all relative - and/or absolute URIs within the controller will be resolved against the database, not - the file system. This can be a problem if you need to access common resources, which - should be shared with other applications residing on the file system or in the - database. - The forward directive accepts an optional attribute - absolute="yes|no" to handle this. If one sets - absolute="yes", an absolute path (starting with a /) in - the url attribute will resolve relative to the current servlet - context, not the controller context. - For example, to forward all requests starting with a path /libs/ to - a directory within the webapp folder of eXist, you can use the - following snippet: - - This simply removes the /libs/ prefix and sets absolute="yes", so the path will be - resolved relative to the main context of the servlet engine, usually /exist/. In your - HTML, you can now write: - <script type="text/javascript" src="/libs/scripts/jquery/jquery-1.7.1.min.js"></script> - This will locate the jquery file in webapp/scripts/jquery/..., even - if the rest of your application is stored in the db and not on the file system. - - - - - - Special Attributes Accepted by eXist Servlets - - eXist's XQueryServlet as well as the XSLTServlet will listen - to a few predefined request attributes. The names of these attributes are listed below - and should not be used for other purposes. - - - - - XQueryServlet - - - - xquery.attribute - - Contains the name of a request attribute. Instead of writing query - results to the response output stream, XQueryServlet will store them - into the named attribute. The value of the attribute will be an XQuery - Sequence (org.exist.xquery.Sequence). If no query - results were returned, the attribute will contain an empty - sequence. - - - - xquery.source - - If set, the value of this attribute must contain the XQuery code to - execute. Normally, XQueryServlet reads the XQuery from the - file given in the request path. xquery.source is a - way to overwrite this behaviour, e.g. if you want to evaluate an XQuery - which was generated within the controller. - - - - xquery.module-load-path - - The path which will be used for locating modules. This is only - relevant in combination with xquery.source and tells - the XQuery engine where to look for modules imported by the query. For - example, if you stored required modules into the database collection - /db/test, you can set - xquery.module-load-path to - xmldb:exist:///db/test. If the query contains an - expression: - import module namespace test="http://exist-db.org/test" at "test.xql"; - the XQuery engine will try to find the module - test.xql in the filesystem by default, which is not - what you want. Setting xquery.module-load-path fixes - this. - - - - xquery.report-errors - - If set to yes, an error in the XQuery will not result in - an HTTP error. Instead, the string message of the error is enclosed in - an element error which is then written to the response - stream. The HTTP status is not changed. - - - - - - - - - XSLTServlet - - - - xslt.stylesheet - - The path to the XSL stylesheet. Relative paths will be resolved - against the current request URI, absolute paths against the context of - the web application (/exist). To reference a stylesheet which is stored - in the database, use an XML:DB URI like - xmldb:exist:///db/styles/myxsl.xsl. - - - - xslt.input - - Contains the name of a request attribute from which the input to the - transformation process should be taken. The input has to be a valid - eXist XQuery sequence. - This attribute is usually combined with - xquery.attribute provided by - XQueryServlet and allows passing data between the two - without additional serialization/parsing overhead. - - - - xslt.user - - The name of the eXist user to read and apply the stylesheet. - - - - xslt.password - - Password for the user given in xslt.user - - - - XSLTServlet will attempt to map all other request attributes starting - with the prefix xslt. into stylesheet - parameters. So, for example, if you set a request attribute - xslt.myattr it will be available within the stylesheet as - parameter $xslt.myattr. For security reasons, this is the only - way to pass request parameters into the stylesheet: use the controller query to - transform the request parameter into a request attribute and pass that to the - view. - However, depending on the XSLT engine used, automatic conversion of types between - eXist/Java and the XSLT processor may not always work. Best to limit your attribute - values to strings. - - + + + + + + In addition to the action, an element + cache-control + may appear: + + + + cache-control + + + The cache-control element is used to tell XQueryURLRewrite if the current URL rewrite should be cached. It has a single attribute + cache="yes|no". Internally, XQueryURLRewrite keeps a map of input URIs to dispatch rules. With the cache enabled, the controller XQuery only needs to be executed once for every input URI. Subsequent requests will use the cache. + Watch out: only the URL rewrite rule is cached, not the HTTP response. The cache-control setting has nothing to do with the corresponding HTTP cache headers or client-side caching within the browser. + + + + Within an action element, parameters and attributes can be set as follows: + + + + add-parameter + + + Adds (or overwrites) a request parameter. The name of the parameter is taken from attribute + name, the value from attribute + value. The original HTTP request will be copied before the change is applied. Subsequent steps in the pipeline will not see the parameter. + + + + + + set-attribute + + + Set a request attribute to the given value. The name of the attribute is read from attribute + name, the value from attribute + value. You can set arbitrary request attributes, for instance to pass information between XQueries. Some attributes may be reserved by called servlets. + + + + + clear-attribute + + + Clears a request attribute. The name of the attribute is read from attribute + name. Unlike parameters, request attributes will be visible to subsequent steps in the processing pipeline. They need to be cleared once they are no longer needed. + + + + + + set-header + + + Sets an HTTP response header field. The HTTP response is shared between all steps in the pipeline, so all following steps will be able to see the change. + + + + + + + + + Accessing resources not stored in the database + + If your + controller.xql + is stored in a database collection, all relative and/or absolute URIs within the controller will be resolved against the database, not the file system. This can be a problem if you need to access common resources, which should be shared with other + applications residing on the file system or in the database. + The + forward + directive accepts an optional attribute + absolute="yes|no" + to handle this. If one sets + absolute="yes", an absolute path (starting with a + /) in the + url + attribute will resolve relative to the current servlet context, not the controller context. + For example, to forward all requests starting with a path + /libs/ + to a directory within the + webapp + folder of eXist, you can use the following snippet: + + This simply removes the /libs/ prefix and sets absolute="yes", so the path will be resolved relative to the main context of the servlet engine, usually /exist/. In your HTML, you can now write: + <script type="text/javascript" src="/libs/scripts/jquery/jquery-1.7.1.min.js"></script> + This will locate the jquery file in + webapp/scripts/jquery/..., even if the rest of your application is stored in the db and not on the file system. + + + + + + Special Attributes Accepted by eXist Servlets + + eXist's + XQueryServlet + as well as the + XSLTServlet + will listen to a few predefined request attributes. The names of these attributes are listed below and should not be used for other purposes. + + + + + XQueryServlet + + + + + xquery.attribute + + + Contains the name of a request attribute. Instead of writing query results to the response output stream, XQueryServlet will store them into the named attribute. The value of the attribute will be an XQuery Sequence (org.exist.xquery.Sequence). If no query results were returned, the attribute will contain an empty sequence. + + + + + xquery.source + + + If set, the value of this attribute must contain the XQuery code to execute. Normally, + XQueryServlet + reads the XQuery from the file given in the request path. + xquery.source + is a way to overwrite this behaviour, e.g. if you want to evaluate an XQuery which was generated within the controller. + + + + + xquery.module-load-path + + + The path which will be used for locating modules. This is only relevant in combination with + xquery.source + and tells the XQuery engine where to look for modules imported by the query. For example, if you stored required modules into the database collection + /db/test, you can set + xquery.module-load-path + to + xmldb:exist:///db/test. If the query contains an expression: + import module namespace test="http://exist-db.org/test" at "test.xql"; + the XQuery engine will try to find the module + test.xql + in the filesystem by default, which is not what you want. Setting + xquery.module-load-path + fixes this. + + + + + xquery.report-errors + + + If set to + yes, an error in the XQuery will not result in an HTTP error. Instead, the string message of the error is enclosed in an element + error + which is then written to the response stream. The HTTP status is not changed. + + + + + + + + + XSLTServlet + + + + + xslt.stylesheet + + + The path to the XSL stylesheet. Relative paths will be resolved against the current request URI, absolute paths against the context of the web application (/exist). To reference a stylesheet which is stored in the database, use an XML:DB URI like + xmldb:exist:///db/styles/myxsl.xsl. + + + + + xslt.input + + + Contains the name of a request attribute from which the input to the transformation process should be taken. The input has to be a valid eXist XQuery sequence. + This attribute is usually combined with + xquery.attribute + provided by + XQueryServlet + and allows passing data between the two without additional serialization/parsing overhead. + + + + + xslt.user + + + The name of the eXist user to read and apply the stylesheet. + + + + + xslt.password + + + Password for the user given in + xslt.user + + + + + + XSLTServlet + will attempt to map all other request attributes starting with the prefix + xslt. + into + stylesheet parameters. So, for example, if you set a request attribute + xslt.myattr + it will be available within the stylesheet as parameter + $xslt.myattr. For security reasons, this is the only way to pass request parameters into the stylesheet: use the controller query to transform the request parameter into a request attribute and pass that to the view. + However, depending on the XSLT engine used, automatic conversion of types between eXist/Java and the XSLT processor may not always work. Best to limit your attribute values to strings. + +
    diff --git a/src/main/xar-resources/data/validation/listings/listing-3.xml b/src/main/xar-resources/data/validation/listings/listing-3.xml index f7da8fef..2d5ac2ea 100644 --- a/src/main/xar-resources/data/validation/listings/listing-3.xml +++ b/src/main/xar-resources/data/validation/listings/listing-3.xml @@ -1,12 +1,17 @@ - + - - - - + diff --git a/src/main/xar-resources/data/validation/listings/listing-5.xml b/src/main/xar-resources/data/validation/listings/listing-5.xml index 0c916eb4..c43498be 100644 --- a/src/main/xar-resources/data/validation/listings/listing-5.xml +++ b/src/main/xar-resources/data/validation/listings/listing-5.xml @@ -1,5 +1,11 @@ - valid - MyNameSpace - 106 + + valid + + + MyNameSpace + + + 106 + diff --git a/src/main/xar-resources/data/validation/listings/listing-6.xml b/src/main/xar-resources/data/validation/listings/listing-6.xml index 1b15b14e..332f67e6 100644 --- a/src/main/xar-resources/data/validation/listings/listing-6.xml +++ b/src/main/xar-resources/data/validation/listings/listing-6.xml @@ -1,7 +1,17 @@ - invalid - MyNameSpace - 39 - cvc-datatype-valid.1.2.1: 'aaaaaaaa' is not a valid value for 'decimal'. - cvc-type.3.1.3: The value 'aaaaaaaa' of element 'c' is not valid. + + invalid + + + MyNameSpace + + + 39 + + + cvc-datatype-valid.1.2.1: 'aaaaaaaa' is not a valid value for 'decimal'. + + + cvc-type.3.1.3: The value 'aaaaaaaa' of element 'c' is not valid. + diff --git a/src/main/xar-resources/data/validation/listings/listing-8.xml b/src/main/xar-resources/data/validation/listings/listing-8.xml index 40e2fc25..a68e9a05 100644 --- a/src/main/xar-resources/data/validation/listings/listing-8.xml +++ b/src/main/xar-resources/data/validation/listings/listing-8.xml @@ -1,12 +1,24 @@ - http://www.w3.org/XML/1998/namespace - file:/Users/guest/existdb/trunk/webapp//WEB-INF/entities/XMLSchema.xsd - http://www.w3.org/2001/xml.xsd - http://www.w3.org/2001/xml.xsd + + http://www.w3.org/XML/1998/namespace + + + file:/Users/guest/existdb/trunk/webapp//WEB-INF/entities/XMLSchema.xsd + + + http://www.w3.org/2001/xml.xsd + + + http://www.w3.org/2001/xml.xsd + - http://www.w3.org/2001/XMLSchema - file:/Users/guest/existdb/trunk/schema/collection.xconf.xsd + + http://www.w3.org/2001/XMLSchema + + + file:/Users/guest/existdb/trunk/schema/collection.xconf.xsd + diff --git a/src/main/xar-resources/data/versioning/listings/listing-1.xml b/src/main/xar-resources/data/versioning/listings/listing-1.xml index b114bb80..c83b0db6 100644 --- a/src/main/xar-resources/data/versioning/listings/listing-1.xml +++ b/src/main/xar-resources/data/versioning/listings/listing-1.xml @@ -1,11 +1,11 @@ - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff --git a/src/main/xar-resources/data/versioning/listings/listing-2.xml b/src/main/xar-resources/data/versioning/listings/listing-2.xml index dc85732d..57293d84 100644 --- a/src/main/xar-resources/data/versioning/listings/listing-2.xml +++ b/src/main/xar-resources/data/versioning/listings/listing-2.xml @@ -1,3 +1,3 @@ - - \ No newline at end of file + + diff --git a/src/main/xar-resources/data/versioning/listings/listing-6.xml b/src/main/xar-resources/data/versioning/listings/listing-6.xml index 4a0bfef8..75935b00 100644 --- a/src/main/xar-resources/data/versioning/listings/listing-6.xml +++ b/src/main/xar-resources/data/versioning/listings/listing-6.xml @@ -1 +1,3 @@ -... \ No newline at end of file + + ... + diff --git a/src/main/xar-resources/data/webdav/assets/webdav_konqueror.png b/src/main/xar-resources/data/webdav/assets/webdav_konqueror.png deleted file mode 100644 index 2917267a..00000000 Binary files a/src/main/xar-resources/data/webdav/assets/webdav_konqueror.png and /dev/null differ diff --git a/src/main/xar-resources/data/webdav/assets/webdav_libreoffice_open.gif b/src/main/xar-resources/data/webdav/assets/webdav_libreoffice_open.gif deleted file mode 100644 index 6ab8a47e..00000000 Binary files a/src/main/xar-resources/data/webdav/assets/webdav_libreoffice_open.gif and /dev/null differ diff --git a/src/main/xar-resources/data/webdav/assets/webdav_libreoffice_settings.gif b/src/main/xar-resources/data/webdav/assets/webdav_libreoffice_settings.gif deleted file mode 100644 index 8588a4cb..00000000 Binary files a/src/main/xar-resources/data/webdav/assets/webdav_libreoffice_settings.gif and /dev/null differ diff --git a/src/main/xar-resources/data/webdav/assets/webdav_oxygen.png b/src/main/xar-resources/data/webdav/assets/webdav_oxygen.png deleted file mode 100644 index 4891e592..00000000 Binary files a/src/main/xar-resources/data/webdav/assets/webdav_oxygen.png and /dev/null differ diff --git a/src/main/xar-resources/data/webdav/listings/listing-1.txt b/src/main/xar-resources/data/webdav/listings/listing-1.txt index b0025567..6f887a31 100644 --- a/src/main/xar-resources/data/webdav/listings/listing-1.txt +++ b/src/main/xar-resources/data/webdav/listings/listing-1.txt @@ -5,4 +5,4 @@ indent=no expand-xincludes=no process-xsl-pi=no encoding=UTF-8 -omit-xml-declaration=no \ No newline at end of file +omit-xml-declaration=no diff --git a/src/main/xar-resources/data/webdav/listings/listing-2.txt b/src/main/xar-resources/data/webdav/listings/listing-2.txt deleted file mode 100644 index f0b22e70..00000000 --- a/src/main/xar-resources/data/webdav/listings/listing-2.txt +++ /dev/null @@ -1,3 +0,0 @@ -# webdav tweaks for davfs2 -wrapper.java.additional.7=-Dorg.exist.webdav.PROPFIND_METHOD_XML_SIZE=EXACT -wrapper.java.additional.8=-Dorg.exist.webdav.GET_METHOD_XML_SIZE=EXACT \ No newline at end of file diff --git a/src/main/xar-resources/data/webdav/listings/listing-3.txt b/src/main/xar-resources/data/webdav/listings/listing-3.txt deleted file mode 100644 index c26c3338..00000000 --- a/src/main/xar-resources/data/webdav/listings/listing-3.txt +++ /dev/null @@ -1,4 +0,0 @@ -sudo systemctl stop eXist-db -sudo systemctl disable eXist-db -sudo systemctl daemon-reload -sudo systemctl reset-failed \ No newline at end of file diff --git a/src/main/xar-resources/data/webdav/listings/listing-4.txt b/src/main/xar-resources/data/webdav/listings/listing-4.txt deleted file mode 100644 index 34890e94..00000000 --- a/src/main/xar-resources/data/webdav/listings/listing-4.txt +++ /dev/null @@ -1,2 +0,0 @@ -sudo /opt/eXist-db/tools/yajsw/bin/installDaemon.sh -sudo systemctl enable eXist-db \ No newline at end of file diff --git a/src/main/xar-resources/data/webdav/webdav.xml b/src/main/xar-resources/data/webdav/webdav.xml index 236368d3..1a8c452f 100644 --- a/src/main/xar-resources/data/webdav/webdav.xml +++ b/src/main/xar-resources/data/webdav/webdav.xml @@ -3,7 +3,7 @@ schematypens="http://purl.oclc.org/dsdl/schematron"?>
    WebDAV - 2Q19 + 1Q20 getting-started interfaces @@ -16,262 +16,35 @@ WebDAV makes it possible to manage database collections and documents just like directories and files in a file system. You can copy, move, delete, view or edit files with any application supporting the WebDAV protocol, including Windows Explorer, macOS Finder, cadaver, KDE Konqueror, oXygen XML Editor, XML Spy, LibreOffice and many others (see - below). - In the default configuration the WebDAV server can be accessed via the URLs http://localhost:8080/exist/webdav/db/ and http://localhost:8443/exist/webdav/db/ (since eXist-db 2.0). + below). The interface has been implemented with excellent open-source Milton WebDAV API for Java. + In the default configuration the WebDAV server can be accessed via the URLs http://localhost:8080/exist/webdav/db/ and http://localhost:8443/exist/webdav/db/. Compatibility - - The Milton project, on which eXist-db's WebDAV implementation is - build, maintains a detailed WebDAV client compatibility list that describes a "Recipe for - broad client compatibility." In case of any problems please read this document. Some - preliminary points specific to eXist should be kept in mind: - For Windows 7 see notes below and the Milton documentation. - - - eXist's Milton based WebDAV interface does currently not support HTTP Digest - Authentication. + eXist's Milton based WebDAV interface does not support HTTP Digest Authentication. - The size of an XML document is presented as a multiple of 4096 bytes, which is eXist's + + The size of an XML document is presented as a multiple of 4096 bytes, which is eXist's internal pagesize (see conf.xml). The actual size of an XML document stored in the database can not be determined because the size depends on many - factors, among which the serialization parameters applied. + factors, e.g. the applied serialization parameters. + A webdav client / enabled application may or may not work with the webdav server of eXist-db, depending on the quality of the implementation of the client. The server fullfills all requirements of the webdav specification. - The Milton-based WebDAV interface has been successfully tested with: Windows Web Folders - (Windows XP/7), AnyClient (cross-platform), macOS Finder, Transmit (macOS), Cyberduck, davfs2 version 1.4.5 - (Linux), OxygenXML and LibreOffice. - The following clients are reported to have issues: GVFS (Nautilus) and NetDrive. However, this can change over time! - - - - - - Clients - - - - - - - Windows Web Folders - - Out of the box, Windows has some native support for the WebDAV - protocol, but there are some well-known issues. Please consult the following: - - - Be aware that there are multiple versions of WebDAV Microsoft libraries (and - different flavors of bugs). See Web Folder Client (MSDAIPP.DLL) Versions and Issues. - - - Windows Vista and Windows 7 both restrict access to WebDAV servers that use Basic - HTTP authentication on non-SSL connections. This restriction can be solved by changing a - registry key. Read more on MSDN and - greenbytes.de. However, SSL connections do bring improved - security. - - - - - - To use WebDAV in Internet explorer: - - - Select File -> Open. - - - Fill in URL, for instance http://localhost:8080/exist/webdav/db/ - or https://localhost:8443/exist/webdav/db/. - - - Check Open as Web Folder. - - - Click Ok. - - - - - - - - macOS Finder - - The eXist-db database can be accessed easily with the macOS Finder using the - Go, Connect to Server... menu. Use the eXist-db WebDAV URL - http://localhost:8080/exist/webdav/db/. - - - In some previous MacOS releases, Apple repetitively changed their WebDAV - implementation significantly, introducing new bugs and problems. The main issue is that - Finder requires exact document sizes reported for PROPFIND where eXist-db by default - reports an estimated size as described above. - As a workaround, eXist-db detects the MacOS finder via the "user-agent" HTTP header - and switches for PROPFIND into a kind of MacOS compatibility mode, where all XML documents - in a collection are serialized to determine the exact sizes of these documents. This is a - rather expensive and time consuming operation for large documents and for collections with - many documents. - As an alternative it is recommended to use Transmit or Cyberduck instead. - For macOS 10.8 the WebDAV client has become functional (again) in 10.8.2, but still - the client does not work perfectly, for instance at bulk operations. - - - - - - - oXygen XML Editor - - - - Select File -> Open URL. - - - Fill User and Password. - - - Enter Server URL http://localhost:8080/exist/webdav/db/. - - - Click Browse. - - - - - - - - - - More info on the oXygen product pages. - - Note on SSL connections in oXygen: You may encounter an error: "Error: - sun.security.validator.ValidatorException: PKIX path building failed: - sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid - certification path to requested target." - - In order to avoid this error, you'll need to add the Server certificate to your - trusted certificates keystore (more info). - - - When saving a document to the WebDAV server via oXygen, remember to double check that - the document's path in the File URL field at the top of the dialog does really contain the - URL to which you want to save the document to. It happens too easily that when you click - on another folder or resource by mistake, you overwrite the wrong resource. - - - - - - - davfs2 - By default, non-XML files (plain text files, images, etc) are working as expected with davfs2. - Because eXist-db reports the size of XML documents as a multiple of the internal pagesize, you can list XML files - (ls -l) but you cannot view or edit them. The davfs2 logs (syslog/journalctl) contain: - Could not read response body: connection was closed by server - - - In order to access XML files stored in eXist from a mounted directory in a filesystem via dafvs2, - have to add the following additional Java parameters when starting eXist: - - org.exist.webdav.PROPFIND_METHOD_XML_SIZE=EXACT - org.exist.webdav.GET_METHOD_XML_SIZE=EXACT - - - - - NULL and APPROXIMATE values work for Oxygen and Cadaver but only EXACT can be used with davfs2. - - You must first uninstall the service before - modifying wrapper.conf, for changes to be applied when reinstalling: - - - - - - Uninstall (with service name eXist-db) - - - - - - - Reinstall and enable - - - - - - - LinuxTested on davfs2 1.4.7 on RHEL7.5 and 1.5.4 on Arch Linux. - - - - - - - KDE Konqueror - - Enter an URL like webdav://localhost:8080/exist/webdav/db. Use - webdavs:// for WebDAV over SSL. - - - - - - - - - - - - - LibreOffice - - For LibreOffice and OpenOffice.org the recommended way for opening documents stored in - eXist-db is using the 'native' WebDAV client, as documented in the LibreOffice Help documentation. - - When using LibreOffice on MacOS, do not write documents to a network share that is - mounted via Finder as documented earlier, since this could corrupt your database. The - problem has been identified but there is no solution yet. Please use the alternative - described in this chapter. - - The first step is configuring LibreOffice to use the LibreOffice Open/Save dialogs, - instead of the dialogs that are provided by the operating system: - - - - - - - - Now it is possible to type an URL in the File, Open dialog. - Enter http://localhost:8080/exist/webdav/db/ and provide your login - credentials. Now the dialog box shows the content of the database: - - - - - - - - - - Serialization - When retrieving an XML document via the WebDAV interface, the default serialization - settings as defined in conf.xml are used. It is however possible to - define custom serialization settings specific for the WebDAV interface. - Copy the file extensions/webdav/src/main/resources/webdav.properties + When retrieving an XML document via the WebDAV interface, the default serialization + settings as defined in conf.xml are effective. It is possible to define custom serialization settings specific for the WebDAV interface. + + Copy the file extensions/webdav/src/main/resources/webdav.properties into $EXIST_HOME/etc directory and uncomment/modify the parameters. Changes in this file requires a restart of eXist-db. diff --git a/src/main/xar-resources/data/xforms/listings/listing-2.xml b/src/main/xar-resources/data/xforms/listings/listing-2.xml index 9d1bc80e..15f1fa57 100644 --- a/src/main/xar-resources/data/xforms/listings/listing-2.xml +++ b/src/main/xar-resources/data/xforms/listings/listing-2.xml @@ -1,3 +1,3 @@ - ... - \ No newline at end of file + ... + diff --git a/src/main/xar-resources/data/xforms/xforms.xml b/src/main/xar-resources/data/xforms/xforms.xml index 575cb1b2..999a06df 100644 --- a/src/main/xar-resources/data/xforms/xforms.xml +++ b/src/main/xar-resources/data/xforms/xforms.xml @@ -162,14 +162,14 @@ System global, by editing - $EXIST_HOME/etc/webapp/WEB-INF/betterform-config.xml: + $EXIST_HOME/etc/webapp/WEB-INF/betterform-config.xml: <property name="filter.ignoreResponseBody" value="false"> Change the value of the property filter.ignoreResponseBody to true and restart eXist-db. By removing the configuration for XFormsFilter in - $EXIST_HOME/etc/webapp/WEB-INF/web.xml. By commenting the + $EXIST_HOME/etc/webapp/WEB-INF/web.xml. By commenting the filter-mapping XForms processing will be disabled. However note that betterFORM still get loaded on the classpath. @@ -186,7 +186,7 @@ Additional XForms Resources - + A collection of further xforms resources to provide help. @@ -232,8 +232,8 @@ - XForms - v1.1 (W3C Recommendation) + XForms v1.1 (W3C Recommendation) @@ -266,8 +266,9 @@ >betterFORM coverage of W3C XForms 1.1 Test Suite - XForms Wikibook is a useful place to learn XForms + XForms Wikibook is + a useful place to learn XForms -

    First disclaimer ...

    -

    Second disclaimer ...

    - \ No newline at end of file +

    + First disclaimer ... +

    +

    + Second disclaimer ... +

    + diff --git a/src/main/xar-resources/data/xqdoc/xqdoc.xml b/src/main/xar-resources/data/xqdoc/xqdoc.xml index ffdcc9c6..50153957 100644 --- a/src/main/xar-resources/data/xqdoc/xqdoc.xml +++ b/src/main/xar-resources/data/xqdoc/xqdoc.xml @@ -170,6 +170,7 @@ Examples + Two examples for library and function comments. Library module comment: diff --git a/src/main/xar-resources/data/xqsuite/listings/listing-8.xml b/src/main/xar-resources/data/xqsuite/listings/listing-8.xml index bdf53a6f..ec8163f6 100644 --- a/src/main/xar-resources/data/xqsuite/listings/listing-8.xml +++ b/src/main/xar-resources/data/xqsuite/listings/listing-8.xml @@ -1,26 +1,30 @@ - - - - - - RED BLACK GREEN - RED BLUE GREEN - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + RED BLACK GREEN + + + RED BLUE GREEN + + + + + + + + + + + + + + + + + + + diff --git a/src/main/xar-resources/data/xqsuite/xqsuite.xml b/src/main/xar-resources/data/xqsuite/xqsuite.xml index f36ee37d..731710b2 100644 --- a/src/main/xar-resources/data/xqsuite/xqsuite.xml +++ b/src/main/xar-resources/data/xqsuite/xqsuite.xml @@ -1,341 +1,374 @@ - -
    - - XQSuite - Annotation-based Test Framework for XQuery - 1Q19 - - application-development - testing - xquery - - + + +
    + + XQSuite - Annotation-based Test Framework for XQuery + 1Q20 + + application-development + testing + xquery + + - + - XQSuite is a test framework for XQuery modules based on XQuery function - annotations. + XQSuite is a test framework for XQuery modules based on XQuery function annotations. - + - - Introduction + + Introduction - The XQsuite test framework allows tests to be added to functions using function - annotations. Since annotations are ignored during normal execution, this does not - interfere. The framework has the following properties: - - - Tests can be defined within the actual application code. A function can be - tested where implemented. - - - Tests are written as ordinary XQuery functions. - - - More complex integration tests can be combined into separate modules. - - - To run a suite of tests, all you need is a small, main XQuery which imports - the modules to be tested. - - - XQSuite is itself implemented in XQuery and can therefore be extended. - - + The XQsuite test framework allows tests to be added to functions using function annotations. Since annotations are ignored during normal execution, this does not interfere. The framework has the following properties: + + + Tests can be defined within the actual application code. A function can be tested where implemented. + + + + Tests are written as ordinary XQuery functions. + + + More complex integration tests can be combined into separate modules. + + + + To run a suite of tests, all you need is a small, main XQuery which imports the modules to be tested. + + + XQSuite is itself implemented in XQuery and can therefore be extended. + + + + XQSuite has two main components: + + + A number of XQuery function annotations to be used within the code module under test + + + A test runner, which takes a sequence of function items and interprets the test annotations + + + To use test annotations in an XQuery module, the XQsuite namespace must be declared: + declare namespace test="http://exist-db.org/xquery/xqsuite"; - XQSuite has two main components: - - - A number of XQuery function annotations to be used within the code module - under test - - - A test runner, which takes a sequence of function items and interprets the - test annotations - - - To use test annotations in an XQuery module, the XQsuite namespace must be - declared: - declare namespace test="http://exist-db.org/xquery/xqsuite"; - - A function will be processed by the test runner if it has at least one - test:assert* annotation (assertEquals, - assertEmpty, etc.). Functions without such an annotation will be ignored. - For example: - - When the test runner encounters this function, it will evaluate it and compare its - return value to the assertion. + A function will be processed by the test runner if it has at least one + test:assert* + annotation (assertEquals, + assertEmpty, etc.). Functions without such an annotation will be ignored. For example: + + When the test runner encounters this function, it will evaluate it and compare its return value to the assertion. - - eXist-db previously used a descriptive XML format to define XQuery tests. XQSuite - replaces this, though the old format and test runner is still supported. - + + eXist-db previously used a descriptive XML format to define XQuery tests. XQSuite replaces this, though the old format and test runner is still supported. + - + - + - - Supported Test Annotations + + Supported Test Annotations - The following annotations are supported: + The following annotations are supported: - - - %test:arg($varName, $value1, $value2, ...) - - Set the function parameter with variable name $varName to the sequence - constructed by converting the remaining annotation parameters to the - sequenceType as declared by the function parameter. See . - - - - %test:args($arg1, $arg2, ...) - - Run the function, using the supplied literal arguments. There must be one - annotation argument for each parameter the function takes. See . - - - - %test:assertEmpty, %test:assertExists - - Expects the function to return an empty sequence - (assertEmpty) or a non-empty sequence - (assertExists). - - - - %test:assertTrue, %test:assertFalse - - Checks if the effective boolean value of the returned result is - true or false. - - - - %test:assertEquals($value1, $value2, ...) - - Tests if the return value equals the specified argument. - - - If the function returns more than one item, each item is compared - to the given annotation values in turn. The number of returned items - has to correspond to the number of annotation values. - - - If the function returns an atomic type, the assertion argument is - cast into the same type and the two are compared using the - eq operator. - - - If the sequence returned by the function contains one or more XML - elements, they will be normalized (ignorable whitespace is - stripped). The assertion argument is then parsed into XML and the - two node trees are compared using the deep-equals function. - - - - - - %test:assertError($err) - - Evaluating the tested function should result in a dynamic error. If a - value is given for $err, it should either be: 1) the error code - of the dynamic error, or 2) a regular expression that matches the error - description. - - - - %test:assertXPath($path-as-string) - - Tests if the return value of the tested function using the given XPath - expression. - The annotation value is executed as an XPath expression. The assert passes - if the XPath expression returns a non-empty sequence or a single atomic item - whose effective boolean value is true. Within the XPath expression, the - variable $result contains a reference to the result sequence - returned by the tested function. - - - - %test:assumeIntenetAccess($uri) - - Marks that a test assumes that Internet access is - available. If the $uri can be reached over HTTP via a HEAD - request, then the test will be executed as part of the test suite. If the - connection to the $uri cannot be made, then the test has the - same status as a test marked with %test:pending. This can be - useful when you have a test which relies on an external resource. - - - - %test:name - - Provide a more descriptive name for your test than the XQuery function - name, which is the default. - - - - %test:pending($reason) - - Marks a test as pending, which means that it will not - be executed as part of the test suite. This can be useful when you want to - write a test for a problem or new feature but you have not had time to fix - the problem or implement the feature yet. The number of - pending tests is shown in the test suite report as a - reminder. - - - - %test:stats - - Collects statistics using system:trace() and prepends them as - element <stats:calls - xmlns:stats="http://exist-db.org/xquery/profiling"> to the - returned sequence of the test function. - - - - %test:setUp, %test:tearDown - - Special functions which will be called once before/after any other tests - in the same XQuery module are run. Use these functions to upload data, - create indexes, users or prepare anything else needed for the tests to run. - - - - - %test:user($username, $password) - - Executes the test function as a specific user. - - - + + + + %test:arg($varName, $value1, $value2, ...) + + + Set the function parameter with variable name $varName to the sequence constructed by converting the remaining annotation parameters to the sequenceType as declared by the function parameter. See + . + + + + + %test:args($arg1, $arg2, ...) + + + Run the function, using the supplied literal arguments. There must be one annotation argument for each parameter the function takes. See + . + + + + + %test:assertEmpty, %test:assertExists + + + Expects the function to return an empty sequence (assertEmpty) or a non-empty sequence (assertExists). + + + + + + %test:assertTrue, %test:assertFalse + + + Checks if the effective boolean value of the returned result is + true + or + false. + + + + + + %test:assertEquals($value1, $value2, ...) + + + Tests if the return value equals the specified argument. + + + If the function returns more than one item, each item is compared to the given annotation values in turn. The number of returned items has to correspond to the number of annotation values. + + + If the function returns an atomic type, the assertion argument is cast into the same type and the two are compared using the + eq + operator. + + + If the sequence returned by the function contains one or more XML elements, they will be normalized (ignorable whitespace is stripped). The assertion argument is then parsed into XML and the two node trees are compared using the deep-equals function. + + + + + + + + %test:assertEqualsPermutation($value1, $value2, ...) + + + Iterate over the items in the return sequence, of e.g., a for loop to check if the sequence contains the correct items in the correct order. + + + + + %test:assertError($err) + + + Evaluating the tested function should result in a dynamic error. If a value is given for + $err, it should either be: 1) the error code of the dynamic error, or 2) a regular expression that matches the error description. + + + + + %test:assertXPath($path-as-string) + + + Tests if the return value of the tested function using the given XPath expression. + The annotation value is executed as an XPath expression. The assert passes if the XPath expression returns a non-empty sequence or a single atomic item whose effective boolean value is true. Within the XPath expression, the variable + $result + contains a reference to the result sequence returned by the tested function. + + + + + %test:assumeIntenetAccess($uri) + + + Marks that a test + assumes + that Internet access is available. If the + $uri + can be reached over HTTP via a HEAD request, then the test will be executed as part of the test suite. If the connection to the + $uri + cannot be made, then the test has the same status as a test marked with + %test:pending. This can be useful when you have a test which relies on an external resource. + + + + + %test:name + + + Provide a more descriptive name for your test than the XQuery function name, which is the default. + + + + + %test:pending($reason) + + + Marks a test as + pending, which means that it will not be executed as part of the test suite. This can be useful when you want to write a test for a problem or new feature but you have not had time to fix the problem or implement the feature yet. The number of + pending + tests is shown in the test suite report as a reminder. + + + + + %test:stats + + + Collects statistics using + system:trace() + and prepends them as element + <stats:calls xmlns:stats="http://exist-db.org/xquery/profiling"> + to the returned sequence of the test function. + + + + + %test:setUp, %test:tearDown + + + Special functions which will be called once before/after any other tests in the same XQuery module are run. Use these functions to upload data, create indexes, users or prepare anything else needed for the tests to run. + + + + + + %test:user($username, $password) + + + Executes the test function as a specific user. + + + - + - - Passing parameters to tests + + Passing parameters to tests - To test a function which takes parameters, use the %test:arg or - %test:args annotation in combination with one or more - %test:assert* assertions. For example: - - - - The %test:arg annotation is used to set the parameters for - the next test run triggered by the assertion. - - - The tested function will be called once for every sequence of - %test:arg annotations followed by one or more - %test:assert*. The order of the annotations is therefore - important! - - - The first argument to %test:arg denotes the name of the - function parameter variable to set, the remaining arguments are used to - create the sequence of values passed. So to test a function which takes a - sequence with more than one item for a parameter, just append additional - values to %test:arg. The test runner will convert these values - into a sequence. - - - There must be as many %test:arg annotations for every test - run as the function takes parameters. - - - The result returned by the function call is passed to each assertion in - turn, which may either pass or fail. In the example above, we assert that - the function returns 1 if the input parameter is 1, and 120 if the input is - 5. - - - If all function parameters expect exactly one value, you can also use - %test:args. Instead of specifying one %test:arg - annotation for every parameter, use a single %test:args - annotation to define all parameter values at once. %test:args - takes a list of values. Each value is mapped to exactly one function - parameter. Example: - - - - + To test a function which takes parameters, use the + %test:arg + or + %test:args + annotation in combination with one or more + %test:assert* + assertions. For example: + + + + The + %test:arg + annotation is used to set the parameters for the next test run triggered by the assertion. + + + The tested function will be called once for every sequence of + %test:arg + annotations followed by one or more + %test:assert*. The order of the annotations is therefore important! + + + The first argument to + %test:arg + denotes the name of the function parameter variable to set, the remaining arguments are used to create the sequence of values passed. So to test a function which takes a sequence with more than one item for a parameter, just append additional values + to + %test:arg. The test runner will convert these values into a sequence. + + + There must be as many + %test:arg + annotations for every test run as the function takes parameters. + + + The result returned by the function call is passed to each assertion in turn, which may either pass or fail. In the example above, we assert that the function returns 1 if the input parameter is 1, and 120 if the input is 5. + + + If all function parameters expect exactly one value, you can also use + %test:args. Instead of specifying one + %test:arg + annotation for every parameter, use a single + %test:args + annotation to define all parameter values at once. + %test:args + takes a list of values. Each value is mapped to exactly one function parameter. Example: + + + + - + - - Automatic Type Conversion + + Automatic Type Conversion - XQuery annotation parameters need to be literal values, so only strings and - numbers are allowed. XQSuite therefore applies type conversion to every argument and - to values used in assertions. - For example, the following function expects a parameter of type - xs:date: - - The string value passed to the %test:args annotation is automatically - converted to the xs:date type declared for the function parameter. The - same applies to the assertion values. - Type conversion works for atomic types as well as XML nodes. - If automatic type conversion fails the test case will fail as well. - + XQuery annotation parameters need to be literal values, so only strings and numbers are allowed. XQSuite therefore applies type conversion to every argument and to values used in assertions. + + For example, the following function expects a parameter of type + xs:date: + + The string value passed to the + %test:args + annotation is automatically converted to the + xs:date + type declared for the function parameter. The same applies to the assertion values. + Type conversion works for atomic types as well as XML nodes. + If automatic type conversion fails the test case will fail as well. + - + - + - - Running a Test Suite + + Running a Test Suite - To run a suite of tests, create a main XQuery which: - - - Imports the xqsuite.xql test framework - - - Calls test:suite with the sequence of function items to - test - - - Here is an example of a module for test, stored as math.xql: - - To run the tests in this module, create a main XQuery, for example called - suite.xql, and store it in the same collection: - - Executing the main XQuery, for instance within eXide, will return the test results as - an XML fragment (see ). - In the main XQuery, the function: inspect:module-functions returns a - function item for every public function defined in the module loaded from the location - URI argument. - The location URI is resolved in the same way as in a normal module import: a relative - path is interpreted relative to the location of the main XQuery. - + To run a suite of tests, create a main XQuery which: + + + Imports the + xqsuite.xql + test framework + + + Calls + test:suite + with the sequence of function items to test + + + Here is an example of a module for test, stored as + math.xql: + + To run the tests in this module, create a main XQuery, for example called + suite.xql, and store it in the same collection: + + Executing the main XQuery, for instance within eXide, will return the test results as an XML fragment (see + ). + In the main XQuery, the function: + inspect:module-functions + returns a function item for every public function defined in the module loaded from the location URI argument. + + The location URI is resolved in the same way as in a normal module import: a relative path is interpreted relative to the location of the main XQuery. + - + - - Test Suite Output + + Test Suite Output - A call to test:suite returns the results of the tests as an XML - fragment, using the schema defined by the xUnit test tool. The - xUnit format is supported by many systems, for instance Jenkins. - For every XQuery module tested, test:suite creates a single - testsuite element. The result of each test run is output as a - testcase element. It will be empty if the test passed. If the test failed - (meaning that the test did not meet its assertions, or that it raised an - fn:error), there will be a failure element containing the - expected result of the function, and an output element with the actual - result. In the case that the test resulted in an unexpected error that is not covered by - fn:error, there will be an error element with the error - type and message. The testsuite element will also contain the timestamp when - the tests began, the duration of the tests, and a count of the number of tests, failed - tests, pending tests, and tests that raised unexpected errors not covered by - fn:error. Here is a sample showing a failed test: - - + + A call to + test:suite + returns the results of the tests as an XML fragment, using the schema defined by the + xUnit + test tool. The + xUnit + format is supported by many systems, for instance Jenkins. + + For every XQuery module tested, + test:suite + creates a single + testsuite + element. The result of each test run is output as a + testcase + element. It will be empty if the test passed. If the test failed (meaning that the test did not meet its assertions, or that it raised an + fn:error), there will be a + failure + element containing the expected result of the function, and an + output + element with the actual result. In the case that the test resulted in an unexpected error that is not covered by + fn:error, there will be an + error + element with the error type and message. The + testsuite + element will also contain the timestamp when the tests began, the duration of the tests, and a count of the number of tests, failed tests, pending tests, and tests that raised unexpected errors not covered by + fn:error. Here is a sample showing a failed test: + +
    diff --git a/src/main/xar-resources/data/xquery/listings/listing-17.xml b/src/main/xar-resources/data/xquery/listings/listing-17.xml index ad4a4c68..68fc92ef 100644 --- a/src/main/xar-resources/data/xquery/listings/listing-17.xml +++ b/src/main/xar-resources/data/xquery/listings/listing-17.xml @@ -1,6 +1,6 @@ - - - - - \ No newline at end of file + + + + + diff --git a/src/main/xar-resources/data/xquery/listings/listing-36.xml b/src/main/xar-resources/data/xquery/listings/listing-36.xml index f3e1fc9a..89334a3a 100644 --- a/src/main/xar-resources/data/xquery/listings/listing-36.xml +++ b/src/main/xar-resources/data/xquery/listings/listing-36.xml @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + + diff --git a/src/main/xar-resources/data/xquery/xquery.xml b/src/main/xar-resources/data/xquery/xquery.xml index 77cd6d82..7071b895 100644 --- a/src/main/xar-resources/data/xquery/xquery.xml +++ b/src/main/xar-resources/data/xquery/xquery.xml @@ -5,7 +5,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink"> XQuery in eXist-db - 2Q19 + 1Q20 xquery @@ -31,9 +31,10 @@ >XQuery 3.1: An XML Query Language and "XPath and XQuery Functions and Operators 3.1", with the exception of certain unsupported features and functions. For + xlink:href="#unsupported-features">unsupported features and functions. + For complete documentation on functions in eXist-db, see XQuery Function Documentation. + xlink:href="{${fundocs.pkg.abbrev}}">XQuery Function Documentation. eXist-db's XQuery implementation has been tested against the official XML Query Test Suite (XQTS). An updated test suite runner to test conformance against the diff --git a/src/main/xar-resources/data/xsl-transform/listings/listing-1.txt b/src/main/xar-resources/data/xsl-transform/listings/listing-1.txt index ffb58612..9b05fe4c 100644 --- a/src/main/xar-resources/data/xsl-transform/listings/listing-1.txt +++ b/src/main/xar-resources/data/xsl-transform/listings/listing-1.txt @@ -1,2 +1 @@ -transform:transform($input as node()?, $stylesheet as item(), - $parameters as node()?) as node()? \ No newline at end of file +transform:transform($input as node()?, $stylesheet as item(), $parameters as node()?) as node()? diff --git a/src/main/xar-resources/data/xsl-transform/listings/listing-2.txt b/src/main/xar-resources/data/xsl-transform/listings/listing-2.txt index 7a702947..8659f48d 100644 --- a/src/main/xar-resources/data/xsl-transform/listings/listing-2.txt +++ b/src/main/xar-resources/data/xsl-transform/listings/listing-2.txt @@ -1,3 +1 @@ -transform:transform($node-tree as node()*, $stylesheet as item(), - $parameters as node()?, $attributes as node()?, - $serialization-options as xs:string?) as node()? \ No newline at end of file +transform:transform($node-tree as node()*, $stylesheet as item(), $parameters as node()?, $attributes as node()?, $serialization-options as xs:string?) as node()? diff --git a/src/main/xar-resources/data/xsl-transform/listings/listing-3.txt b/src/main/xar-resources/data/xsl-transform/listings/listing-3.txt new file mode 100644 index 00000000..c1e37134 --- /dev/null +++ b/src/main/xar-resources/data/xsl-transform/listings/listing-3.txt @@ -0,0 +1,14 @@ +declare function obe:make-catalog($col as item()*, $docs as xs:string*) as item() { + + { + if (exists($docs)) then + for $doc in $docs + return + + else + for $doc in collection($col)//tei:TEI + return + + } + +}; diff --git a/src/main/xar-resources/data/xsl-transform/listings/listing-7.xml b/src/main/xar-resources/data/xsl-transform/listings/listing-7.xml index 55df6416..8609a741 100644 --- a/src/main/xar-resources/data/xsl-transform/listings/listing-7.xml +++ b/src/main/xar-resources/data/xsl-transform/listings/listing-7.xml @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + + diff --git a/src/main/xar-resources/data/xsl-transform/listings/listing-9.xml b/src/main/xar-resources/data/xsl-transform/listings/listing-9.xml index 2253d747..ee6edae6 100644 --- a/src/main/xar-resources/data/xsl-transform/listings/listing-9.xml +++ b/src/main/xar-resources/data/xsl-transform/listings/listing-9.xml @@ -1,4 +1,5 @@ - - - \ No newline at end of file + + + + diff --git a/src/main/xar-resources/data/xsl-transform/xsl-transform.xml b/src/main/xar-resources/data/xsl-transform/xsl-transform.xml index 7be943d9..765e9fe3 100644 --- a/src/main/xar-resources/data/xsl-transform/xsl-transform.xml +++ b/src/main/xar-resources/data/xsl-transform/xsl-transform.xml @@ -1,133 +1,148 @@ - -
    - - XSL transformations - 2Q19 - - application-development - - - - - - eXist-db can perform XSLT transformations inside XQuery code. For this you need to use the - transform module. - - - - - The <code>transform</code> module - - eXist-db transform module allows you to do XSLT transformations from XQuery - code. - Its function namespace is - http://exist-db.org/xquery/transform. - - - - - <code>transform:transform()</code> - - The transform:transform function performs an XSLT transformation and returns you - the result:. It has two signatures: - - - - - - $input - - The node to be transformed. If $input is an empty - sequence, the function returns immediately. - - - - $stylesheet - - The stylesheet to use. This must either be a URI or a node. - If $stylesheet is a URI, the stylesheet is loaded from - the specified location. Watch out: A relative URI is interpreted as a - file path! - Loading a stylesheet from the database is done best by creating a full - absolute path, including an xmldb:exist:// prefix. - The stylesheet is compiled into a template (using the standard Java - APIs javax.xml.transform). The result is shared - between all instances of the function and will only reload if modified - since last invocation. - Some examples for referencing the stylesheet: - - - transform:transform($root, doc("/db/styles/style.xsl"), ()) - Create the stylesheet from a document node. - - - transform:transform($root, xs:anyURI("http:exist-db.org/style.xsl"), ()) - transform:transform($root, xs:anyURI("xmldb:exist:///db/styles/style.xsl"), ()) - Load the stylesheet from the specified URI. - - - - - - - $parameters - - Specify any stylesheet parameters. This must be an XML fragment like - the following example: - - The stylesheet can now reference parameter param1 as - follows: - <xsl:param name="param1"/> - There are two special parameters named - exist:stop-on-warn and exist:stop-on-error. If - set to yes, eXist will generate an XQuery error if the XSL - processor reports a warning or error. - - - - $attributes - - Pass attributes to the transformation factory. Verify the Java or Saxon documentation for more details. - Its contents must be an XML fragment, like this: - - - - - $serialization - - Specifies serialization options in the same way as passed to the - declare option exist:serialize expression. - An additional serialization option, xinclude-path, is - supported. This specifies the base path against which XInclude-s will be - expanded. A relative path is relative to the current module load - path. - - - - - - - - - - <code>transform:stream-transform()</code> - - Performs an XSLT transformation like the transform:transform - function, but directly streams the transformation result to the HTTP request output - stream. It doesn't return anything. The function is therefore only usable in a web - context. - The servlet output stream will be closed afterwards. - - - - - + + +
    + + XSL transformations + 1Q20 + + application-development + + + + + + eXist-db can perform XSLT transformations inside XQuery code. For this you need to use the + transform + module. + + + + + The + <code>transform</code> + module + + eXist-db transform module allows you to do XSLT transformations from XQuery code using Saxon. + Its function namespace is + http://exist-db.org/xquery/transform. + + + + + + <code>transform:transform()</code> + + + The transform:transform function performs an XSLT transformation and returns you the result:. It has two signatures: + + + + + + + $input + + + The node to be transformed. If + $input + is an empty sequence, the function returns immediately. + + + + + $stylesheet + + + The stylesheet to use. This must either be a URI or a node. + + If + $stylesheet + is a URI, the stylesheet is loaded from the specified location. Watch out: A relative URI is interpreted as a file path! + Loading a stylesheet from the database is done best by creating a full absolute path, including an + xmldb:exist:// + prefix. + The stylesheet is compiled into a template (using the standard Java APIs + javax.xml.transform). The result is shared between all instances of the function and will only reload if modified since last invocation. + Some examples for referencing the stylesheet: + + + transform:transform($root, doc("/db/styles/style.xsl"), ()) + Create the stylesheet from a document node. + + + transform:transform($root, xs:anyURI("http:exist-db.org/style.xsl"), ()) + transform:transform($root, xs:anyURI("xmldb:exist:///db/styles/style.xsl"), ()) + Load the stylesheet from the specified URI. + + + + + + + + + $parameters + + + Specify any stylesheet parameters. This must be an XML fragment like the following example: + + The stylesheet can now reference parameter + param1 + as follows: + <xsl:param name="param1"/> + + There are two special parameters named + exist:stop-on-warn + and + exist:stop-on-error. If set to + yes, eXist will generate an XQuery error if the XSL processor reports a warning or error. + + + + + $attributes + + Pass attributes to the transformation factory. Verify the + Java + or + Saxon + documentation for more details. Its contents must be an XML fragment, below you see how -it:main type transformations are handled: + + + + + + $serialization + + + Specifies serialization options in the same way as passed to the + declare option exist:serialize + expression. + + An additional serialization option, + xinclude-path, is supported. This specifies the base path against which XInclude-s will be expanded. A relative path is relative to the current module load path. + + + + A common trap is the use of fn:doc() these are not identical inside eXist-db's xquery processing and Saxon's XSL handling. Therefore, for transformation of mutiple XML files stored inside the dababase, you might wish to construct a temporary catalog file for use by the transformation and immediate removal, like this: + + + + + + + + <code>transform:stream-transform()</code> + + + Performs an XSLT transformation like the + transform:transform + function, but directly streams the transformation result to the HTTP request output stream. It doesn't return anything. The function is therefore only usable in a web context. + + The servlet output stream will be closed afterwards. + + + +
    diff --git a/src/main/xar-resources/modules/app.xql b/src/main/xar-resources/modules/app.xql new file mode 100644 index 00000000..7a3b63e0 --- /dev/null +++ b/src/main/xar-resources/modules/app.xql @@ -0,0 +1,25 @@ +xquery version "3.1"; + +module namespace app = "http://exist-db.org/apps/docs/app"; + +import module namespace templates = "http://exist-db.org/xquery/templates"; +import module namespace config = "http://exist-db.org/xquery/apps/config" at "config.xqm"; + +declare namespace expath = "http://expath.org/ns/pkg"; + +declare function app:bread-nav($node as node(), $model as map(*)) as element(nav) { + let $uri := tokenize(request:get-uri(), '/')[position() = last()] + let $file := + if (contains($uri, '.')) + then (substring-before($uri, '.')) + else ($uri) + + + return + +}; diff --git a/src/main/xar-resources/modules/docbook.xql b/src/main/xar-resources/modules/docbook.xql index 07a2913e..516dd9f6 100644 --- a/src/main/xar-resources/modules/docbook.xql +++ b/src/main/xar-resources/modules/docbook.xql @@ -85,7 +85,13 @@ declare %public function docbook:toc-db5($node as node()) as element(ul) { return element li {element a {attribute href {'#' || data($n/@xml:id)}, $n/db5:title/string()}}}) else () - } + }, + element button { attribute class {'btn btn-outline-primary btn-sm btn-block'}, + element a { + attribute href {'https://github.com/eXist-db/documentation/issues/new?title=error on ' || $node//db5:info/db5:title}, + 'Improve this article' + } + } } }; diff --git a/src/main/xar-resources/modules/test-suite.xql b/src/main/xar-resources/modules/test-suite.xql index e1085ba7..625318a1 100644 --- a/src/main/xar-resources/modules/test-suite.xql +++ b/src/main/xar-resources/modules/test-suite.xql @@ -22,6 +22,9 @@ declare variable $tests:article := document { Document title 1Q18 + + blah + Introductory paragraph(s) @@ -44,6 +47,9 @@ declare variable $tests:article := document { }; +(:~ see if all sections have an ID (now inforced via schema) + : @return empty-sequence otherwise name of document with faulty section + :) declare %test:name('section-headings') %test:assertEmpty @@ -64,6 +70,9 @@ function tests:missing-id() { $m }; +(:~ Run the diagnose listings page and see if there are new Errors + : @return empty-sequence, otherwise name of listing and parent collection + :) declare %test:name('diagnose listings') %test:assertEmpty @@ -81,23 +90,45 @@ function tests:orphan-listing() { else () }; +(:~ See if ToC rendering is WAI :) declare %test:name('ToC rendering') %test:assertTrue function tests:toc-inline() { -let $output := + let $output := return docbook:toc-db5($tests:article) eq $output }; + +(:~ Check if two listings that should be identical actually are. + : Txt and xml listings cannot be easily displayed via or xinclude + : so unfortunately this is necessary, to avoid conflicting information. + : + : @see author-reference + : @return true (hopefully) + :) +declare +%test:name('Listing consistency') +%test:args('backup/listings/listing-3.xml.','configuration/listings/listing-6.xml') +%test:assertTrue +function tests:equal-listing($path1 as xs:string, $path2 as xs:string) as xs:boolean { + let $a := $config:data-root || $path1 + let $b := $config:data-root || $path2 + return + deep-equal(doc($a), doc($b)) +}; diff --git a/src/main/xar-resources/modules/view.xql b/src/main/xar-resources/modules/view.xql index 9df4223c..7b4e78b7 100755 --- a/src/main/xar-resources/modules/view.xql +++ b/src/main/xar-resources/modules/view.xql @@ -9,6 +9,7 @@ import module namespace config="http://exist-db.org/xquery/apps/config" at "conf import module namespace review="http://exist-db.org/xquery/documentation/review" at "review.xql"; import module namespace site="http://exist-db.org/apps/site-utils"; import module namespace diag="http://exist-db.org/xquery/diagnostics" at "diagnostics.xql"; +import module namespace app="http://exist-db.org/apps/docs/app" at "app.xql"; declare option exist:serialize "method=html5 media-type=text/html"; diff --git a/src/main/xar-resources/resources/styles/doc.min.css b/src/main/xar-resources/resources/styles/doc.min.css index 1e79c2de..b9e0b49e 100644 --- a/src/main/xar-resources/resources/styles/doc.min.css +++ b/src/main/xar-resources/resources/styles/doc.min.css @@ -1,3 +1,3 @@ -/*! exist-documentation v5.0.4-SNAPSHOT | (c) 2020 | LGPL-2.1-only License | git+https://github.com/eXist-db/documentation.git */ +/*! exist-documentation v5.1.1-SNAPSHOT | (c) 2020 | LGPL-2.1-only License | git+https://github.com/eXist-db/documentation.git */ .form-group select{width:8em;padding-right:4px}.form-group input{width:20em}.form-group select{width:10em}table a{padding-left:3px;padding-right:3px}span.score{color:#b2b2b2}div.headings,td.headings{background:#ebebeb;font-size:110%}td.previous{text-align:right}.kwic .hi{margin:0 .5em;text-align:center}table[class=kwic]{border-collapse:separate;border-spacing:0 .5em}section dl.dl-horizontal dt{overflow-x:inherit;overflow-y:inherit;clear:inherit;float:inherit}section dl.dl-horizontal dd{margin-left:2em!important} /*# sourceMappingURL=doc.min.css.map */ diff --git a/src/main/xar-resources/resources/styles/exist-2.2.min.css b/src/main/xar-resources/resources/styles/exist-2.2.min.css index 5c082840..e8a7d62d 100644 --- a/src/main/xar-resources/resources/styles/exist-2.2.min.css +++ b/src/main/xar-resources/resources/styles/exist-2.2.min.css @@ -1,3 +1,3 @@ -/*! exist-documentation v5.0.4-SNAPSHOT | (c) 2020 | LGPL-2.1-only License | git+https://github.com/eXist-db/documentation.git */ +/*! exist-documentation v5.1.1-SNAPSHOT | (c) 2020 | LGPL-2.1-only License | git+https://github.com/eXist-db/documentation.git */ @import url("bootstrap.min.css");@font-face{font-family:QuicksandBook;src:url(../fonts/Quicksand_Book-webfont.eot);src:url(../fonts/Quicksand_Book-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/Quicksand_Book-webfont.woff) format("woff"),url(../fonts/Quicksand_Book-webfont.ttf) format("truetype"),url(Quicksand_Book-webfont.svg#QuicksandBook) format("svg");font-weight:400;font-style:normal}.content{font:16px/24px Georgia,Times New Roman,Times,serif;color:#555}.content section{clear:both}.content h1{font-size:1.75em;margin:.8em 0 0}.content h1,.content h2{font-family:QuicksandBook,Arial,Helvetica,sans-serif;font-weight:700}.content h2{color:#0083cb;font-size:1.33em;margin:.3em 0 0;padding:10px 0 5px}.content h3{font-size:1em;font-weight:700}.content table{margin:.5em 1em}.content td,.entry th{padding:6px 4px}.content .strong{font-weight:700}.content em{font-style:italic}.content code{font-size:.92em;background-color:inherit;border:0;color:inherit}.content .option{font-weight:700;font-style:italic}.content blockquote{font-style:italic;text-align:justify;padding:10px 15px 0;border:1px solid #abe1ff;background:#fff;margin:5px 0 10px}.content blockquote h3{padding:0;border:0;margin:0;font-size:12px;color:#0083cb}.content blockquote p{padding:0 0 10px}.content ol,.content ul{margin:0 1.5em}.content ul li{list-style:disc;margin-bottom:.4em}.content ol li{list-style:decimal;margin-bottom:.4em}.content dl.wide dt{width:35em;word-wrap:break-word}.content dl.wide dd{margin-left:1.5em}#content .content dt{font-weight:700;word-wrap:break-word}.content img{margin:8px auto;max-width:100%}.content td img{max-width:inherit}.content figure{margin:0 1em 1em}.content figure.float-left{float:left;margin-right:1em;width:50%;display:inline-block}.content figure.float-right{float:right;margin-left:1em;width:50%;display:inline-block}.content .img-float-left{float:left;margin-right:10px}.content .img-float-right{float:right;width:inherit;margin-left:10px}.content pre.prettyprint{padding:10px 16px;margin-bottom:.85em}.content .guimenuitem{background:#fef8c4}.content .example{margin:.25em 0 .25em 1em;padding:10px;border:1px solid #707070}body{color:#222;background:url(../images/body.gif) repeat 50% 100%}.grey-bot{padding-bottom:2em}#container{margin:0 auto 30px}@media (min-width:767px){#grey-top{background:#f3f3f3 url(../images/horizontal.gif) repeat-x 50% 0;height:100%;position:relative}#header{background:#f3f3f3 url(../images/header.gif) 100% 0 no-repeat;width:100%}#header a#logo{background:url(../images/existdb.png) 0 no-repeat;display:block;width:220px;height:100px;text-indent:-999em;outline:0;margin:10px 0}}@media (max-width:767px){#grey-top{background:#f3f3f3;height:100%}#header{display:none}}.navbar .container{padding-left:0;padding-right:0}#content{min-height:600px}#sourceforge{background:url(../images/sourceforge.gif) no-repeat 50%;width:130px;height:30px;display:block;margin:30px auto;text-indent:-999em;overflow:hidden}#footer{clear:both;margin:0 auto;height:50px;color:#222;background:url(../images/body.gif) repeat 50% 100%}#footer .container{padding-left:0;padding-right:0}#footer ul{float:left;margin:0 0 0 -4px;padding:1em 1em 1em 0}#footer ul li{display:inline}#footer ul li a{padding:2px 4px;color:#ffcb05}#footer ul li a:hover{background:#333}#copyright{float:right;width:240px;text-align:right;padding-top:1em}#copyright p{padding:0;color:#f3f3f3}#poweredby{float:right;width:120px;height:56px;margin-bottom:10px;display:inline-block;background:url(../images/powered-by.svg) no-repeat 50%;background-size:100% 100%}h1{font-size:1.75em;margin:.8em 0 0;padding:0 0 5px;margin:0;color:#0083cb}h1,h2{font-weight:700;font-family:QuicksandBook,Arial,Helvetica,sans-serif}h2{padding:10px 0;letter-spacing:1px}h2,h3{font-size:1.2em}h3{padding:10px 0 5px;margin:0 0 5px;font-weight:700}h4{font-style:italic}h4,h5{font-size:1em;padding:10px 0;font-weight:400}a{color:#0083cb;text-decoration:none}a:hover{color:#ffcb05}.clear{clear:both}.imgborder{border:1px solid #ccc;padding:3px;margin:3px}.code{font:14px/20px Ubuntu Mono,Menlo,Consolas,Courier New,Courier,monospace;padding:8.5px;width:100%;margin:18px 0;overflow-x:auto}.code a{padding:4px;border:1px solid #c7c7c7}figure img{display:block}figcaption{font-size:.85em;text-align:center}form{margin:20px 0}fieldset input:focus:invalid,input:required:invalid{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFvy8atzQfvzEWvDEXuzEZujIbuzEdvzAZvTAbvjAcvDAdvTIdrzcnszQisTQltTIitzQgtjUhsTssuDEguTIgujQgvD0nqkAutkM2tko5u0c4ul5Qwi8Zwy8awC8bxS4ZxiwcwTEZwDEawTAbwDAcwDEdwzIexjAaxTIZyDAbyjAcyTMdzzEazjEbzzAe0TIb0zMd0zQb1DIc1TQb1TQc1jYc1jYd1zgc2jQb2DUd2TQe2zYc3DUc3jgbxzYh1j4m4DYZ5jcZ5zYb5jYc5Dga5Dgd6TYf7Dcd7zce6zgZ6Dga7Dse7j0e8jcd8zYe8DYf8Tkb8zgd8joc8Toe8Dwf9jkb9Doc4zki5j4n6T0h7jghxkIsx0MuzUUt00Ep2kIt1kg13VE97EEm6Ugu4E064FQ98UIn8kMo80Mp90Ep9UMq3VpD3F1KxmdZw2haw2hbxGhaxGhbwW1hwHdpxndp2H1u4FlH4mVT63Jb9mZO92ZP9WhN+GVN+2RQ4HVlvIB13odx4oNv5IZy54h29o55+4p6+4t7+Y14/Yl6yI+Ew5aPxpuTxqCXyaWe3baq5JSI65CB7pKC9JKK66WX6rGb57ut6rOo7res5b6767yz+62i+q6j/qug/a2i87Cl9rGh9rOq8b+19L+z+L2x48G48MO68sa/8ci96tDK8sbB/crE/crF/srG+87K/svJ/M3I99bR99fS+9bV+93Z8ebe+OHd+eXd/OTd8ebh9e3m9u3r+ufl/eXj/ubg/ufh/efi/ufj/uXk+ujj++nl+uvl+urm/ejh++7q+u/r+vDu+vLt/PDv/fPv/vTy+/j3/Pj0//j2//n3/vv0/vr1/vv2/fr3+/39+/79/vr4/vv6/v37/f77/v38/v39/f78/f79AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOe7jtQAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuODc7gF0AAAEbSURBVChTARAB7/4A1rmNdG5xb3BwcG5tc4y43QC6isjT0NDR1djY1NLTzIu4AImVvL/Gxsa+vr7BwL29qX8AGp6rqrPDsqyurbu8r6ujFwALg5ybotjLoJqw37GfnZEOAAlsiIaEp9qmk8/FkoWHdw8AIj98eX14tc601ZB7eXpfEQAjNGJoaWd+z9uWY2pmZjYQACEzQlJUVWvK149MVlNKORUAIzFDSFBYodnJx3ZRTkEzAQAkLUBHS4HYmXXVpVhPPS8NAAInNUVkwsRlWZfVgEQ6KA8AFh0uN5TNgk1aYba3YCwHDAByAyArW11XRklGXlw+HwAbAKgSBRwpMDo8OzgyKh4EFaQA3pgZEwYIJCYmJQgKFBiO3JMVcr8Z+l4TAAAAAElFTkSuQmCC")}fieldset input:focus:invalid,input:required:invalid,input:required:valid{background-position:100%;background-repeat:no-repeat;-moz-box-shadow:none}input:required:valid{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFU6E8UqA9U6A+U6A/VaA+VqA/V6I+WKM7WKA/WaI8WqI9WaQ+XaQ6XKQ8Zac9Z6w2Y6k6Z6w6aKo8bK45bq46d7M5fbU6fLY6frY8f7k5U59AU59BVJ9AU6BAUaBBVaBAVKFBVKBCX6JNXqZOYalRZqhSa6pfbapcb6pdbKpfcalbc6pbdKpccqdieKxofK9vf69xgLc5gLY9hrw3gLg4gLg5g7o4g7o5hLs4hLo5hLo6hbs8iL46jb1Ti7d+kMM0k8UwksU0lsQ2nskwnsgynsgzpswvqc8voMc8oMkyocozo8wzpMowpcs7rM8wrtEwrtA1ss8+sNIvtNMtttUuttYtt9Yvu9cuutgrvdkqvdksvNgtvdkvv9svsNM1ttI2utY0vdkxvtowvtsyv9ozvtg1vdwzv9k4vtg6lMRTrs5HtNNMps53rNN+wdhJwtlNw9hWyNxVx9tszd9iyuJPxeBRxuJQyuFTyuJQyuNRyuBW0eNz1OR91eR/1ut31+p41+p62Ot22Op42Op6lb6InsKRnsSUocKVrseir82mr82nrc6kr82oscWltMeusMiisM2msMyoss6r2+mNw+KgyueiyeSy1eq34/Gd4/Ce4/Cf4vKe4+2l5e6j4Oys5u+44/Cg5fCr5vGt6PC16fO26vO87ve/7fi87vi97vi/0uHO2+jW2unX6/TD7vfA7/jH8PbB8vbH8PbK9/rT9vrY9vrc9/vd+/3c+P7c+f7d+P7e6PDk6fTm6/Xo7/fr9ffh+vvl+P3g+f3h+fzi/f7m+/zq/f7s8vrx+f3x+v7w/f7x/v7y/v/z/v/0/v73/v75/v38/f7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnz0KZQAAABl0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjUuODc7gF0AAAEbSURBVChTARAB7/4A0aqNkImJioyMjImLkY6r0QCsj8nLzMzMzMzMzczLyIi7AD6Xwbe5urq6urq4wsHAlocAIpWwp6apqa6urqiyw6+ULgAhbZibmpqZmqCgorakmWwmAARpf4B/f4OBg5O0oYJ+PScACjt2eXR4eHhzsaN6d3UyKgALOF5mYl1jZ5yzb2JkUDUsAAs3RmBxZVx7xnxhWVZMMSsABhdKcsSdcLWyaFpYUkQVKAAgFEJrn8q/zn1aW1RHPxEpAB8MNklRns/FbldVT0U0BykAJQISPEVqraVfU05DMw4AMACFGwUPOkBITUtEQRkQHBqSAL0tHQEMFBg5NxYTDQEeL8cA0LyEIx4DCAoJHxwdJIa+0S+PbKi6PdJ5AAAAAElFTkSuQmCC")}.error{font-family:Ubuntu Mono,Menlo,Consolas,Courier New,Courier,monospace;font-size:112%;white-space:pre-wrap;width:100%;overflow:auto}.warning{border:1px dotted red;padding:0 10px;margin:10px 0}.hi{background:#ffed3d}.hidden{display:none}.row{margin-left:0} /*# sourceMappingURL=exist-2.2.min.css.map */ diff --git a/src/main/xar-resources/resources/styles/style.min.css b/src/main/xar-resources/resources/styles/style.min.css index 9ae9a150..89bd7646 100644 --- a/src/main/xar-resources/resources/styles/style.min.css +++ b/src/main/xar-resources/resources/styles/style.min.css @@ -1,3 +1,3 @@ -/*! exist-documentation v5.0.4-SNAPSHOT | (c) 2020 | LGPL-2.1-only License | git+https://github.com/eXist-db/documentation.git */ +/*! exist-documentation v5.1.1-SNAPSHOT | (c) 2020 | LGPL-2.1-only License | git+https://github.com/eXist-db/documentation.git */ body{font-style:normal;color:#000;background-color:#fff}body,p{text-align:left;alignment:left}p.sectstart{margin-before:20}h1{font-size:large}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;color:#03c}b{font-weight:700}a{text-decoration:none;color:#03c}.sect1{font-size:125%}.sect1,.sect2{font-family:Arial,Helvetica,sans-serif;font-style:bold}.email,.emph{font-style:italic}.email{font-size:smaller}.heading{font-family:Arial,Helvetica,sans-serif;font-size:125%;font-weight:700;color:#03c}.code,.codeblock{font-family:Courier,mono}.navheading{font-weight:700;color:#933}.navbody,.navheading{font-family:Arial,Helvetica,sans-serif;font-size:smaller;text-decoration:none}.navbody{margin-left:.5cm}.navitem{font-family:Arial,Helvetica,sans-serif;text-decoration:none;font-size:smaller;color:#669}.itemdef{font-family:Times New Roman,Times,serif}.fineprint,.itemdef{font-size:smaller;color:#000}.fineprint{font-family:Arial,Helvetica,sans-serif} /*# sourceMappingURL=style.min.css.map */ diff --git a/src/main/xar-resources/templates/page.html b/src/main/xar-resources/templates/page.html index 6af4ced7..f32ab8f7 100755 --- a/src/main/xar-resources/templates/page.html +++ b/src/main/xar-resources/templates/page.html @@ -92,6 +92,7 @@ +
    @@ -115,9 +116,6 @@
  • Demo
  • -
  • - Status -
  • Legal
  • diff --git a/src/main/xsd/docbook.xsd b/src/main/xsd/docbook.xsd deleted file mode 100644 index 42b9b0e8..00000000 --- a/src/main/xsd/docbook.xsd +++ /dev/null @@ -1,17458 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/xsd/xlink.xsd b/src/main/xsd/xlink.xsd deleted file mode 100644 index ff9a7c1d..00000000 --- a/src/main/xsd/xlink.xsd +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/xsd/xml.xsd b/src/main/xsd/xml.xsd deleted file mode 100644 index c6e9c462..00000000 --- a/src/main/xsd/xml.xsd +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/test/cypress/integration/documentation_spec.js b/src/test/cypress/integration/documentation_spec.js index 404e2b8e..fccf518d 100644 --- a/src/test/cypress/integration/documentation_spec.js +++ b/src/test/cypress/integration/documentation_spec.js @@ -60,7 +60,7 @@ context('Documentation', () => { cy.get('.navbar') .find('#development') .click() - .contains('Author Reference') + .find('[href="author-reference.xml"]') .click() .url() .should('include', 'author-reference.xml') diff --git a/xar-assembly.xml b/xar-assembly.xml index e552d7f7..7c227cb8 100644 --- a/xar-assembly.xml +++ b/xar-assembly.xml @@ -17,156 +17,46 @@ pre-install.xql - +
      -
    • changes to backup and app restore process
    • -
    • add unit and integration tests
    • -
    • update interapp links, http links, section IDs
    • -
    • document new xquery functions, and adjust deprecated syntax cases
    • -
    • add lucene facets documentation
    • -
    • switched to mavenized build, and install instructions
    • -
    -
    - -
      -
    • removed deprecated extensions
    • -
    • removed war guide
    • -
    • updates to indexing guide
    • -
    • add previously undocumented xqSuite annotations
    • -
    • update Bootsrap, Jquery, switch to highlight, many minor bumps
    • -
    • integrate frontend tooling in build process via maven plugin
    • -
    • add integration tests, and execute XQsuite test during build
    • -
    • fix outdated syntax in xmlrpc article
    • -
    -
    - -
      -
    • removed mentions of xprocq
    • -
    • removed exist v2 upgrade warning on install
    • -
    -
    - -
      -
    • content edits
    • -
    • dependency updates
    • +
    • lucene: add diacritics analyzer
    • +
    • url-rewrite: add errorhandler documentation
    • +
    • rewrites: log4j, webdav
    • +
    • docker: new article
    • +
    • transform: improve xsl documentation
    • +
    • xqsuite: add missing annotation documentation
    • +
    • web_proxying: add warning about body size limitations
    • +
    • listings are now linted when building the app
    • +
    • validate all articles to enforce author-ref via custom schema (experimental)
    • +
    • increase docbook to 5.1
    - +
      -
    • advanced-installation: new instructions for unattended installation
    • -
    • incompatibilities: add long-jump upgrade instructions
    • -
    • production-good-practices: add parser description
    • -
    • integration-testing: new article about best practices for testing exist-db apps
    • -
    • testing: new article introducing various approaches to automated code tests
    • -
    • app updates and code changes
    • +
    • lucene: add multi-value hierarchical facets
    • +
    • configuration: experimental document path-locks
    - +
      -
    • more emphatically support openJDK
    • -
    • update indexer from current conf.xml
    • -
    • added information about davfs2 usage
    • -
    • add info about %test:name to xqsuite article
    • -
    • add info about new lucene options
    • +
    • remove newly implemented Xquery functions from list of unsupported functions
    - +
      -
    • style fixes for links
    • -
    • Added info about XQTS Collation to Xquery article
    • -
    • explain pending and error counts in xqsuite
    • -
    • added third JAXV parameter in validation
    • -
    • added intallation and upgrade instructions source builds
    • +
    • improve advanced installations and backup restore instructions
    • +
    • document the @min attribute for lucene queries
    • +
    • improve permission settings documentation
    - +
      -
    • update xqsuite documentation to add new variable
    • -
    • minor fixes and typos
    • -
    -
    - -
      -
    • adapt search to db5
    • -
    • Update advanced installation - better intro to YAJSW config
    • -
    • XQuery article updates
    • -
    • betterFORM information
    • -
    • Security, Backup and Scheduler update
    • -
    • broken-links page.html cause crash and locked D
    • -
    • broken-links Jetty links are outdate
    • -
    • add Jetty portal folder info to deplyomen
    • -
    • enhancement /apps/doc/deployment.xml missing instructions about removing the portal folder
    • -
    • dependency updates
    • -
    • Updated the diagnostics page
    • -
    • Updates of xforms, webdav and versioning + minor edit
    • -
    • broken-links [configuration.xml] missing how-to data from wiki
    • -
    • add link to style guid
    • -
    • change to proper map syntax
    • -
    • Fix reference expansions
    • -
    • Review Beginner's Guide to XR
    • -
    • Fix further reference expansion for package name
    • -
    • [security.xml] update mentions of old user manage
    • -
    • deprecated [debugger.xml] Unclear instruction
    • -
    • deprecated [configuration.xml] Services sectio
    • -
    • fix empty-sequence in exampl
    • -
    • [oxygen.xml] Update oXygen docs with directions for the eXist connection wizar
    • -
    • [templating.xml] examples uses html5 syntax
    • -
    -
    - -
      -
    • [lucene.xml, indexing.xml] add info about the ICUFoldingFilter and UCA collation
    • -
    • documentation now uses docbook 5.
    • -
    • fix use of empty-sequence in example
    • -
    • A major rework is in progress based on edits by Erik Siegel
    • -
    -
    - -
      -
    • add info on hardening production system
    • -
    • Address issues regarding the configuration.xml articl
    • -
    • bug Fix the linking to apps by abbrev package nam
    • -
    • [util.xml] broken link to Function Documentation Librar
    • -
    • doc variable no longer works from the default page templat
    • -
    • Roundup of work on old issue
    • -
    • Fixed filename of the eXist-db installation ja
    • -
    • enhancement update contents of data/repo.xml explaining how setting permissions work
    • -
    • [troubleshooting.xml] Update documentation on jetty ports and port conflict
    • -
    • Remove XACML documentatio
    • -
    • Remove ftlegacy.xml documentation on legacy ft-inde
    • -
    • recode site:expand-links()? -
    • -
    -
    - -
      -
    • New: Improved build infrastructure for the Documentation app - - #135 -
    • -
    • [Upgrade Guide]: Revised the guide with best practices - - #120 -
    • -
    • [Indexing and XQuery]: Added information on json-ignore-whitespace-text-nodes serialization option and some minor corrections - - #138 -
    • -
    • [Devguide]: Removed mention of XMLDBTransformer - - #139 -
    • -
    -
    - -
      -
    • No release notes prepared for this or any earlier versions.
    • -
    -
    - -
      -
    • [New Range Index]: Added full documentation for "conditional indexes," a new feature for limiting indexed values to elements meeting certain child attribute criteria.
    • -
    • [Quick Start]: Added a workaround for those with Saxon installed as a JRE extension; improved description of macOS first run & default data directory location.
    • -
    • [Upgrading]: Added new section on how to upgrade to eXist 3.0 and important changes in this release.
    • -
    • [XQSuite]: Added descriptions of %test:stats and %test:assertXPath annotations.
    • -
    • [Lucene]: Fixed WhitespaceAnalyzer classname and the version of Lucene.
    • -
    • Across the board: Fixed name of macOS (was Mac OS X); reviewed mentions of v2.0 and updated where appropriate to match current release
    • +
    • changes to backup and app restore process
    • +
    • add unit and integration tests
    • +
    • update interapp links, http links, section IDs
    • +
    • document new xquery functions, and adjust deprecated syntax cases
    • +
    • add lucene facets documentation
    • +
    • switched to mavenized build, and install instructions