<uri>
Summary
A metadata element providing information about the underlying URI corresponding to the PSML document.
The only attributes used by the upload are the following:
@docid(NOT for external URIs)@documenttype@title@folder(only for external URIs)
The only elements used by the upload are the following:
<description><labels>
Usage context
| Element category | metadata |
|---|---|
| PSML level | metadata |
| Permitted content | <displaytitle> <description> <labels> |
| Permitted parent | <documentinfo> |
| HTML equivalent | no equivalent |
| OpenXML equivalent |
Attributes
This element includes the following attributes
| Name | Type | Required | Description |
|---|---|---|---|
| archived | boolean | no | Whether the document is archived |
| created | xs:dateTime | no | Date time the document URI was created in ISO 8601 format (for example, 2012-05-23T15:33:52+10:00) |
| decodedpath | xs:string | no | Document URI path not URL encoded (for example /ps/acme/specs/my product.xml) |
| docid | document-id | no | User entered, unique document identifier in the <uri> element within the <documentinfo> element. Optional. |
| documenttype | document-type | no | Document type (aka document config) |
| external | boolean | no | If true, this is a URL (external URI) |
| folder | boolean | no | If true, this is a folder (for external URI only). Deprecated in PageSeeder v5.99. |
| host | xs:string | no | Document URI host (for example, mycompany.com) |
| id | xs:long | no | Unique and permanent identifier, which is the same value as the id attribute on the <document> element. |
| mediatype | xs:string | no | Document media type (for example, text/html) |
| modified | xs:dateTime | no | Date time the document URI was last modified in ISO 8601 format (for example, 2012-05-23T15:33:52+10:00) |
| path | xs:string | no | Document URI path (for example, /ps/acme/specs/product.xml) |
| port | xs:integer | no | Document URI port number (for example, 80, 443) |
| scheme | xs:string | no | Document URI scheme (for example, http, https) |
| size | xs:long | The file size in bytes (non-PSML only) | |
| source | enum | no | Whether the URL is to the PageSeeder UI or is virtual, can be pageseeder or virtual. |
| title | document-title | no | The title of the URI |
| urltype | document-type | no | URL type (external URIs only) |
@archived
A boolean flag indicating whether the document is archived. INFORMATIONAL - ignored by upload.
This attribute was introduced in PSML v1.3 in PageSeeder 5.99.
@created
Date and time the document URI was created in ISO 8601 date time format including the timezone. Uploading documents does not affect this field. INFORMATIONAL - ignored by upload.
For example: 2012-05-23T15:33:52+10:00
@decodedpath
The path of the document URI in its URL-decoded form. INFORMATIONAL - ignored by upload.
For example: /ps/acme/specs/my product.psml
@docid
The Doc ID of the document (not used for external URIs) .
It can only contain alphanumeric characters, hyphens and underscores.
The Doc ID is a system-wide ID that is guaranteed to be unique within a URI host, but can be used as a public identifier for the document.
@documenttype
The document type of the document, if any. Used by upload if no document/@type.
It can only contain alphanumeric characters and underscores.
@external
A boolean flag indicating whether the URI refers to a PageSeeder URL instead of a regular document. INFORMATIONAL - ignored by upload.
@folder
A boolean flag indicating whether the URI refers to a folder instead of a regular document – only used for URLs (external URIs).
This attribute is deprecated as of PageSeeder v5.99.
@host
The document URI host. INFORMATIONAL - ignored by upload.
@id
The URI ID of the document. INFORMATIONAL - ignored by upload.
The URI is a unique, system-wide, document ID that is meaningful only to the PageSeeder instance that creates it.
@mediatype
The media type of the document. INFORMATIONAL - ignored by upload.
All PSML documents have the media type: application/vnd.pageseeder.psml+xml
@modified
The last time the document was modified in ISO 8601 date time format. Any edit, note, reverse xref or version updates this field. INFORMATIONAL - ignored by upload.
@path
The URL-encoded path of the document URI. INFORMATIONAL - ignored by upload.
For example: /ps/acme/specs/my%20product.psml
@port
The port for the document URI. INFORMATIONAL - ignored by upload.
@scheme
The scheme for the document URI. INFORMATIONAL - ignored by upload.
@size
The file size in bytes (non-PSML documents only). INFORMATIONAL - ignored by upload.
@source
Whether the URL is to the PageSeeder UI or is virtual, can be pageseeder or virtual.
This attribute was introduced in PSML v1.3 in PageSeeder 5.99.
@title
An optional attribute to specify a title for the document URI.
Generally, it is better to use the <displaytitle> element, because for documents without a specific title, the system will fall back to the filename.
@urltype
For external URIs only, this optional attribute can specify the URL type of the document. If this value is present, the upload will use it when there is nodocument/@type.
It can only contain alphanumeric characters and underscores.
This attribute was introduced in PSML v1.3 in PageSeeder 5.99.
Examples
Schema
XML Schema
<xs:element name="uri">
<xs:complexType>
<xs:all>
<xs:element name="displaytitle"
type="xs:string"
minOccurs="0"/>
<xs:element name="description"
type="xs:string"
minOccurs="0"/>
<xs:element ref="labels" minOccurs="0"/>
</xs:all>
<xs:attribute name="archived" type="xs:boolean"/>
<xs:attribute name="id" type="xs:long"/>
<xs:attribute name="docid" type="document-id" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="scheme" type="xs:string"/>
<xs:attribute name="host" type="xs:string"/>
<xs:attribute name="port" type="xs:integer"/>
<xs:attribute name="path" type="xs:string"/>
<xs:attribute name="decodedpath" type="xs:string"/>
<xs:attribute name="title" type="xs:string">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="created" type="xs:string" use="optional"/>
<xs:attribute name="modified" type="xs:string" use="optional"/>
<xs:attribute name="documenttype"
type="document-type"
use="optional"/>
<xs:attribute name="mediatype" type="xs:string" use="optional"/>
<xs:attribute name="external" type="xs:boolean" use="optional"/>
<xs:attribute name="folder" type="xs:boolean" use="optional"/>
<xs:attribute name="size" type="xs:long" use="optional"/>
<xs:attribute name="urltype" type="xs:string"/>
<xs:attribute name="source">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="pageseeder" />
<xs:enumeration value="virtual" />
</xs:restriction>
<xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
Relax Schema
element uri {
attribute archived { xs:boolean }?,
attribute id { xs:long } ,
attribute docid { document-id { maxLength = "100" } }?,
attribute scheme { text },
attribute host { text },
attribute port { xs:integer },
attribute path { text },
attribute decodedpath { text },
attribute title { text { maxLength = "250"} },
attribute created { xs:dateTime }?,
attribute modified { xs:dateTime }?,
attribute documenttype { document-type }?,
attribute mediatype { text }?,
attribute external { xs:boolean },
attribute folder { xs:boolean },
attribute size { xs:long },
attribute urltype { text }?,
attribute source { text }?,
element displaytitle?,
element description?,
element labels?
}
Compatibility
This element was introduced in the first draft of PSML and is well-supported from PageSeeder 5.1.
This archived, urlsource and source attributes were introduced in PSML v1.3 in PageSeeder 5.99.
The folder attribute is deprecated since PageSeeder v5.99.