PageSeeder datatypes
PageSeeder datatypes extend primitive types and are constrained by a pattern or by enumerated values. For readability, the following conventions are used.
Letters | [A-Za-z] | ASCII letter in upper case and lower case |
Digits | [0-9] | ASCII digits 0 to 9 |
Underscore | _ | Underscore ASCII character U+005F |
Hyphen | - | Hyphen-minus ASCII character U+002D |
Dot | . | Full stop or baseline dot character U+002E |
Boolean
An xs:boolean
value can only be one of the canonical boolean values of true
or false
.
xs:boolean
datatype to support literal values 1
or 0
.<xs:simpleType name="boolean"> <xs:restriction base="xs:boolean"> <xs:pattern value="true|false"/> </xs:restriction> </xs:simpleType>
Document ID
The document ID is an xs:string
that only contains letters, digits, underscores or hyphens and must not exceed 100 characters.
<xs:simpleType name="document-id"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-]+"/> </xs:restriction> </xs:simpleType>
Document level
The document level is one of three values metadata
, portable
or processed
.
Only portable
documents can be uploaded to PageSeeder; but PageSeeder can generate documents in metadata
or processed
level.
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="metadata"/> <xs:enumeration value="portable"/> <xs:enumeration value="processed"/> </xs:restriction> </xs:simpleType>
Document title
Also known as URI title, the title of a document title is an xs:string
which must not exceed 250 characters.
<xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType>
Document type
The document type is an xs:string
that only contains letters, digits or underscores and must not exceed 50 characters.
<xs:simpleType name="document-type"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_]+"/> </xs:restriction> </xs:simpleType>
Fragment ID
The fragment ID is an xs:string
that only contains letters, digits, underscores, equals, commas, ampersands, hyphens or dots and must not exceed 250 characters.
<xs:simpleType name="fragment-id"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_=,&\-\.]+"/> </xs:restriction> </xs:simpleType>
Fragment type
The fragment type is an xs:string
that only contains letters, digits, underscores, hyphens or dots.
<xs:simpleType name="fragment-type"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-\.]+"/> </xs:restriction> </xs:simpleType
Heading level
The heading level is an xs:integer
value between 1 and 6.
<xs:simpleType> <xs:restriction base="xs:integer"> <xs:pattern value="[1-6]"/> </xs:restriction> </xs:simpleType>
Horizontal alignment
An enumerated value used for attributes to determine the horizontal alignment of the text content.
It must be one of the following values: left
, center
, right
, justify
. Usually the value left
is the default.
More formally, this type is defined as:
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="left" /> <xs:enumeration value="center" /> <xs:enumeration value="right" /> <xs:enumeration value="justify" /> </xs:restriction> </xs:simpleType>
Indent
The indent level is an xs:integer
value between 1 and 6.
<xs:simpleType> <xs:restriction base="xs:integer"> <xs:pattern value="[1-6]"/> </xs:restriction> </xs:simpleType>
Label
The @label
datatype extends xs:string
but can only contain the following characters [a-zA-Z0-9_-]
.
<xs:simpleType name="label"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-]+"/> </xs:restriction> </xs:simpleType>
Label list
An unordered comma-separated list of label names.
Empty and duplicate label names are ignored, so the note,important,important,
is semantically equivalent to important,note
.
<xs:simpleType name="label-list"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-,]*"/> </xs:restriction> </xs:simpleType>
List type (ordered)
The list type determines what prefix is displayed before each item. The list type is used for predetermined prefixes. It's possible to use custom schemes using the @role
attribute.
Type | Prefixes |
---|---|
arabic | 1 2 3 4 5 ... |
upperalpha | A. B. C. D. E. ... |
loweralpha | a. b. c. d. e. ... |
upperroman | I II III IV V ... |
lowerroman | i ii iii iv iv ... |
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="arabic"/> <xs:enumeration value="upperalpha"/> <xs:enumeration value="loweralpha"/> <xs:enumeration value="upperroman"/> <xs:enumeration value="lowerroman"/> </xs:restriction> </xs:simpleType>
List type (unordered)
The list type determines the bullet style of each list item. This list type is used as a fallback. It’s possible and often preferable to define the bullet style externally (for example in CSS, or Word template properties when PSML is converted to HTML or DocX).
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="none"/> <xs:enumeration value="disc"/> <xs:enumeration value="circle"/> <xs:enumeration value="square"/> </xs:restriction> </xs:simpleType>
Length
The length is the width or height of an object in pixels or percent, or more formally:
[0-9\.]+(px|%)?
Length (fixed)
The fixed length of an object is numeric value that corresponds to the length in pixels.
Port number
The port number of a URI.
<xs:simpleType> <xs:restriction base="xs:positiveInteger"> <maxInclusive value="65535"/> </xs:restriction> </xs:simpleType>
Property count
The property count defines the maximum number of values that the property can have.
<xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9n]+"/> </xs:restriction> </xs:simpleType>
Publication ID
The publication ID is an xs:string
that only contains letters, digits, underscores or hyphens and must not exceed 250 characters.
<xs:simpleType name="publication-id"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-]+"/> </xs:restriction> </xs:simpleType>
Publication type
The publication type is an xs:string
that only contains letters, digits or underscores and must not exceed 50 characters.
<xs:simpleType name="publication-type"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_]+"/> </xs:restriction> </xs:simpleType>
Role
The role of an object is an xs:string
that only contains letters, digits, underscores and hyphens.
<xs:simpleType name="role"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-]+"/> </xs:restriction> </xs:simpleType>
Section ID
The section ID is an xs:string
that only contains letters, digits, underscores, hyphens or dots.
<xs:simpleType name="section-id"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_\-\.]+"/> </xs:restriction> </xs:simpleType>
Table part
The part of the table the row or column belongs to.
Value | Row | Column |
---|---|---|
body | implied default value and provided for completeness (it needn't be used) | |
header | Is part of the table header (e.g. inside <thead> in HTML) | Cells in the column are considered to be header cells. (e.g. <th> in HTML) |
footer | Is part of the table footer (e.g. inside <tfoot> in HTML) | Cells in the column are considered to be footer cells. This is used for columns to right-hand side of a table that might represent aggregate values of the cells to their left (e.g. Total column) |
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="body" /> <xs:enumeration value="header" /> <xs:enumeration value="footer" /> </xs:restriction> </xs:simpleType>
URL type
The url type is an xs:string
that only contains letters, digits or underscores and must not exceed 50 characters.
<xs:simpleType name="document-type"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9_]+"/> </xs:restriction> </xs:simpleType>
Vertical alignment
An enumerated value used for attributes to determine the vertical alignment of the text content. It must be one of the following values: top
, middle
, bottom
, baseline
. Usually the value baseline
is the default.
More formally, this type is defined as:
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="top" /> <xs:enumeration value="middle" /> <xs:enumeration value="bottom" /> <xs:enumeration value="baseline" /> </xs:restriction> </xs:simpleType>
Xref config
The configuration name for an xref of a certain kind, see xref-config.xml.
<xs:simpleType name="xref-config"> <xs:restriction base="xs:string"> <xs:pattern value="[a-zA-Z0-9\-_]+"/> </xs:restriction> </xs:simpleType>
Xref display
An xs:string
value determines the display of a cross-reference.
When PageSeeder resolves a cross-reference, the textual content of an inline xref is affected. This is the reason why the textual content of an xref is considered informational.
Value | Effect |
---|---|
document |
The URI title of the target document:
|
document+manual |
The URI title of the target document, followed by some manual text:
|
document+fragment |
The URI title of the target document, followed by the fragment ID:
|
manual |
Only the manual text:
|
template |
The manual title (
The |
The display
attribute only affects the forward direction, reverse cross-references must use a fixed reverse title.
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="document" /> <xs:enumeration value="document+manual" /> <xs:enumeration value="document+fragment" /> <xs:enumeration value="manual" /> <xs:enumeration value="template" /> </xs:restriction> </xs:simpleType>
Xref level
The level of an xref indicates how the heading levels in the target document are affected.
<xs:simpleType> <xs:restriction base="xs:integer"> <xs:pattern value="[1-5]"/> </xs:restriction> </xs:simpleType>
Xref type
The type of cross-reference in the forward direction.
Type | Effect |
---|---|
none | Defines a reference between the source and the target content much like a regular link. |
alternate | An alternate representations of the current document |
math | An in-line transclude link to a file or <media-fragment> with mediatype of application/mathml+xml or text/asciimath . Used for equations. Only allowed on <xref> . |
embed | Indicates that the target content is intended to be embedded in place of the link during publishing or some post-processing. Only allowed on <blockxref> . |
transclude | Indicates that the target content is to be included in place of the link whenever the document is viewed. Only allowed on <blockxref> . |
See article on transclusion for a discussion on the differences between embedded links and transclusions.
The model for <xref>
is the following:
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="none"/> <xs:enumeration value="alternate"/> <xs:enumeration value="math"/> </xs:restriction> </xs:simpleType>
The model for <blockxref>
is the following:
<xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="none"/> <xs:enumeration value="alternate"/> <xs:enumeration value="embed"/> <xs:enumeration value="transclude"/> </xs:restriction> </xs:simpleType>