File này định nghĩa thông tin mà portlet container cần để thực thi portlet. Mỗi portlet được định nghĩa bởi một mô tả triển khai portlet.xml, portlet container sẽ sinh ra một đối tượng đơn của lớp portlet để phục vụ cho tất cả các yêu cầu đến portlet đó. Điều này tương tự như một hành vi của trình chứa sevlet.
<portlet-app> <portlet>
<portlet-name>Tên portlet</portlet-name>
<portlet-class>Lớp cài đặt portlet</portlet-class> <init-param>
<name>Tên tham số khởi chạy</name> <value>Giá trị tham số khởi chạy</value> </init-param>
[<expiration-cache>Thời gian cache nội dung portlet</expiration-cache>] <supports>
<mime-type>Kiểu nội dung portlet hỗ trợ (text/html,.)</mime-type> <portlet-mode>view</portlet-mode>
</supports>
[<supported-locale>Bản địa portlet hỗ trợ</supported-locale>] <portlet-info>
<title>Tiêu đề của portlet</title>
[<short-title>Tiêu đề vắn tắt của portlet</short-title> <keywords>Từ khóa của portlet</keywords>]
</portlet-info> </portlet> </portlet-app>
Portlet.xml là một file theo chuẩn xml. Có một phần tử gốc là portlet-app và một hoặc nhiều phần tử con là portlet. Mỗi phần tử con portlet thường gồm có các phần tử sau:
Các phần tử portlet-name, portlet-class và init-param định nghĩa tên, lớp và các tham số khởi chạy cho portlet.
Phần tử expiration-cache định nghĩa thời gian mà portal/portlet container sẽ cache nội dung được tạo bởi portlet. Nếu không thiết lập thuộc tính expiration-cache thì giá trị mặc định sẽ được sử dụng.
Phần tử supports định nghĩa các kiểu nội dung mà portlet hỗ trợ và các chế độ hỗ trợ cho kiểu nội dung. Portal/portal container sẽ không triệu gọi một portal trong các chế độ mà portal không có định nghĩa kiểu hỗ trợ.
Phần tử portlet-info định nghĩa thông tin như là tiêu đề mặc định cho portlet.
Phần tử portlet-preferences định nghĩa các giá trị mặc định cho các thiết lập ưu tiên (preferences) portlet.