You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
226 lines
9.4 KiB
226 lines
9.4 KiB
<?xml version="1.0" encoding="utf-8"?> |
|
<!-- |
|
<copyright file="lux.xsd" company="Outercurve Foundation"> |
|
Copyright (c) 2004, Outercurve Foundation. |
|
This software is released under Microsoft Reciprocal License (MS-RL). |
|
The license and further copyright text can be found in the file |
|
LICENSE.TXT at the root directory of the distribution. |
|
</copyright> |
|
--> |
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" |
|
xmlns:html="http://www.w3.org/1999/xhtml" |
|
targetNamespace="http://schemas.microsoft.com/wix/2009/Lux" |
|
xmlns="http://schemas.microsoft.com/wix/2009/Lux"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
The source code schema for the Windows Installer XML Toolset Lux Extension. |
|
</xs:documentation> |
|
</xs:annotation> |
|
|
|
<xs:import namespace="http://schemas.microsoft.com/wix/2006/wi" /> |
|
|
|
<xs:element name="Mutation"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Test mutations let you author unit tests with different expected results. The mutation |
|
id is passed as the value of the WIXLUX_RUNNING_MUTATION property. Your custom action, |
|
typically in an '#ifdef DEBUG' block, can retrieve the WIXLUX_RUNNING_MUTATION property |
|
and hard-code different behavior based on the mutation. To author test mutations, use |
|
the Mutation element with UnitTest elements as children. |
|
</xs:documentation> |
|
<xs:appinfo> |
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" /> |
|
</xs:appinfo> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Child UnitTest elements are validated when the parent mutation is being executed. |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:element ref="UnitTest"/> |
|
</xs:choice> |
|
|
|
<xs:attribute name="Id" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Value of the WIXLUX_RUNNING_MUTATION property set by the mutation. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="UnitTest"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Describes a unit test to be executed against a particular custom action, resulting in a |
|
particular property value. Single-value properties, multi-value properties, and |
|
name/value-pair properties can all be tested declaratively. |
|
</xs:documentation> |
|
<xs:appinfo> |
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2009/Lux" ref="Mutation" /> |
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" /> |
|
</xs:appinfo> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:choice minOccurs="0" maxOccurs="unbounded"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Child UnitTest elements are used to test multi-value properties. Note that Property |
|
and ValueDelimiter or NameValueDelimiter must be specified in the parent element. |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:element ref="Condition"/> |
|
<xs:element ref="Expression"/> |
|
<xs:element ref="UnitTest"/> |
|
</xs:choice> |
|
|
|
<xs:attribute name="Id" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Identifier of the unit test. If you omit this attribute, a stable identifier is generated for you. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="CustomAction" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Identifier of the custom action to be tested. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="Property" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Name of the property set by the custom action. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="Operator" default="equal"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
The operator to apply to the property and value. Default is "equal." |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:simpleType> |
|
<xs:restriction base="xs:NMTOKEN"> |
|
<xs:enumeration value="equal"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
(Default) Compares Property to Value and succeeds if they are equal. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:enumeration> |
|
<xs:enumeration value="notEqual"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Compares Property to Value and succeeds if they are NOT equal. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:enumeration> |
|
<xs:enumeration value="caseInsensitiveEqual"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Compares Property to Value and succeeds if they are equal (ignoring case). |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:enumeration> |
|
<xs:enumeration value="caseInsensitiveNotEqual"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Compares Property to Value and succeeds if they are NOT equal (ignoring case). |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:enumeration> |
|
</xs:restriction> |
|
</xs:simpleType> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="Value" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
The value to compare to the property. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="ValueSeparator" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
One character that is used to separate values in a multi-value property. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="NameValueSeparator" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
One character that is used to separate values in a name/value-pair multi-value property. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
|
|
<xs:attribute name="Index" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
A formatted string that evaluates to either an integer index into a multi-value property or a string name of a name/value-pair multi-value property. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="Condition"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Conditions for a unit test. |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:simpleContent> |
|
<xs:extension base="xs:string" /> |
|
</xs:simpleContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="Expression"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
An expression that must evaluate to true to succeed. Cannot be specified if Property is specified. |
|
</xs:documentation> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:simpleContent> |
|
<xs:extension base="xs:string" /> |
|
</xs:simpleContent> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
<xs:element name="UnitTestRef"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Identifies a unit test to be linked into a project. |
|
</xs:documentation> |
|
<xs:appinfo> |
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Fragment" /> |
|
<xse:parent namespace="http://schemas.microsoft.com/wix/2006/wi" ref="Product" /> |
|
</xs:appinfo> |
|
</xs:annotation> |
|
<xs:complexType> |
|
<xs:attribute name="Id" type="xs:string"> |
|
<xs:annotation> |
|
<xs:documentation> |
|
Identifier of the unit test to be included. |
|
</xs:documentation> |
|
</xs:annotation> |
|
</xs:attribute> |
|
</xs:complexType> |
|
</xs:element> |
|
|
|
</xs:schema> |