#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
#
# urls start with the following will be treated as external urls, use | to sperate 
#
#externalUrl_startWith=http://|https://|ftp://
# see all the possible protocals at:
# http://www.iana.org/assignments/uri-schemes.html
externalUrl_startWith=[a-zA-Z0-9\\.]{1,15}://

# XSL Stylesheet Mapping for the Method Elements.

# Core Method Elements
artifact=artifact.xsl
deliverable=deliverable.xsl
outcome=outcome.xsl
role=role.xsl
task=task.xsl

# Guidance
checklist=checklist.xsl
concept=guidance.xsl
example=guidance_with_attachment.xsl
guideline=guidance.xsl
practice=practice.xsl
report=guidance.xsl
roadmap=guidance.xsl
reusableasset=guidance_with_attachment.xsl
supportingmaterial=guidance.xsl
template=guidance_with_attachment.xsl
termdefinition=guidance.xsl
toolmentor=guidance.xsl
whitepaper=guidance_with_attachment.xsl
estimationconsiderations=guidance.xsl

# Content Categories
customcategory=contentcategory.xsl
discipline=contentcategory.xsl
disciplinegrouping=contentcategory.xsl
domain=contentcategory.xsl
roleset=contentcategory.xsl
rolesetgrouping=contentcategory.xsl
tool=contentcategory.xsl
workproducttype=contentcategory.xsl

# Process Elements
# activity layout use the default tab layout xsl
#was using a refresh to show the default page
#but caused problem in the navigation history back/forward in browsing
#so switch to the old way to generate the default layout using the set default tab
#
#activity=activity.xsl
#capabilitypattern=activity.xsl
#deliveryprocess=activity.xsl
#iteration=activity.xsl
#phase=activity.xsl
#process=activity.xsl
#processcontribution=activity.xsl

# Descriptors
compositerole=compositerole.xsl
milestone=milestone.xsl
roledescriptor=role_descriptor.xsl
taskdescriptor=task_descriptor.xsl
teamprofile=teamprofile.xsl
workproductdescriptor=artifact_descriptor.xsl

# Misc
default=default.xsl
general=general.xsl
page_not_installed=page_not_installed.xsl
