Skip to main content

 Element reference

Service API elements from <alias> to <workflow>

<uri>

Summary

Represents a URI object in PageSeeder. A URI can be either internal, in which case it is a document object or external, in which case it is URL object.

Usage context

Permitted content<displaytitle>, <description>, <labels>, <sharing>
Permitted parent<uris>

Attributes

This element includes the following attributes:

NameTypeRequiredDescription
archivedbooleannoIf true, this URI is archived (for URLs only)
createdxs:dateTimenoDate time the URI was created in ISO 8601 format (for example, 2012-05-23T15:33:52+10:00)
decodedpathxs:stringyesURI path not URL encoded (for example, /ps/acme/specs/my product.xml)
dociddocument-idnoUser entered unique document identifier (not for URLs)
documenttypedocument-typenoDocument type (not for URLs)
externalbooleannoIf true, this is a URL
folderbooleannoIf true, this is a folder (for URLs only). Deprecated in PageSeeder v5.99.
hostxs:stringyesURI host (for example, mycompany.com)
idxs:longyesUnique and permanent URI identifier.
mediatypexs:stringnoURI media type (for example, text/html)
modifiedxs:dateTimenoDate time the URI was last modified in ISO 8601 format (for example, 2012-05-23T15:33:52+10:00)
pathxs:stringyesURI path (for example, /ps/acme/specs/product.xml)
portxs:integeryesURI port number (for example, 80, 443)
schemexs:stringyesURI scheme (for example, http, https)
titledocument-titlenoURI title
sizexs:longnoThe file size in bytes (URLs or non-PSML documents only)
urltypedocument-typenoURL type (external URIs only)
sourceenumnoWhether the URL is to the PageSeeder UI or is virtual, can be pageseeder or virtual.

@archived

A boolean flag indicating whether the URI is archived – only used for URLs (external URIs).

@created

Date and time the URI was created in ISO 8601 date time format, including the timezone.

For example: 2012-05-23T15:33:52+10:00

@decodedpath

The path of the URI in its URL-decoded form.

For example: /ps/acme/specs/myproduct.psml

@docid

The Doc ID of the document (not used for URLs).

It can only contain alphanumeric characters, hyphens and underscores.

The Doc ID is a system-wide ID that is guaranteed to be unique within the URI host, but it can be used as a public identifier for the document.

@documenttype

The document type of the document, if any (not used for URLs). 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.

@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 URI host.

@id

The unique ID of the URI.

The URI is a system-wide unique ID for the document that is specific to the PageSeeder instance.

@mediatype

The media type of the URI.

All PSML documents have the media type: application/vnd.pageseeder.psml+xml

@modified

The last time the URI was modified in ISO 8601 date time format. Any edit, note or version  updates this field.

@path

The URL-encoded path of the URI.

@port

The port for the URI.

@scheme

The scheme for the URI.

@title

The title of the URI.

@size

The size in bytes (for non-PSML documents or URL only).

@urltype

The URL type of the document,if any (external URIs only). Used by upload if no document/@type.

It can only contain alphanumeric characters and underscores.

This attribute was introduced in PSML v1.3 in PageSeeder 5.99.

@source

Whether the URL is to the PageSeeder UI or is virtual, can be pageseeder or virtual.

This attribute was introduced in PageSeeder 5.99.

Examples

<uri id="602"
     scheme="https"
     host="localhost"
     port="443"
     path="/ps/dev/group/documents/pages/001.psml"
     decodedpath="/ps/dev/group/documents/pages/001.psml"
     mediatype="application/vnd.pageseeder.psml+xml"
     documenttype="page"
     created="2017-03-01T17:31:25+11:00"
     modified="2017-03-02T16:19:22+11:00"
     title="Page 001">
  <displaytitle>Page 001</displaytitle>
</uri>
<uri id="723"
     scheme="https"
     host="api.example.org"
     port="443"
     path="/services/account/create.html"
     decodedpath="/services/account/create.html"
     external="true"
     created="2017-03-03T12:03:26+11:00"
     modified="2020-04-14T12:41:17+11:00"
     title="POST account – API">
  <displaytitle>POST account – API
  </displaytitle>
  <description>An example of external URI.</description>
</uri>

Schema

XML Schema

<xs:element name="uri" type="uri-type" />

<xs:complexType name="uri">
  <xs:all>
    <xs:element name="displaytitle" type="xs:string" minOccurs="1"/>
    <xs:element name="description"  type="xs:string" minOccurs="0"/>
    <xs:element ref="labels" minOccurs="0"/>
  </xs:all>
  <xs:attribute name="id"         type="xs:long"    use="required"/>
  <xs:attribute name="docid"      type="document-id" />
  <xs:attribute name="scheme"     type="xs:string"  use="required"/>
  <xs:attribute name="host"       type="xs:string"  use="required"/>
  <xs:attribute name="port"       type="xs:integer" use="required"/>
  <xs:attribute name="path"       type="xs:string"  use="required"/>
  <xs:attribute name="decodedpath" type="xs:string" use="required"/>
  <xs:attribute name="title"      type="xs:string" />
  <xs:attribute name="created"    type="xs:string"/>
  <xs:attribute name="modified"   type="xs:string"/>
  <xs:attribute name="documenttype" type="document-type"/>
  <xs:attribute name="mediatype"  type="xs:string"/>
  <xs:attribute name="external"   type="boolean"/>
  <xs:attribute name="folder"     type="boolean"/>
  <xs:attribute name="archived"   type="boolean"/> 
  <xs:attribute name="size"       type="xs:long"/>
  <xs:attribute name="urltype"    type="xs:string"/>
  <xs:attribute name="source"     type="xs:string"/>
</xs:complexType>

 

Compatibility

No change since initial API release.

Created on , last edited on