Sun Java System Portal Server 6 2004Q2 管理員指南 |
附錄 B
XML 參照Sun Java System Portal Server 會將其服務註冊於 Sun Java System Identity Server 服務管理系統 (SMS) 框架中。這發生於 Sun Java System Portal Server 安裝之前與 Sun Java System Identity Server 安裝之後。
SMS 會提供服務機制以定義與管理其配置資料,方法是使用附於 SMS「文件類型定義 (DTD)」中的「可延伸標記語言 (XML)」檔案。藉由 XML 檔案對配置參數進行的定義稱為服務的模式。每個 Sun Java System Portal Server 服務 (桌面、Netmail、Rewriter 和搜尋) 都有其本身的 XML 和特性檔案,用於展示與修改服務特定的資料。
框架 Sun Java System Identity Server 之中,Sun Java System Portal Server 會定義與下列功能區相關的服務:
- 桌面 — SunPortalDesktopService 包含與桌面元件相關的資料,包含顯示設定檔及與桌面相關的其他配置參數。
- 搜尋引擎 — SunPortalSearchService 會定義與搜尋元件相關的資料,例如搜尋人員與搜尋實例。可以定義一個或多個搜尋服務實例。
- NetMail — SunPortalNetMailService 包括與 NetMail 應用程式相關的資料,主要由使用者喜好設定組成。
- Rewriter — SunPortalRewriterService 包括與 Rewriter 元件相關的資訊,包括控制改寫作業的已命名規則組。Rewriter API 會參照儲存於目錄中的已命名規則組。
除此之外,Sun Java System Portal Server 也會使用其他 DTD 定義顯示設定檔與 Rewriter 規則集的 LDAP 屬性。
顯示設定檔文件類型定義 (DTD) 會定義如何建構「顯示設定檔」。顯示設定檔文件的基本格式為 XML。這是用來定義桌面的顯示配置。執行此作業的方法是定義供應商、portlet、通道物件與其特性。請參閱第 7 章,「管理顯示設定檔」以取得更多關於顯示設定檔的資訊。
Rewriter 規則集 DTD 會定義規則集的結構。Rewriter 會包括預設規則集。第 9 章,「管理 Rewriter 服務」會給予更多關於 Rewriter 的詳細資訊與其如何使用規則集。
此附錄會提供用於定義 Sun Java System Portal Server 服務的不同 XML 檔案的檔案清單。包含以下小節:
Sun Java System Portal Server 桌面服務定義使用預設安裝,可以在 /opt/SUNWam/dtd/sms.dtd 檔案中找到「服務管理服務文件類型定義」。Portal Server 桌面 服務定義位於 /opt/SUNWps/export/psDesktop.xml 檔案中。
Sun Java System Portal Server NetMail 服務定義使用預設安裝,可以在 /opt/SUNWam/dtd/sms.dtd 檔案中找到「服務管理服務文件類型定義」。Portal Server NetMail 服務定義位於 /opt/SUNWps/export/psNetMail.xml 檔案中。
程式碼範例 B-2 NetMail 服務定義
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2001 Sun Microsystems, Inc. All rights reserved.
PROPRIETARY/CONFIDENTIAL.Use of this product is subject to license terms.
Sun Java System Portal Server NetMail Service Definition
-->
<!--
FIXME(P@):replace below DTD path with a token that can
be substituted by postinstall script
-->
<!DOCTYPE ServicesConfiguration
PUBLIC "=//Sun Java System//Service Management Services (SMS) 1.0 DTD//EN"
"file:/opt/SUNWam/dtd/sms.dtd">
<ServicesConfiguration>
<Service name="SunPortalNetMailService" version="1.0">
<Schema
i18nFileName="psNetMail"
serviceHierarchy="/ps.configuration/SunPortalNetMailService"
i18nKey="sunPortalNetmailServiceDescription">
<Global>
<AttributeSchema name="serviceObjectClasses"
type="list"
syntax="string"
i18nKey="">
<DefaultValues>
<Value>sunPortalNetmailPerson</Value>
</DefaultValues>
</AttributeSchema>
</Global>
<Dynamic>
<AttributeSchema name="sunPortalNetmailIMAPServerName"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a01">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSMTPServerName"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a02">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailDefaultMailDomain"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a03">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailRootFolder"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a04">
<DefaultValues>
<Value>Mail</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSentMessagesFolder"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a15">
<DefaultValues>
<Value>Mail/Sent</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithAuthor"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a20">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithDate"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a21">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithBody"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a22">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailIndentPrefix"
type="single"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a18">
<DefaultValues>
<Value>></Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAddSignature"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a19">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInitialHeaders"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a07">
<DefaultValues>
<Value>10</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInactivityInterval"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a09">
<DefaultValues>
<Value>5</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMaxAttachLen"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a10">
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoload"
type="single_choice"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a11">
<ChoiceValues>
<ChoiceValue i18nKey="autoload.All">0</ChoiceValue>
<ChoiceValue i18nKey="autoload.None">1</ChoiceValue>
<ChoiceValue i18nKey="autoload.New">2</ChoiceValue>
<ChoiceValue i18nKey="autoload.Unread">3</ChoiceValue>
<ChoiceValue i18nKey="autoload.New_and_Unread">4</ChoiceValue>
<ChoiceValue i18nKey="autoload.Found">5</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutosave"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a17">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutopurge"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a14">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoFolderLoad"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a05">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMultipleReadWindows"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a13">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailHeadersPerPage"
type="single"
syntax="numeric"
cosQualifier="default"
any="display"
i18nKey="a08">
<DefaultValues>
<Value>10</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailNewestFirst"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a12">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailNoPrefsList"
type="multiple_choice"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a23">
<ChoiceValues>
<ChoiceValue>IMAPServerName</ChoiceValue>
<ChoiceValue>IMAPUserName</ChoiceValue>
<ChoiceValue>IMAPPassword</ChoiceValue>
<ChoiceValue>SMTPMailServer</ChoiceValue>
<ChoiceValue>rootFolder</ChoiceValue>
<ChoiceValue>inactivityInterval</ChoiceValue>
<ChoiceValue>initialHeaders</ChoiceValue>
<ChoiceValue>multipleReadWindows</ChoiceValue>
<ChoiceValue>resetSize</ChoiceValue>
<ChoiceValue>autopurge</ChoiceValue>
<ChoiceValue>replyToAddress</ChoiceValue>
<ChoiceValue>indentPrefix</ChoiceValue>
<ChoiceValue>replyFields</ChoiceValue>
<ChoiceValue>saveSentMessages</ChoiceValue>
<ChoiceValue>sentMessagesFolder</ChoiceValue>
<ChoiceValue>signature</ChoiceValue>
<ChoiceValue>autosave</ChoiceValue>
<ChoiceValue>autoFolderLoad</ChoiceValue>
<ChoiceValue>autoload</ChoiceValue>
<ChoiceValue>maxAttachLen</ChoiceValue>
<ChoiceValue>textStyle</ChoiceValue>
<ChoiceValue>textSize</ChoiceValue>
<ChoiceValue>textColor</ChoiceValue>
<ChoiceValue>backgroundColor</ChoiceValue>
</ChoiceValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailLDAPServers"
type="list"
syntax="string"
cosQualifier="default"
any="display"
i18nKey="a06">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailLogMessages"
type="single"
syntax="boolean"
cosQualifier="default"
any="display"
i18nKey="a16">
<DefaultValues>
<Value>false</Value>
</DefaultValues>
</AttributeSchema>
</Dynamic>
<Policy>
<ActionSchema name="sunPortalNetmailExecutable"
type="single"
syntax="boolean"
any="display"
cosQualifier="default"
i18nKey="p1">
<DefaultValues>
<Value>true</Value>
</DefaultValues>
</ActionSchema>
</Policy>
<User>
<AttributeSchema name="sunPortalNetmailIMAPUserid"
type="single"
syntax="string"
any="display"
i18nKey="u1">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailIMAPPassword"
type="single"
syntax="encrypted_password"
any="display"
i18nKey="u2">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyToAddress"
type="single"
syntax="string"
any="display"
i18nKey="u3">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSignature"
type="single"
syntax="paragraph"
any="display"
i18nKey="u4">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailFavoriteFolders"
type="list"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailPersonalAddressBook"
type="list"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<!-- attributes duplicated from the dynamic section -->
<AttributeSchema name="sunPortalNetmailIMAPServerName"
type="single"
syntax="string"
any="display"
i18nKey="a01">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSMTPServerName"
type="single"
syntax="string"
any="display"
i18nKey="a02">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailDefaultMailDomain"
type="single"
syntax="string"
any="display"
i18nKey="a03">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailRootFolder"
type="single"
syntax="string"
any="display"
i18nKey="a04">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSentMessagesFolder"
type="single"
syntax="string"
any="display"
i18nKey="a15">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithAuthor"
type="single"
syntax="boolean"
any="display"
i18nKey="a20">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithDate"
type="single"
syntax="boolean"
any="display"
i18nKey="a21">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReplyWithBody"
type="single"
syntax="boolean"
any="display"
i18nKey="a22">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailIndentPrefix"
type="single"
syntax="string"
any="display"
i18nKey="a18">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAddSignature"
type="single"
syntax="boolean"
any="display"
i18nKey="a19">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInitialHeaders"
type="single"
syntax="numeric"
any="display"
i18nKey="a07">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailInactivityInterval"
type="single"
syntax="numeric"
any="display"
i18nKey="a09">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMaxAttachLen"
type="single"
syntax="numeric"
any="display"
i18nKey="a10">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoload"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="a11">
<ChoiceValues>
<ChoiceValue i18nKey="autoload.All">0</ChoiceValue>
<ChoiceValue i18nKey="autoload.None">1</ChoiceValue>
<ChoiceValue i18nKey="autoload.New">2</ChoiceValue>
<ChoiceValue i18nKey="autoload.Unread">3</ChoiceValue>
<ChoiceValue i18nKey="autoload.New_and_Unread">4</ChoiceValue>
<ChoiceValue i18nKey="autoload.Found">5</ChoiceValue>
</ChoiceValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutosave"
type="single"
syntax="boolean"
any="display"
i18nKey="a17">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutopurge"
type="single"
syntax="boolean"
any="display"
i18nKey="a14">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailAutoFolderLoad"
type="single"
syntax="boolean"
any="display"
i18nKey="a05">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailMultipleReadWindows"
type="single"
syntax="boolean"
any="display"
i18nKey="a13">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailSortKey"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="sort-key.IMAP_Number">0</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Status">1</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Cached">2</ChoiceValue>
<ChoiceValue i18nKey="sort-key.From">3</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Size">4</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Date">5</ChoiceValue>
<ChoiceValue i18nKey="sort-key.Subject">6</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailViewKey"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="view-key.All">0</ChoiceValue>
<ChoiceValue i18nKey="view-key.New">1</ChoiceValue>
<ChoiceValue i18nKey="view-key.Non-deleted">2</ChoiceValue>
<ChoiceValue i18nKey="view-key.Cached">3</ChoiceValue>
<ChoiceValue i18nKey="view-key.Non-cached">4</ChoiceValue>
<ChoiceValue i18nKey="view-key.Found">5</ChoiceValue>
<ChoiceValue i18nKey="view-key.Unread">6</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailComposeWinBounds"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailFolderWinBounds"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailReadWinBounds"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailGridHeight"
type="single"
syntax="numeric"
any="display"
i18nKey="">
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailGridColWidths"
type="single"
syntax="string"
any="display"
i18nKey="">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailTextColor"
type="single_choice"
syntax="number"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="white">-1</ChoiceValue>
<ChoiceValue i18nKey="pink">-20561</ChoiceValue>
<ChoiceValue i18nKey="red">-65536</ChoiceValue>
<ChoiceValue i18nKey="orange">-14336</ChoiceValue>
<ChoiceValue i18nKey="yellow">-256</ChoiceValue>
<ChoiceValue i18nKey="green">-16711936</ChoiceValue>
<ChoiceValue i18nKey="cyan">-16711681</ChoiceValue>
<ChoiceValue i18nKey="blue">-16776961</ChoiceValue>
<ChoiceValue i18nKey="magenta">-65281</ChoiceValue>
<ChoiceValue i18nKey="lightGray">-4144960</ChoiceValue>
<ChoiceValue i18nKey="darkGray">-12566464</ChoiceValue>
<ChoiceValue i18nKey="black">-16777216</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>-16777216</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailBackgroundColor"
type="single_choice"
syntax="number"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="white">-1</ChoiceValue>
<ChoiceValue i18nKey="pink">-20561</ChoiceValue>
<ChoiceValue i18nKey="red">-65536</ChoiceValue>
<ChoiceValue i18nKey="orange">-14336</ChoiceValue>
<ChoiceValue i18nKey="yellow">-256</ChoiceValue>
<ChoiceValue i18nKey="green">-16711936</ChoiceValue>
<ChoiceValue i18nKey="cyan">-16711681</ChoiceValue>
<ChoiceValue i18nKey="blue">-16776961</ChoiceValue>
<ChoiceValue i18nKey="magenta">-65281</ChoiceValue>
<ChoiceValue i18nKey="lightGray">-4144960</ChoiceValue>
<ChoiceValue i18nKey="darkGray">-12566464</ChoiceValue>
<ChoiceValue i18nKey="black">-16777216</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>-1</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailTextSize"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue>8</ChoiceValue>
<ChoiceValue>10</ChoiceValue>
<ChoiceValue>12</ChoiceValue>
<ChoiceValue>14</ChoiceValue>
<ChoiceValue>16</ChoiceValue>
<ChoiceValue>18</ChoiceValue>
<ChoiceValue>20</ChoiceValue>
<ChoiceValue>24</ChoiceValue>
<ChoiceValue>28</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>12</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailTextStyle"
type="single_choice"
syntax="numeric"
any="display"
i18nKey="">
<ChoiceValues>
<ChoiceValue i18nKey="plain">0</ChoiceValue>
<ChoiceValue i18nKey="bold">1</ChoiceValue>
<ChoiceValue i18nKey="italic">2</ChoiceValue>
<ChoiceValue i18nKey="bold_italic">3</ChoiceValue>
</ChoiceValues>
<DefaultValues>
<Value>0</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailHeadersPerPage"
type="single"
syntax="numeric"
any="display"
i18nKey="a08">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailNewestFirst"
type="single"
syntax="boolean"
any="display"
i18nKey="a12">
</AttributeSchema>
<AttributeSchema name="sunPortalNetmailLogMessages"
type="single"
syntax="boolean"
any="display"
i18nKey="a16">
</AttributeSchema>
</User>
</Schema>
</Service>
</ServicesConfiguration>
Sun Java System Portal Server Rewriter 服務定義使用預設安裝,可以在 /opt/SUNWam/dtd/sms.dtd 檔案中找到「服務管理服務文件類型定義」。Portal Server Rewriter服務定義位於 /opt/SUNWps/export/psRewriter.xml 檔案中。
程式碼範例 B-3 Rewriter 服務定義
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2001 Sun Microsystems, Inc. All rights reserved.
PROPRIETARY/CONFIDENTIAL.Use of this product is subject to license terms.
-->
<!DOCTYPE ServicesConfiguration
PUBLIC "=//Sun Java System//Service Management Services (SMS) 1.0 DTD//EN"
"jar://com/iplanet/sm/sms.dtd">
<ServicesConfiguration>
<Service name="SunPortalRewriterService" version="1.0">
<Schema serviceHierarchy="/ps.configuration/SunPortalRewriterService"
propertiesViewBeanURL="/portal/rwadmin/SelectRule"
i18nFileName="psRewriter"
i18nKey="sunPortalRewriterServiceDescription">
<Global>
<SubSchema name="SunPortalRewriterGlobal">
<SubSchema name="SunPortalRewriterRuleSets" inheritance="multiple">
<AttributeSchema name="sunPortalRewriterRuleset" syntax="xml" />
</SubSchema>
</SubSchema>
</Global>
</Schema>
<Configuration>
<GlobalConfiguration>
<SubConfiguration name="SunPortalRewriterGlobal">
</SubConfiguration>
</GlobalConfiguration>
</Configuration>
</Service>
</ServicesConfiguration>
Sun Java System Portal Server 搜尋服務定義使用預設安裝,可以在 /opt/SUNWam/dtd/sms.dtd 檔案中找到「服務管理服務文件類型定義」。Portal Server 搜尋服務定義位於 /opt/SUNWps/export/psSearch.xml 檔案中。
程式碼範例 B-4 搜尋服務定義
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
Copyright 2001 Sun Microsystems, Inc. All rights reserved.
PROPRIETARY/CONFIDENTIAL.Use of this product is subject to license terms.
Sun Java System Portal Server Search Service Definition
-->
<!DOCTYPE ServicesConfiguration
PUBLIC "=//Sun Java System//Service Management Services (SMS) 1.0 DTD//EN"
"file:/opt/SUNWam/dtd/sms.dtd">
<ServicesConfiguration>
<Service name="SunPortalSearchService" version="1.0">
<Schema
serviceHierarchy="/ps.configuration/SunPortalSearchService"
propertiesViewBeanURL="/portal/searchadmin/"
i18nFileName="psSearch"
i18nKey="sunPortalSearchServiceDescription">
<Global>
<AttributeSchema name="serviceObjectClasses"
type="list"
syntax="string"
i18nKey="">
<DefaultValues>
<Value>sunPortalSearchPerson</Value>
</DefaultValues>
</AttributeSchema>
<AttributeSchema name="sunPortalSearchInstances"
type="list"
syntax="string"
i18nKey="cs_instances">
<DefaultValues>
</DefaultValues>
</AttributeSchema>
</Global>
</Schema>
</Service>
</ServicesConfiguration>
顯示設定檔 DTD在預設安裝中,顯示設定檔DTD 位於 /opt/SUNWps/dtd/psdp.dtd 檔案中。
程式碼範例 B-5 顯示設定檔 DTD
<!ELEMENT DisplayProfile
(
Properties,
Channels,
Providers
)
>
<!ATTLIST DisplayProfile
xmlns:DisplayProfile CDATA #FIXED 'http://www.iplanet.com'
name CDATA #FIXED "_root"
version CDATA #REQUIRED
merge (replace|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
priority CDATA #REQUIRED
>
<!ELEMENT Channels
(
(Container|Channel)*
)
>
<!ATTLIST Channels
>
<!ELEMENT Providers
(
(Provider)*
)
>
<!ATTLIST Providers
>
<!ELEMENT Provider
(
Properties
)
>
<!ATTLIST Provider
name CDATA #REQUIRED
class CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Channel
(
Properties
)
>
<!ATTLIST Channel
name CDATA #REQUIRED
provider CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Container
(
Properties,
Available,
Selected,
Channels
)
>
<!ATTLIST Container
name CDATA #REQUIRED
provider CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Available
(Reference*)
>
<!ATTLIST Available
merge (replace|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Selected
(Reference*)
>
<!ATTLIST Selected
merge (replace|fuse) "fuse"
lock (true|false) "false"
advanced (true|false) "false"
>
<!ELEMENT Properties
(
Collection|
Integer|
String|
Boolean|
Locale
)*
>
<!ATTLIST Properties
name CDATA #FIXED "_properties"
merge (replace|fuse) "fuse"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Locale
(
Collection|
Integer|
String|
Boolean
)*
>
<!ATTLIST Locale
language CDATA #IMPLIED
country CDATA #IMPLIED
variant CDATA #IMPLIED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Collection
(
Collection|
Integer|
String|
Boolean
)*
>
<!ATTLIST Collection
name CDATA #REQUIRED
merge (replace|remove|fuse) "fuse"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Integer EMPTY>
<!ATTLIST Integer
name CDATA #IMPLIED
value CDATA #REQUIRED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT String (#PCDATA)>
<!ATTLIST String
name CDATA #IMPLIED
value CDATA #IMPLIED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Reference EMPTY>
<!ATTLIST Reference
value CDATA #REQUIRED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT Boolean EMPTY>
<!ATTLIST Boolean
name CDATA #IMPLIED
value (true|false) #REQUIRED
merge (replace|remove) "replace"
lock (true|false) "false"
propagate (true|false) "true"
advanced (true|false) "false"
>
<!ELEMENT ParEntry
(
Description?,
Provider?,
Channel?
)
>
<!ATTLIST ParEntry
xmlns:ParEntry CDATA #FIXED 'http://www.iplanet.com'
name CDATA #REQUIRED
version CDATA #REQUIRED
date CDATA #REQUIRED
author CDATA #REQUIRED
requiredClass CDATA #REQUIRED
>
<!ELEMENT Description (#PCDATA) >
Rewriter 規則集 DTD預設安裝中,Rewriter 規則集 DTD 位於resources/RuleSet.dtd 下的 /opt/SUNWps/web-src/WEB-INF/lib/rewriter.jar jar 檔案中。
程式碼範例 B-6 Rewriter 規則集 DTD
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % gtype 'GROUPED'>
<!ENTITY % stype 'SCATTERED'>
<!ENTITY % jURL 'URL'>
<!ENTITY % jEXPRESSION 'EXPRESSION'>
<!ENTITY % jDHTML 'DHTML'>
<!ENTITY % jDJS 'DJS'>
<!ENTITY % jSYSTEM 'SYSTEM'>
<!ENTITY % ruleSetElements '(HTMLRules | JSRules | XMLRules)? '>
<!ENTITY % htmlElements '(Form | Applet | Attribute | JSToken)*'>
<!ENTITY % jsElements '(Variable | Function)*'>
<!ENTITY % xmlElements '(Attribute | TagText)*'>
<!ELEMENT RuleSet (%ruleSetElements;,%ruleSetElements;,%ruleSetElements;)>
<!ATTLIST RuleSet
type (%gtype; | %stype;) "GROUPED"
id ID #REQUIRED
>
<!ELEMENT HTMLRules (%htmlElements;)>
<!ATTLIST HTMLRules
type (%gtype; | %stype;) "GROUPED"
id CDATA "html_rules"
>
<!ELEMENT Form EMPTY>
<!ATTLIST Form
source CDATA #REQUIRED
name CDATA #REQUIRED
field CDATA #REQUIRED
valuePatterns CDATA ""
>
<!ELEMENT JSToken (#PCDATA)>
<!ELEMENT Applet EMPTY>
<!ATTLIST Applet
source CDATA #REQUIRED
code CDATA #REQUIRED
param CDATA "*"
valuePatterns CDATA ""
>
<!ELEMENT JSRules (%jsElements;)>
<!ATTLIST JSRules
type (%gtype; | %stype;) "GROUPED"
id CDATA "js_rules"
>
<!ELEMENT Variable (#PCDATA)>
<!ATTLIST Variable
type (%jURL; | %jEXPRESSION; | %jDHTML; | %jDJS; | %jSYSTEM;) "URL"
>
<!ELEMENT Function EMPTY>
<!ATTLIST Function
type (%jURL; | %jEXPRESSION; | %jDHTML; | %jDJS;) "URL"
name CDATA #REQUIRED
paramPatterns CDATA #REQUIRED
>
<!ELEMENT XMLRules (%xmlElements;)>
<!ATTLIST XMLRules
type (%gtype; | %stype;) "GROUPED"
id CDATA "xml_rules"
>
<!ELEMENT TagText EMPTY>
<!ATTLIST TagText
tag CDATA #REQUIRED
attributePatterns CDATA ""
>
<!ELEMENT Attribute EMPTY>
<!ATTLIST Attribute
name CDATA #REQUIRED
tag CDATA "*"
valuePatterns CDATA ""
>
預設規則集預設安裝中,預設規則集位於 resources/DefaultRuleSet.xml 下的 /opt/SUNWps/web-src/WEB-INF/lib/rewriter.jar jar 檔案中。這個檔案也位於 /opt/SUNWps/export 目錄中。
程式碼範例 B-7 預設規則集
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE RuleSet SYSTEM "jar://rewriter.jar/resources/RuleSet.dtd">
<RuleSet id="default_ruleset">
<!-- Rules for Rewriting HTML Source -->
<HTMLRules>
<!-- Rules for Rewriting Form Input/Option Values List -->
<!-- Rules for Rewriting Applet/Object Parameter Values List -->
<!-- Rules for Rewriting HTML Attributes -->
<Attribute name="action" />
<Attribute name="background" />
<Attribute name="codebase" />
<Attribute name="code" />
<Attribute name="href" />
<Attribute name="src" />
<Attribute name="value" />
<Attribute name="imagePath" />
<Attribute name="lowsrc" />
<Attribute name="archive" valuePatterns="***;**,**,**,**,**,**,**,**,**,**,**,**"/>
<Attribute name="style" />
<Attribute name="content" tag="meta" />
<!-- Rules for Rewriting HTML Attributes containing Java Script -->
<JSToken>onAbort</JSToken>
<JSToken>onBlur</JSToken>
<JSToken>onChange</JSToken>
<JSToken>onClick</JSToken>
<JSToken>onDblClick</JSToken>
<JSToken>onError</JSToken>
<JSToken>onFocus</JSToken>
<JSToken>onKeyDown</JSToken>
<JSToken>onKeyPress</JSToken>
<JSToken>onKeyUp</JSToken>
<JSToken>onLoad</JSToken>
<JSToken>onMouseDown</JSToken>
<JSToken>onMouseMove</JSToken>
<JSToken>onMouseOut</JSToken>
<JSToken>onMouseOver</JSToken>
<JSToken>onMouseUp</JSToken>
<JSToken>onReset</JSToken>
<JSToken>onSelect</JSToken>
<JSToken>onSubmit</JSToken>
<JSToken>onUnload</JSToken>
</HTMLRules>
<!-- Rules for Rewriting JavaScript Source -->
<JSRules>
<!-- Rules for Rewriting JavaScript variables in URLs -->
<Variable type="URL"> imgsrc </Variable>
<Variable type="URL"> location.href </Variable>
<Variable type="URL"> _fr.location </Variable>
<Variable type="URL"> mf.location </Variable>
<Variable type="URL"> parent.location </Variable>
<Variable type="URL"> self.location </Variable>
<Variable type="EXPRESSION"> location </Variable>
<Variable type="SYSTEM"> window.location.pathname </Variable>
<!-- Rules for Rewriting JavaScript Function Parameters -->
<Function type="URL" name="openURL" paramPatterns="y"/>
<Function type="URL" name="openAppURL" paramPatterns="y"/>
<Function type="URL" name="openNewWindow" paramPatterns="y"/>
<Function type="URL" name="parent.openNewWindow" paramPatterns="y"/>
<Function type="URL" name="window.open" paramPatterns="y"/>
<Function type="DHTML" name="document.write" paramPatterns="y"/>
<Function type="DHTML" name="document.writeln" paramPatterns="y"/>
</JSRules>
<!-- Rules for Rewriting XML Source -->
<XMLRules>
<!-- Rules for Rewriting Attributes -->
<Attribute name="xmlns"/>
<Attribute name="href" tag="a"/>
<!-- Rules for Rewriting TagText -->
<TagText tag="baseroot" />
<TagText tag="img" />
</XMLRules>
</RuleSet>