summaryrefslogtreecommitdiff
path: root/xsd/dist/etc
diff options
context:
space:
mode:
authorJörg Frings-Fürst <jff@merkur>2014-05-18 16:08:14 +0200
committerJörg Frings-Fürst <jff@merkur>2014-05-18 16:08:14 +0200
commita15cf65c44d5c224169c32ef5495b68c758134b7 (patch)
tree3419f58fc8e1b315ba8171910ee044c5d467c162 /xsd/dist/etc
Imported Upstream version 3.3.0.2upstream/3.3.0.2
Diffstat (limited to 'xsd/dist/etc')
-rw-r--r--xsd/dist/etc/vc-10.0/xsd-cxx-parser.props33
-rw-r--r--xsd/dist/etc/vc-10.0/xsd-cxx-parser.targets92
-rw-r--r--xsd/dist/etc/vc-10.0/xsd-cxx-parser.xml284
-rw-r--r--xsd/dist/etc/vc-10.0/xsd-cxx-tree.props45
-rw-r--r--xsd/dist/etc/vc-10.0/xsd-cxx-tree.targets105
-rw-r--r--xsd/dist/etc/vc-10.0/xsd-cxx-tree.xml390
-rw-r--r--xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules206
-rw-r--r--xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules320
-rw-r--r--xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules206
-rw-r--r--xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules319
10 files changed, 2000 insertions, 0 deletions
diff --git a/xsd/dist/etc/vc-10.0/xsd-cxx-parser.props b/xsd/dist/etc/vc-10.0/xsd-cxx-parser.props
new file mode 100644
index 0000000..b167a38
--- /dev/null
+++ b/xsd/dist/etc/vc-10.0/xsd-cxx-parser.props
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup
+ Condition="'$(CXX_Parser_Mapping_RuleBeforeTargets)' == '' and '$(CXX_Parser_Mapping_RuleAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
+ <CXX_Parser_Mapping_RuleBeforeTargets>Midl</CXX_Parser_Mapping_RuleBeforeTargets>
+ <CXX_Parser_Mapping_RuleAfterTargets>CustomBuild</CXX_Parser_Mapping_RuleAfterTargets>
+ </PropertyGroup>
+ <PropertyGroup>
+ <CXX_Parser_Mapping_RuleDependsOn
+ Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(CXX_Parser_Mapping_RuleDependsOn)</CXX_Parser_Mapping_RuleDependsOn>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <CXX_Parser_Mapping_Rule>
+ <ProprietaryLicense>False</ProprietaryLicense>
+ <GenInline>False</GenInline>
+ <GenValidation>False</GenValidation>
+ <SupValidation>False</SupValidation>
+ <GenPolymorphic>False</GenPolymorphic>
+ <OutDir>.</OutDir>
+ <HeaderSuffix>.hxx</HeaderSuffix>
+ <SourceSuffix>.cxx</SourceSuffix>
+ <InlineSuffix>.ixx</InlineSuffix>
+ <SkelFileSuffix>-pskel</SkelFileSuffix>
+ <SkelTypeSuffix>_pskel</SkelTypeSuffix>
+ <CharType>0</CharType>
+ <CharEncoding>0</CharEncoding>
+ <XMLParser>0</XMLParser>
+ <CommandLineTemplate>xsd.exe cxx-parser [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>
+ <ExecutionDescription>xsd cxx-parser %(Identity)</ExecutionDescription>
+ <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
+ </CXX_Parser_Mapping_Rule>
+ </ItemDefinitionGroup>
+</Project>
diff --git a/xsd/dist/etc/vc-10.0/xsd-cxx-parser.targets b/xsd/dist/etc/vc-10.0/xsd-cxx-parser.targets
new file mode 100644
index 0000000..62ad2b2
--- /dev/null
+++ b/xsd/dist/etc/vc-10.0/xsd-cxx-parser.targets
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <PropertyPageSchema
+ Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
+ <AvailableItemName
+ Include="CXX_Parser_Mapping_Rule">
+ <Targets>XsdCompile</Targets>
+ </AvailableItemName>
+ </ItemGroup>
+ <UsingTask
+ TaskName="CXX_Parser_Mapping_Rule"
+ TaskFactory="XamlTaskFactory"
+ AssemblyName="Microsoft.Build.Tasks.v4.0">
+ <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
+ </UsingTask>
+ <Target
+ Name="XsdCompile"
+ BeforeTargets="$(CXX_Parser_Mapping_RuleBeforeTargets)"
+ AfterTargets="$(CXX_Parser_Mapping_RuleAfterTargets)"
+ Condition="'@(CXX_Parser_Mapping_Rule)' != ''"
+ DependsOnTargets="$(CXX_Parser_Mapping_RuleDependsOn);XsdOutputDir"
+ Outputs="%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.HeaderSuffix);%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.SourceSuffix)"
+ Inputs="%(CXX_Parser_Mapping_Rule.Identity);%(CXX_Parser_Mapping_Rule.AdditionalDependencies);$(MSBuildProjectFile)">
+ <ItemGroup
+ Condition="'@(SelectedFiles)' != ''">
+ <CXX_Parser_Mapping_Rule
+ Remove="@(CXX_Parser_Mapping_Rule)"
+ Condition="'%(Identity)' != '@(SelectedFiles)'" />
+ </ItemGroup>
+ <ItemGroup>
+ <CXX_Parser_Mapping_Rule_tlog
+ Include="%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.HeaderSuffix);%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.SourceSuffix)"
+ Condition="'%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.HeaderSuffix);%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.SourceSuffix)' != '' and '%(CXX_Parser_Mapping_Rule.ExcludedFromBuild)' != 'true'">
+ <Source>@(CXX_Parser_Mapping_Rule, '|')</Source>
+ </CXX_Parser_Mapping_Rule_tlog>
+ </ItemGroup>
+ <Message
+ Importance="High"
+ Text="%(CXX_Parser_Mapping_Rule.ExecutionDescription)" />
+ <WriteLinesToFile
+ Condition="'@(CXX_Parser_Mapping_Rule_tlog)' != '' and '%(CXX_Parser_Mapping_Rule_tlog.ExcludedFromBuild)' != 'true'"
+ File="$(IntDir)$(ProjectName).write.1.tlog"
+ Lines="^%(CXX_Parser_Mapping_Rule_tlog.Source);@(CXX_Parser_Mapping_Rule_tlog-&gt;'%(Fullpath)')" />
+ <CXX_Parser_Mapping_Rule
+ Condition="'@(CXX_Parser_Mapping_Rule)' != '' and '%(CXX_Parser_Mapping_Rule.ExcludedFromBuild)' != 'true'"
+ CommandLineTemplate="%(CXX_Parser_Mapping_Rule.CommandLineTemplate)"
+ ProprietaryLicense="%(CXX_Parser_Mapping_Rule.ProprietaryLicense)"
+ GenInline="%(CXX_Parser_Mapping_Rule.GenInline)"
+ GenValidation="%(CXX_Parser_Mapping_Rule.GenValidation)"
+ SupValidation="%(CXX_Parser_Mapping_Rule.SupValidation)"
+ GenPolymorphic="%(CXX_Parser_Mapping_Rule.GenPolymorphic)"
+ OutDir="%(CXX_Parser_Mapping_Rule.OutDir)"
+ HeaderSuffix="%(CXX_Parser_Mapping_Rule.HeaderSuffix)"
+ SourceSuffix="%(CXX_Parser_Mapping_Rule.SourceSuffix)"
+ InlineSuffix="%(CXX_Parser_Mapping_Rule.InlineSuffix)"
+ SkelFileSuffix="%(CXX_Parser_Mapping_Rule.SkelFileSuffix)"
+ NamespaceMap="%(CXX_Parser_Mapping_Rule.NamespaceMap)"
+ TypeMap="%(CXX_Parser_Mapping_Rule.TypeMap)"
+ SkelTypeSuffix="%(CXX_Parser_Mapping_Rule.SkelTypeSuffix)"
+ ExportSymbol="%(CXX_Parser_Mapping_Rule.ExportSymbol)"
+ HxxPrologue="%(CXX_Parser_Mapping_Rule.HxxPrologue)"
+ HxxEpilogue="%(CXX_Parser_Mapping_Rule.HxxEpilogue)"
+ CharType="%(CXX_Parser_Mapping_Rule.CharType)"
+ CharEncoding="%(CXX_Parser_Mapping_Rule.CharEncoding)"
+ XMLParser="%(CXX_Parser_Mapping_Rule.XMLParser)"
+ AdditionalOptions="%(CXX_Parser_Mapping_Rule.AdditionalOptions)"
+ Inputs="%(CXX_Parser_Mapping_Rule.Identity)" />
+ </Target>
+ <Target
+ Name="XsdClean"
+ BeforeTargets="CoreCppClean"
+ AfterTargets="_PrepareForClean"
+ Condition="'@(CXX_Parser_Mapping_Rule)' != ''">
+ <PropertyGroup>
+ <XsdCleanFilePatternsToDelete>@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Parser_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SkelFileSuffix')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('HeaderSuffix')->Distinct());@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Parser_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SkelFileSuffix')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SourceSuffix')->Distinct());@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Parser_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SkelFileSuffix')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('InlineSuffix')->Distinct());</XsdCleanFilePatternsToDelete>
+ </PropertyGroup>
+ <ItemGroup>
+ <CoreCppClean>
+ <FilePatternsToDelete
+ Condition="'%(CoreCppClean.FilePatternsToDelete)' != ''">%(CoreCppClean.FilePatternsToDelete);$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
+ <FilePatternsToDelete
+ Condition="'%(CoreCppClean.FilePatternsToDelete)' == ''">$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
+ </CoreCppClean>
+ </ItemGroup>
+ </Target>
+ <Target
+ Name="XsdOutputDir"
+ Condition="'@(CXX_Parser_Mapping_Rule)' != ''">
+ <MakeDir Directories="@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct()->ClearMetadata())" />
+ </Target>
+</Project>
diff --git a/xsd/dist/etc/vc-10.0/xsd-cxx-parser.xml b/xsd/dist/etc/vc-10.0/xsd-cxx-parser.xml
new file mode 100644
index 0000000..37202c6
--- /dev/null
+++ b/xsd/dist/etc/vc-10.0/xsd-cxx-parser.xml
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
+ <Rule
+ Name="CXX_Parser_Mapping_Rule"
+ PageTemplate="tool"
+ DisplayName="C++/Parser Mapping"
+ Order="200">
+ <Rule.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ ItemType="CXX_Parser_Mapping_Rule" />
+ </Rule.DataSource>
+ <Rule.Categories>
+ <Category
+ Name="General">
+ <Category.DisplayName>
+ <sys:String>General</sys:String>
+ </Category.DisplayName>
+ </Category>
+ <Category
+ Name="Command Line"
+ Subtype="CommandLine">
+ <Category.DisplayName>
+ <sys:String>Command Line</sys:String>
+ </Category.DisplayName>
+ </Category>
+ </Rule.Categories>
+ <StringListProperty
+ Name="Inputs"
+ Category="Command Line"
+ IsRequired="true"
+ Switch=" ">
+ <StringListProperty.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ ItemType="CXX_Parser_Mapping_Rule"
+ SourceType="Item" />
+ </StringListProperty.DataSource>
+ </StringListProperty>
+ <BoolProperty
+ Name="ProprietaryLicense"
+ Subcategory="Licensing"
+ HelpContext="0"
+ DisplayName="Proprietary License"
+ Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
+ Switch="--proprietary-license" />
+ <BoolProperty
+ Name="GenInline"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Inline"
+ Description="Generate simple functions inline. This option triggers creation of the inline file."
+ Switch="--generate-inline" />
+ <BoolProperty
+ Name="GenValidation"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Validation Code"
+ Description="Generate validation code which ensures that instance documents conform to the schema. This is the default for the Expat XML parser."
+ Switch="--generate-validation" />
+ <BoolProperty
+ Name="SupValidation"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Suppress Validation Code"
+ Description="Suppress generation of validation code. This is the default for the Xerces-C++ XML parser."
+ Switch="--suppress-validation" />
+ <BoolProperty
+ Name="GenPolymorphic"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Polymorphic"
+ Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
+ Switch="--generate-polymorphic" />
+ <StringProperty
+ Name="OutDir"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="Output Directory"
+ Description="Output directory for the generated files"
+ Switch="--output-dir &quot;[value]&quot;" />
+ <StringProperty
+ Name="HeaderSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Header Suffix "
+ Description="Generated C++ header file suffix"
+ Switch="--hxx-suffix &quot;[value]&quot;" />
+ <StringProperty
+ Name="SourceSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Source Suffix"
+ Description="Generated C++ source file suffix"
+ Switch="--cxx-suffix &quot;[value]&quot;" />
+ <StringProperty
+ Name="InlineSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Inline Suffix"
+ Description="Generated C++ inline file suffix"
+ Switch="--ixx-suffix &quot;[value]&quot;" />
+ <StringProperty
+ Name="SkelFileSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="Parser Skeleton File Suffix"
+ Description="Use the provided suffix to construct the names of generated parser skeleton file."
+ Switch="--skel-file-suffix &quot;[value]&quot;" />
+ <StringListProperty
+ Name="NamespaceMap"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Namespace Map"
+ Description="Map XML Schema namespaces to C++ namespaces by specifying a semicolon-separated list of mapping rules in the form &lt;xml-ns&gt;=&lt;cxx-ns&gt; where &lt;xml-ns&gt; stands for an XML Schema namespace and &lt;cxx-ns&gt; - for a C++ namespace."
+ Switch="--namespace-map &quot;[value]&quot;" />
+ <StringListProperty
+ Name="TypeMap"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Type Map"
+ Description="Specify type map files as a semicolon-separated list."
+ Switch="--type-map &quot;[value]&quot;" />
+ <StringProperty
+ Name="SkelTypeSuffix"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Parser Skeleton Type Suffix"
+ Description="Use the provided suffix to construct the names of generated parser skeletons."
+ Switch="--skel-type-suffix &quot;[value]&quot;" />
+ <StringListProperty
+ Name="ExportSymbol"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Export Symbol"
+ Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
+ Switch="--export-symbol &quot;[value]&quot;" />
+ <StringListProperty
+ Name="HxxPrologue"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Header Prologue File"
+ Description="Insert the contents of the file specified at the beginning of the header file."
+ Switch="--hxx-prologue-file &quot;[value]&quot;" />
+ <StringListProperty
+ Name="HxxEpilogue"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Header Epilogue File"
+ Description="Insert the contents of the file specified at the end of the header file."
+ Switch="--hxx-epilogue-file &quot;[value]&quot;" />
+ <EnumProperty
+ Name="CharType"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Char Type"
+ Description="Character type to be used in the generated code.">
+ <EnumValue
+ Name="0"
+ DisplayName="char" />
+ <EnumValue
+ Name="1"
+ DisplayName="wchar_t"
+ Switch="--char-type wchar_t" />
+ </EnumProperty>
+ <EnumProperty
+ Name="CharEncoding"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Char Encoding"
+ Description="Character encoding to be used bu the generated code.">
+ <EnumValue
+ Name="0"
+ DisplayName="UTF-8 (char)/UTF-16 (wchar_t)" />
+ <EnumValue
+ Name="1"
+ DisplayName="ISO-8859-1"
+ Switch="--char-encoding iso8859-1" />
+ <EnumValue
+ Name="2"
+ DisplayName="Xerces-C++ local code page"
+ Switch="--char-encoding lcp" />
+ <EnumValue
+ Name="3"
+ DisplayName="Custom encoding"
+ Switch="--char-encoding custom" />
+ </EnumProperty>
+ <EnumProperty
+ Name="XMLParser"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Underlying XML Parser"
+ Description="Use the specified parser as the underlying XML parser.">
+ <EnumValue
+ Name="0"
+ DisplayName="xerces" />
+ <EnumValue
+ Name="1"
+ DisplayName="expat"
+ Switch="--xml-parser expat" />
+ </EnumProperty>
+ <StringProperty
+ Name="CommandLineTemplate"
+ DisplayName="Command Line"
+ Visible="False"
+ IncludeInCommandLine="False" />
+ <DynamicEnumProperty
+ Name="CXX_Parser_Mapping_RuleBeforeTargets"
+ Category="General"
+ EnumProvider="Targets"
+ IncludeInCommandLine="False">
+ <DynamicEnumProperty.DisplayName>
+ <sys:String>Execute Before</sys:String>
+ </DynamicEnumProperty.DisplayName>
+ <DynamicEnumProperty.Description>
+ <sys:String>Specifies the targets for the build customization to run before.</sys:String>
+ </DynamicEnumProperty.Description>
+ <DynamicEnumProperty.ProviderSettings>
+ <NameValuePair
+ Name="Exclude"
+ Value="^CXX_Parser_Mapping_RuleBeforeTargets|^Compute" />
+ </DynamicEnumProperty.ProviderSettings>
+ <DynamicEnumProperty.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ HasConfigurationCondition="true" />
+ </DynamicEnumProperty.DataSource>
+ </DynamicEnumProperty>
+ <DynamicEnumProperty
+ Name="CXX_Parser_Mapping_RuleAfterTargets"
+ Category="General"
+ EnumProvider="Targets"
+ IncludeInCommandLine="False">
+ <DynamicEnumProperty.DisplayName>
+ <sys:String>Execute After</sys:String>
+ </DynamicEnumProperty.DisplayName>
+ <DynamicEnumProperty.Description>
+ <sys:String>Specifies the targets for the build customization to run after.</sys:String>
+ </DynamicEnumProperty.Description>
+ <DynamicEnumProperty.ProviderSettings>
+ <NameValuePair
+ Name="Exclude"
+ Value="^CXX_Parser_Mapping_RuleAfterTargets|^Compute" />
+ </DynamicEnumProperty.ProviderSettings>
+ <DynamicEnumProperty.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ ItemType=""
+ HasConfigurationCondition="true" />
+ </DynamicEnumProperty.DataSource>
+ </DynamicEnumProperty>
+ <StringProperty
+ Name="ExecutionDescription"
+ DisplayName="Execution Description"
+ Visible="False"
+ IncludeInCommandLine="False" />
+ <StringListProperty
+ Name="AdditionalDependencies"
+ DisplayName="Additional Dependencies"
+ IncludeInCommandLine="False"
+ Visible="true" />
+ <StringProperty
+ Subtype="AdditionalOptions"
+ Name="AdditionalOptions"
+ Category="Command Line">
+ <StringProperty.DisplayName>
+ <sys:String>Additional Options</sys:String>
+ </StringProperty.DisplayName>
+ <StringProperty.Description>
+ <sys:String>Additional Options</sys:String>
+ </StringProperty.Description>
+ </StringProperty>
+ </Rule>
+ <ItemType
+ Name="CXX_Parser_Mapping_Rule"
+ DisplayName="C++/Parser Mapping" />
+ <FileExtension
+ Name="*.xsd"
+ ContentType="CXX_Parser_Mapping_Rule" />
+ <ContentType
+ Name="CXX_Parser_Mapping_Rule"
+ DisplayName="C++/Parser Mapping"
+ ItemType="CXX_Parser_Mapping_Rule" />
+</ProjectSchemaDefinitions>
diff --git a/xsd/dist/etc/vc-10.0/xsd-cxx-tree.props b/xsd/dist/etc/vc-10.0/xsd-cxx-tree.props
new file mode 100644
index 0000000..3d66166
--- /dev/null
+++ b/xsd/dist/etc/vc-10.0/xsd-cxx-tree.props
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup
+ Condition="'$(CXX_Tree_Mapping_RuleBeforeTargets)' == '' and '$(CXX_Tree_Mapping_RuleAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
+ <CXX_Tree_Mapping_RuleBeforeTargets>Midl</CXX_Tree_Mapping_RuleBeforeTargets>
+ <CXX_Tree_Mapping_RuleAfterTargets>CustomBuild</CXX_Tree_Mapping_RuleAfterTargets>
+ </PropertyGroup>
+ <PropertyGroup>
+ <CXX_Tree_Mapping_RuleDependsOn
+ Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(CXX_Tree_Mapping_RuleDependsOn)</CXX_Tree_Mapping_RuleDependsOn>
+ </PropertyGroup>
+ <ItemDefinitionGroup>
+ <CXX_Tree_Mapping_Rule>
+ <ProprietaryLicense>False</ProprietaryLicense>
+ <GenInline>False</GenInline>
+ <GenForward>False</GenForward>
+ <GenSerialization>False</GenSerialization>
+ <SupParsing>False</SupParsing>
+ <GenPolymorphic>False</GenPolymorphic>
+ <PolymorphicTypeAll>False</PolymorphicTypeAll>
+ <GenOstream>False</GenOstream>
+ <GenDoxygen>False</GenDoxygen>
+ <GenComparison>False</GenComparison>
+ <GenDefaultCtor>False</GenDefaultCtor>
+ <GenFromBaseCtor>False</GenFromBaseCtor>
+ <GenDetach>False</GenDetach>
+ <GenWildcard>False</GenWildcard>
+ <GenElementType>False</GenElementType>
+ <GenElementMap>False</GenElementMap>
+ <GenIntellisense>False</GenIntellisense>
+ <OutDir>.</OutDir>
+ <HeaderSuffix>.hxx</HeaderSuffix>
+ <SourceSuffix>.cxx</SourceSuffix>
+ <InlineSuffix>.ixx</InlineSuffix>
+ <ForwardSuffix>-fwd.hxx</ForwardSuffix>
+ <CharType>0</CharType>
+ <CharEncoding>0</CharEncoding>
+ <TypeNaming>0</TypeNaming>
+ <FunctionNaming>0</FunctionNaming>
+ <CommandLineTemplate>xsd.exe cxx-tree [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>
+ <ExecutionDescription>xsd cxx-tree %(Identity)</ExecutionDescription>
+ <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
+ </CXX_Tree_Mapping_Rule>
+ </ItemDefinitionGroup>
+</Project>
diff --git a/xsd/dist/etc/vc-10.0/xsd-cxx-tree.targets b/xsd/dist/etc/vc-10.0/xsd-cxx-tree.targets
new file mode 100644
index 0000000..a65b559
--- /dev/null
+++ b/xsd/dist/etc/vc-10.0/xsd-cxx-tree.targets
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <PropertyPageSchema
+ Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
+ <AvailableItemName
+ Include="CXX_Tree_Mapping_Rule">
+ <Targets>XsdCompile</Targets>
+ </AvailableItemName>
+ </ItemGroup>
+ <UsingTask
+ TaskName="CXX_Tree_Mapping_Rule"
+ TaskFactory="XamlTaskFactory"
+ AssemblyName="Microsoft.Build.Tasks.v4.0">
+ <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
+ </UsingTask>
+ <Target
+ Name="XsdCompile"
+ BeforeTargets="$(CXX_Tree_Mapping_RuleBeforeTargets)"
+ AfterTargets="$(CXX_Tree_Mapping_RuleAfterTargets)"
+ Condition="'@(CXX_Tree_Mapping_Rule)' != ''"
+ DependsOnTargets="$(CXX_Tree_Mapping_RuleDependsOn);XsdOutputDir"
+ Outputs="%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.HeaderSuffix);%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.SourceSuffix)"
+ Inputs="%(CXX_Tree_Mapping_Rule.Identity);%(CXX_Tree_Mapping_Rule.AdditionalDependencies);$(MSBuildProjectFile)">
+ <ItemGroup
+ Condition="'@(SelectedFiles)' != ''">
+ <CXX_Tree_Mapping_Rule
+ Remove="@(CXX_Tree_Mapping_Rule)"
+ Condition="'%(Identity)' != '@(SelectedFiles)'" />
+ </ItemGroup>
+ <ItemGroup>
+ <CXX_Tree_Mapping_Rule_tlog
+ Include="%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.HeaderSuffix);%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.SourceSuffix)"
+ Condition="'%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.HeaderSuffix);%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.SourceSuffix)' != '' and '%(CXX_Tree_Mapping_Rule.ExcludedFromBuild)' != 'true'">
+ <Source>@(CXX_Tree_Mapping_Rule, '|')</Source>
+ </CXX_Tree_Mapping_Rule_tlog>
+ </ItemGroup>
+ <Message
+ Importance="High"
+ Text="%(CXX_Tree_Mapping_Rule.ExecutionDescription)" />
+ <WriteLinesToFile
+ Condition="'@(CXX_Tree_Mapping_Rule_tlog)' != '' and '%(CXX_Tree_Mapping_Rule_tlog.ExcludedFromBuild)' != 'true'"
+ File="$(IntDir)$(ProjectName).write.1.tlog"
+ Lines="^%(CXX_Tree_Mapping_Rule_tlog.Source);@(CXX_Tree_Mapping_Rule_tlog-&gt;'%(Fullpath)')" />
+ <CXX_Tree_Mapping_Rule
+ Condition="'@(CXX_Tree_Mapping_Rule)' != '' and '%(CXX_Tree_Mapping_Rule.ExcludedFromBuild)' != 'true'"
+ CommandLineTemplate="%(CXX_Tree_Mapping_Rule.CommandLineTemplate)"
+ ProprietaryLicense="%(CXX_Tree_Mapping_Rule.ProprietaryLicense)"
+ GenInline="%(CXX_Tree_Mapping_Rule.GenInline)"
+ GenForward="%(CXX_Tree_Mapping_Rule.GenForward)"
+ GenSerialization="%(CXX_Tree_Mapping_Rule.GenSerialization)"
+ SupParsing="%(CXX_Tree_Mapping_Rule.SupParsing)"
+ GenPolymorphic="%(CXX_Tree_Mapping_Rule.GenPolymorphic)"
+ PolymorphicTypeAll="%(CXX_Tree_Mapping_Rule.PolymorphicTypeAll)"
+ GenOstream="%(CXX_Tree_Mapping_Rule.GenOstream)"
+ GenDoxygen="%(CXX_Tree_Mapping_Rule.GenDoxygen)"
+ GenComparison="%(CXX_Tree_Mapping_Rule.GenComparison)"
+ GenDefaultCtor="%(CXX_Tree_Mapping_Rule.GenDefaultCtor)"
+ GenFromBaseCtor="%(CXX_Tree_Mapping_Rule.GenFromBaseCtor)"
+ GenDetach="%(CXX_Tree_Mapping_Rule.GenDetach)"
+ GenWildcard="%(CXX_Tree_Mapping_Rule.GenWildcard)"
+ GenElementType="%(CXX_Tree_Mapping_Rule.GenElementType)"
+ GenElementMap="%(CXX_Tree_Mapping_Rule.GenElementMap)"
+ GenIntellisense="%(CXX_Tree_Mapping_Rule.GenIntellisense)"
+ OutDir="%(CXX_Tree_Mapping_Rule.OutDir)"
+ HeaderSuffix="%(CXX_Tree_Mapping_Rule.HeaderSuffix)"
+ SourceSuffix="%(CXX_Tree_Mapping_Rule.SourceSuffix)"
+ InlineSuffix="%(CXX_Tree_Mapping_Rule.InlineSuffix)"
+ ForwardSuffix="%(CXX_Tree_Mapping_Rule.ForwardSuffix)"
+ NamespaceMap="%(CXX_Tree_Mapping_Rule.NamespaceMap)"
+ PolymorphicType="%(CXX_Tree_Mapping_Rule.PolymorphicType)"
+ RootElement="%(CXX_Tree_Mapping_Rule.RootElement)"
+ ExportSymbol="%(CXX_Tree_Mapping_Rule.ExportSymbol)"
+ HxxPrologue="%(CXX_Tree_Mapping_Rule.HxxPrologue)"
+ HxxEpilogue="%(CXX_Tree_Mapping_Rule.HxxEpilogue)"
+ CharType="%(CXX_Tree_Mapping_Rule.CharType)"
+ CharEncoding="%(CXX_Tree_Mapping_Rule.CharEncoding)"
+ TypeNaming="%(CXX_Tree_Mapping_Rule.TypeNaming)"
+ FunctionNaming="%(CXX_Tree_Mapping_Rule.FunctionNaming)"
+ AdditionalOptions="%(CXX_Tree_Mapping_Rule.AdditionalOptions)"
+ Inputs="%(CXX_Tree_Mapping_Rule.Identity)" />
+ </Target>
+ <Target
+ Name="XsdClean"
+ BeforeTargets="CoreCppClean"
+ AfterTargets="_PrepareForClean"
+ Condition="'@(CXX_Tree_Mapping_Rule)' != ''">
+ <PropertyGroup>
+ <XsdCleanFilePatternsToDelete>@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('HeaderSuffix')->Distinct());@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('SourceSuffix')->Distinct());@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('InlineSuffix')->Distinct());@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('ForwardSuffix')->Distinct())</XsdCleanFilePatternsToDelete>
+ </PropertyGroup>
+ <ItemGroup>
+ <CoreCppClean>
+ <FilePatternsToDelete
+ Condition="'%(CoreCppClean.FilePatternsToDelete)' != ''">%(CoreCppClean.FilePatternsToDelete);$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
+ <FilePatternsToDelete
+ Condition="'%(CoreCppClean.FilePatternsToDelete)' == ''">$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
+ </CoreCppClean>
+ </ItemGroup>
+ </Target>
+ <Target
+ Name="XsdOutputDir"
+ Condition="'@(CXX_Tree_Mapping_Rule)' != ''">
+ <MakeDir Directories="@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct()->ClearMetadata())" />
+ </Target>
+</Project>
diff --git a/xsd/dist/etc/vc-10.0/xsd-cxx-tree.xml b/xsd/dist/etc/vc-10.0/xsd-cxx-tree.xml
new file mode 100644
index 0000000..12393ee
--- /dev/null
+++ b/xsd/dist/etc/vc-10.0/xsd-cxx-tree.xml
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
+ <Rule
+ Name="CXX_Tree_Mapping_Rule"
+ PageTemplate="tool"
+ DisplayName="C++/Tree Mapping"
+ Order="200">
+ <Rule.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ ItemType="CXX_Tree_Mapping_Rule" />
+ </Rule.DataSource>
+ <Rule.Categories>
+ <Category
+ Name="General">
+ <Category.DisplayName>
+ <sys:String>General</sys:String>
+ </Category.DisplayName>
+ </Category>
+ <Category
+ Name="Command Line"
+ Subtype="CommandLine">
+ <Category.DisplayName>
+ <sys:String>Command Line</sys:String>
+ </Category.DisplayName>
+ </Category>
+ </Rule.Categories>
+ <StringListProperty
+ Name="Inputs"
+ Category="Command Line"
+ IsRequired="true"
+ Switch=" ">
+ <StringListProperty.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ ItemType="CXX_Tree_Mapping_Rule"
+ SourceType="Item" />
+ </StringListProperty.DataSource>
+ </StringListProperty>
+ <BoolProperty
+ Name="ProprietaryLicense"
+ Subcategory="Licensing"
+ HelpContext="0"
+ DisplayName="Proprietary License"
+ Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
+ Switch="--proprietary-license" />
+ <BoolProperty
+ Name="GenInline"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Inline"
+ Description="Generate simple functions inline. This option triggers creation of the inline file."
+ Switch="--generate-inline" />
+ <BoolProperty
+ Name="GenForward"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Forward"
+ Description="Generate a separate header file with forward declarations for the types being generated."
+ Switch="--generate-forward" />
+ <BoolProperty
+ Name="GenSerialization"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Serialization"
+ Description="Generate serialization functions. Serialization functions convert the object model back to XML."
+ Switch="--generate-serialization" />
+ <BoolProperty
+ Name="SupParsing"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Suppress Parsing"
+ Description="Suppress generation of the parsing functions and constructors."
+ Switch="--suppress-parsing" />
+ <BoolProperty
+ Name="GenPolymorphic"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Polymorphic"
+ Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
+ Switch="--generate-polymorphic" />
+ <BoolProperty
+ Name="PolymorphicTypeAll"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="All Types Polymorphic"
+ Description="Indicate that all types should be treated as polymorphic."
+ Switch="--polymorphic-type-all" />
+ <BoolProperty
+ Name="GenOstream"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Ostream"
+ Description="Generate ostream insertion operators for generated types. This allows to easily print a fragment or the whole object model for debugging or logging."
+ Switch="--generate-ostream" />
+ <BoolProperty
+ Name="GenDoxygen"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Doxygen"
+ Description="Generate documentation comments suitable for extraction by the Doxygen documentation system."
+ Switch="--generate-doxygen" />
+ <BoolProperty
+ Name="GenComparison"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Comparison"
+ Description="Generate comparison operators for complex types."
+ Switch="--generate-comparison" />
+ <BoolProperty
+ Name="GenDefaultCtor"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Default Constructors"
+ Description="Generate default constructors even for types that have required members."
+ Switch="--generate-default-ctor" />
+ <BoolProperty
+ Name="GenFromBaseCtor"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate From-Base Constructors"
+ Description="Generate constructors that expect an instance of a base type followed by all required members."
+ Switch="--generate-from-base-ctor" />
+ <BoolProperty
+ Name="GenDetach"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Detach"
+ Description="Generate detach functions for required elements and attributes."
+ Switch="--generate-detach" />
+ <BoolProperty
+ Name="GenWildcard"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Wildcard"
+ Description="Generate accessors and modifiers as well as parsing and serialization code for XML Schema wildcards (any and anyAttribute)."
+ Switch="--generate-wildcard" />
+ <BoolProperty
+ Name="GenElementType"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Element Types"
+ Description="Generate types instead of parsing and serialization functions for root elements."
+ Switch="--generate-element-type" />
+ <BoolProperty
+ Name="GenElementMap"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate Element Map"
+ Description="Generate a root element map that allows uniform parsing and serialization of multiple root elements."
+ Switch="--generate-element-map" />
+ <BoolProperty
+ Name="GenIntellisense"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Generate IntelliSense"
+ Description="Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0)."
+ Switch="--generate-intellisense" />
+ <StringProperty
+ Name="OutDir"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="Output Directory"
+ Description="Output directory for the generated files"
+ Switch="--output-dir &quot;[value]&quot;" />
+ <StringProperty
+ Name="HeaderSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Header Suffix "
+ Description="Generated C++ header file suffix"
+ Switch="--hxx-suffix &quot;[value]&quot;" />
+ <StringProperty
+ Name="SourceSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Source Suffix"
+ Description="Generated C++ source file suffix"
+ Switch="--cxx-suffix &quot;[value]&quot;" />
+ <StringProperty
+ Name="InlineSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Inline Suffix"
+ Description="Generated C++ inline file suffix"
+ Switch="--ixx-suffix &quot;[value]&quot;" />
+ <StringProperty
+ Name="ForwardSuffix"
+ Subcategory="Output"
+ HelpContext="0"
+ DisplayName="C++ Forward Declaration Suffix"
+ Description="Generated C++ forward declaration file suffix"
+ Switch="--fwd-suffix &quot;[value]&quot;" />
+ <StringListProperty
+ Name="NamespaceMap"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Namespace Map"
+ Description="Map XML Schema namespaces to C++ namespaces by specifying a semicolon-separated list of mapping rules in the form &lt;xml-ns&gt;=&lt;cxx-ns&gt; where &lt;xml-ns&gt; stands for an XML Schema namespace and &lt;cxx-ns&gt; - for a C++ namespace."
+ Switch="--namespace-map &quot;[value]&quot;" />
+ <StringListProperty
+ Name="PolymorphicType"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Polymorphic Types"
+ Description="Treat specified semicolon-separated list of types as roots of polymorphic type hierarchies."
+ Switch="--polymorphic-type &quot;[value]&quot;" />
+ <StringListProperty
+ Name="RootElement"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Root Element"
+ Description="Treat only specified semicolon-separated list of elements as document roots."
+ Switch="--root-element &quot;[value]&quot;" />
+ <StringListProperty
+ Name="ExportSymbol"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Export Symbol"
+ Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
+ Switch="--export-symbol &quot;[value]&quot;" />
+ <StringListProperty
+ Name="HxxPrologue"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Header Prologue File"
+ Description="Insert the contents of the file specified at the beginning of the header file."
+ Switch="--hxx-prologue-file &quot;[value]&quot;" />
+ <StringListProperty
+ Name="HxxEpilogue"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Header Epilogue File"
+ Description="Insert the contents of the file specified at the end of the header file."
+ Switch="--hxx-epilogue-file &quot;[value]&quot;" />
+ <EnumProperty
+ Name="CharType"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Char Type"
+ Description="Character type to be used in the generated code.">
+ <EnumValue
+ Name="0"
+ DisplayName="char" />
+ <EnumValue
+ Name="1"
+ DisplayName="wchar_t"
+ Switch="--char-type wchar_t" />
+ </EnumProperty>
+ <EnumProperty
+ Name="CharEncoding"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Char Encoding"
+ Description="Character encoding to be used bu the generated code.">
+ <EnumValue
+ Name="0"
+ DisplayName="UTF-8 (char)/UTF-16 (wchar_t)" />
+ <EnumValue
+ Name="1"
+ DisplayName="ISO-8859-1"
+ Switch="--char-encoding iso8859-1" />
+ <EnumValue
+ Name="2"
+ DisplayName="Xerces-C++ local code page"
+ Switch="--char-encoding lcp" />
+ <EnumValue
+ Name="3"
+ DisplayName="Custom encoding"
+ Switch="--char-encoding custom" />
+ </EnumProperty>
+ <EnumProperty
+ Name="TypeNaming"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Type Naming"
+ Description="Specify the type naming convention that should be used in the generated code.">
+ <EnumValue
+ Name="0"
+ DisplayName="K&amp;R" />
+ <EnumValue
+ Name="1"
+ DisplayName="Java"
+ Switch="--type-naming java" />
+ <EnumValue
+ Name="2"
+ DisplayName="Upper Camel Case"
+ Switch="--type-naming ucc" />
+ </EnumProperty>
+ <EnumProperty
+ Name="FunctionNaming"
+ Category="Code Generation"
+ HelpContext="0"
+ DisplayName="Function Naming"
+ Description="Specify the function naming convention that should be used in the generated code.">
+ <EnumValue
+ Name="0"
+ DisplayName="K&amp;R" />
+ <EnumValue
+ Name="1"
+ DisplayName="Java"
+ Switch="--function-naming java" />
+ <EnumValue
+ Name="2"
+ DisplayName="Lower Camel Case"
+ Switch="--function-naming lcc" />
+ </EnumProperty>
+ <StringProperty
+ Name="CommandLineTemplate"
+ DisplayName="Command Line"
+ Visible="False"
+ IncludeInCommandLine="False" />
+ <DynamicEnumProperty
+ Name="CXX_Tree_Mapping_RuleBeforeTargets"
+ Category="General"
+ EnumProvider="Targets"
+ IncludeInCommandLine="False">
+ <DynamicEnumProperty.DisplayName>
+ <sys:String>Execute Before</sys:String>
+ </DynamicEnumProperty.DisplayName>
+ <DynamicEnumProperty.Description>
+ <sys:String>Specifies the targets for the build customization to run before.</sys:String>
+ </DynamicEnumProperty.Description>
+ <DynamicEnumProperty.ProviderSettings>
+ <NameValuePair
+ Name="Exclude"
+ Value="^CXX_Tree_Mapping_RuleBeforeTargets|^Compute" />
+ </DynamicEnumProperty.ProviderSettings>
+ <DynamicEnumProperty.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ HasConfigurationCondition="true" />
+ </DynamicEnumProperty.DataSource>
+ </DynamicEnumProperty>
+ <DynamicEnumProperty
+ Name="CXX_Tree_Mapping_RuleAfterTargets"
+ Category="General"
+ EnumProvider="Targets"
+ IncludeInCommandLine="False">
+ <DynamicEnumProperty.DisplayName>
+ <sys:String>Execute After</sys:String>
+ </DynamicEnumProperty.DisplayName>
+ <DynamicEnumProperty.Description>
+ <sys:String>Specifies the targets for the build customization to run after.</sys:String>
+ </DynamicEnumProperty.Description>
+ <DynamicEnumProperty.ProviderSettings>
+ <NameValuePair
+ Name="Exclude"
+ Value="^CXX_Tree_Mapping_RuleAfterTargets|^Compute" />
+ </DynamicEnumProperty.ProviderSettings>
+ <DynamicEnumProperty.DataSource>
+ <DataSource
+ Persistence="ProjectFile"
+ ItemType=""
+ HasConfigurationCondition="true" />
+ </DynamicEnumProperty.DataSource>
+ </DynamicEnumProperty>
+ <StringProperty
+ Name="ExecutionDescription"
+ DisplayName="Execution Description"
+ Visible="False"
+ IncludeInCommandLine="False" />
+ <StringListProperty
+ Name="AdditionalDependencies"
+ DisplayName="Additional Dependencies"
+ IncludeInCommandLine="False"
+ Visible="true" />
+ <StringProperty
+ Subtype="AdditionalOptions"
+ Name="AdditionalOptions"
+ Category="Command Line">
+ <StringProperty.DisplayName>
+ <sys:String>Additional Options</sys:String>
+ </StringProperty.DisplayName>
+ <StringProperty.Description>
+ <sys:String>Additional Options</sys:String>
+ </StringProperty.Description>
+ </StringProperty>
+ </Rule>
+ <ItemType
+ Name="CXX_Tree_Mapping_Rule"
+ DisplayName="C++/Tree Mapping" />
+ <FileExtension
+ Name="*.xsd"
+ ContentType="CXX_Tree_Mapping_Rule" />
+ <ContentType
+ Name="CXX_Tree_Mapping_Rule"
+ DisplayName="C++/Tree Mapping"
+ ItemType="CXX_Tree_Mapping_Rule" />
+</ProjectSchemaDefinitions>
diff --git a/xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules b/xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules
new file mode 100644
index 0000000..a94a3ea
--- /dev/null
+++ b/xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VisualStudioToolFile
+ Name="CodeSynthesis XSD Compiler C++/Parser Mapping Rules"
+ Version="8.00"
+ >
+ <Rules>
+ <CustomBuildRule
+ Name="C++/Parser Mapping Rule"
+ DisplayName="C++/Parser Mapping Rule"
+ CommandLine="xsd.exe cxx-parser [AllOptions] [AdditionalOptions] [Inputs]"
+ Outputs="[$OutDir]\$(InputName)[$SkelFileSuffix][$HeaderSuffix];[$OutDir]\$(InputName)[$SkelFileSuffix][$SourceSuffix]"
+ FileExtensions="*.xsd"
+ ExecutionDescription="xsd cxx-parser [Inputs]"
+ ShowOnlyRuleProperties="false"
+ >
+ <Properties>
+ <StringProperty
+ Name="OutDir"
+ DisplayName="Output Directory"
+ Category="Output"
+ Description="Output directory for the generated files"
+ Switch="--output-dir [value]"
+ DefaultValue="."
+ />
+ <BooleanProperty
+ Name="ProprietaryLicense"
+ DisplayName="Proprietary License"
+ Category="Licensing"
+ Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
+ Switch="--proprietary-license"
+ />
+ <StringProperty
+ Name="HeaderSuffix"
+ DisplayName="C++ Header Suffix "
+ Category="Output"
+ Description="Generated C++ header file suffix"
+ Switch="--hxx-suffix [value]"
+ DefaultValue=".hxx"
+ />
+ <StringProperty
+ Name="SourceSuffix"
+ DisplayName="C++ Source Suffix"
+ Category="Output"
+ Description="Generated C++ source file suffix"
+ Switch="--cxx-suffix [value]"
+ DefaultValue=".cxx"
+ />
+ <StringProperty
+ Name="InlineSuffix"
+ DisplayName="C++ Inline Suffix"
+ Category="Output"
+ Description="Generated C++ inline file suffix"
+ Switch="--ixx-suffix [value]"
+ DefaultValue=".ixx"
+ />
+ <StringProperty
+ Name="SkelFileSuffix"
+ DisplayName="Parser Skeleton File Suffix"
+ PropertyPageName="Output"
+ Description="Use the provided suffix to construct the names of generated parser skeleton file."
+ Switch="--skel-file-suffix [value]"
+ DefaultValue="-pskel"
+ />
+ <EnumProperty
+ Name="CharType"
+ DisplayName="Char Type"
+ PropertyPageName="Code Generation"
+ Description="Character type to be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="char"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-type wchar_t"
+ DisplayName="wchar_t"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="CharEncoding"
+ DisplayName="Char Encoding"
+ PropertyPageName="Code Generation"
+ Description="Character encoding to be used bu the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-encoding iso8859-1"
+ DisplayName="ISO-8859-1"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--char-encoding lcp"
+ DisplayName="Xerces-C++ local code page"
+ />
+ <EnumValue
+ Value="3"
+ Switch="--char-encoding custom"
+ DisplayName="Custom encoding"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="XMLParser"
+ DisplayName="Underlying XML Parser"
+ PropertyPageName="Code Generation"
+ Description="Use the specified parser as the underlying XML parser."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="xerces"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--xml-parser expat"
+ DisplayName="expat"
+ />
+ </Values>
+ </EnumProperty>
+ <StringProperty
+ Name="NamespaceMap"
+ DisplayName="Namespace Map"
+ PropertyPageName="Code Generation"
+ Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form &lt;xml-ns&gt;=&lt;cxx-ns&gt; where &lt;xml-ns&gt; stands for an XML Schema namespace and &lt;cxx-ns&gt; - for a C++ namespace."
+ Switch="--namespace-map [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <StringProperty
+ Name="TypeMap"
+ DisplayName="Type Map"
+ PropertyPageName="Code Generation"
+ Description="Specify type map files as a comma-separated list."
+ Switch="--type-map [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <BooleanProperty
+ Name="GenInline"
+ DisplayName="Generate Inline"
+ PropertyPageName="Code Generation"
+ Description="Generate simple functions inline. This option triggers creation of the inline file."
+ Switch="--generate-inline"
+ />
+ <BooleanProperty
+ Name="GenValidation"
+ DisplayName="Generate Validation Code"
+ PropertyPageName="Code Generation"
+ Description="Generate validation code which ensures that instance documents conform to the schema. This is the default for the Expat XML parser."
+ Switch="--generate-validation"
+ />
+ <BooleanProperty
+ Name="SupValidation"
+ DisplayName="Suppress Validation Code"
+ PropertyPageName="Code Generation"
+ Description="Suppress generation of validation code. This is the default for the Xerces-C++ XML parser."
+ Switch="--suppress-validation"
+ />
+ <BooleanProperty
+ Name="GenPolymorphic"
+ DisplayName="Generate Polymorphic"
+ PropertyPageName="Code Generation"
+ Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
+ Switch="--generate-polymorphic"
+ />
+ <StringProperty
+ Name="SkelTypeSuffix"
+ DisplayName="Parser Skeleton Type Suffix"
+ PropertyPageName="Code Generation"
+ Description="Use the provided suffix to construct the names of generated parser skeletons."
+ Switch="--skel-type-suffix [value]"
+ DefaultValue="_pskel"
+ />
+ <StringProperty
+ Name="ExportSymbol"
+ DisplayName="Export Symbol"
+ PropertyPageName="Code Generation"
+ Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
+ Switch="--export-symbol [value]"
+ />
+ <StringProperty
+ Name="HxxPrologue"
+ DisplayName="Header Prologue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the beginning of the header file."
+ Switch="--hxx-prologue-file [value]"
+ />
+ <StringProperty
+ Name="HxxEpilogue"
+ DisplayName="Header Epilogue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the end of the header file."
+ Switch="--hxx-epilogue-file [value]"
+ />
+ </Properties>
+ </CustomBuildRule>
+ </Rules>
+</VisualStudioToolFile>
diff --git a/xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules b/xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules
new file mode 100644
index 0000000..b3e921a
--- /dev/null
+++ b/xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VisualStudioToolFile
+ Name="CodeSynthesis XSD Compiler C++/Tree Mapping Rules"
+ Version="8.00"
+ >
+ <Rules>
+ <CustomBuildRule
+ Name="C++/Tree Mapping Rule"
+ DisplayName="C++/Tree Mapping Rule"
+ CommandLine="xsd.exe cxx-tree [AllOptions] [AdditionalOptions] [Inputs]"
+ Outputs="[$OutDir]\$(InputName)[$HeaderSuffix];[$OutDir]\$(InputName)[$SourceSuffix]"
+ FileExtensions="*.xsd"
+ ExecutionDescription="xsd cxx-tree [Inputs]"
+ ShowOnlyRuleProperties="false"
+ >
+ <Properties>
+ <StringProperty
+ Name="OutDir"
+ DisplayName="Output Directory"
+ Category="Output"
+ Description="Output directory for the generated files"
+ Switch="--output-dir [value]"
+ DefaultValue="."
+ />
+ <BooleanProperty
+ Name="ProprietaryLicense"
+ DisplayName="Proprietary License"
+ Category="Licensing"
+ Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
+ Switch="--proprietary-license"
+ />
+ <StringProperty
+ Name="HeaderSuffix"
+ DisplayName="C++ Header Suffix "
+ Category="Output"
+ Description="Generated C++ header file suffix"
+ Switch="--hxx-suffix [value]"
+ DefaultValue=".hxx"
+ />
+ <StringProperty
+ Name="SourceSuffix"
+ DisplayName="C++ Source Suffix"
+ Category="Output"
+ Description="Generated C++ source file suffix"
+ Switch="--cxx-suffix [value]"
+ DefaultValue=".cxx"
+ />
+ <StringProperty
+ Name="InlineSuffix"
+ DisplayName="C++ Inline Suffix"
+ Category="Output"
+ Description="Generated C++ inline file suffix"
+ Switch="--ixx-suffix [value]"
+ DefaultValue=".ixx"
+ />
+ <StringProperty
+ Name="ForwardSuffix"
+ DisplayName="C++ Forward Declaration Suffix"
+ Category="Output"
+ Description="Generated C++ forward declaration file suffix"
+ Switch="--fwd-suffix [value]"
+ DefaultValue="-fwd.hxx"
+ />
+ <EnumProperty
+ Name="CharType"
+ DisplayName="Char Type"
+ PropertyPageName="Code Generation"
+ Description="Character type to be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="char"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-type wchar_t"
+ DisplayName="wchar_t"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="CharEncoding"
+ DisplayName="Char Encoding"
+ PropertyPageName="Code Generation"
+ Description="Character encoding to be used bu the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-encoding iso8859-1"
+ DisplayName="ISO-8859-1"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--char-encoding lcp"
+ DisplayName="Xerces-C++ local code page"
+ />
+ <EnumValue
+ Value="3"
+ Switch="--char-encoding custom"
+ DisplayName="Custom encoding"
+ />
+ </Values>
+ </EnumProperty>
+ <StringProperty
+ Name="NamespaceMap"
+ DisplayName="Namespace Map"
+ PropertyPageName="Code Generation"
+ Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form &lt;xml-ns&gt;=&lt;cxx-ns&gt; where &lt;xml-ns&gt; stands for an XML Schema namespace and &lt;cxx-ns&gt; - for a C++ namespace."
+ Switch="--namespace-map [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <BooleanProperty
+ Name="GenInline"
+ DisplayName="Generate Inline"
+ PropertyPageName="Code Generation"
+ Description="Generate simple functions inline. This option triggers creation of the inline file."
+ Switch="--generate-inline"
+ />
+ <BooleanProperty
+ Name="GenForward"
+ DisplayName="Generate Forward"
+ PropertyPageName="Code Generation"
+ Description="Generate a separate header file with forward declarations for the types being generated."
+ Switch="--generate-forward"
+ />
+ <BooleanProperty
+ Name="GenSerialization"
+ DisplayName="Generate Serialization"
+ PropertyPageName="Code Generation"
+ Description="Generate serialization functions. Serialization functions convert the object model back to XML."
+ Switch="--generate-serialization"
+ />
+ <BooleanProperty
+ Name="SupParsing"
+ DisplayName="Suppress Parsing"
+ PropertyPageName="Code Generation"
+ Description="Suppress generation of the parsing functions and constructors."
+ Switch="--suppress-parsing"
+ />
+ <BooleanProperty
+ Name="GenPolymorphic"
+ DisplayName="Generate Polymorphic"
+ PropertyPageName="Code Generation"
+ Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
+ Switch="--generate-polymorphic"
+ />
+ <StringProperty
+ Name="PolymorphicType"
+ DisplayName="Polymorphic Types"
+ PropertyPageName="Code Generation"
+ Description="Treat specified comma-separated list of types as roots of polymorphic type hierarchies."
+ Switch="--polymorphic-type [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <BooleanProperty
+ Name="PolymorphicTypeAll"
+ DisplayName="All Types Polymorphic"
+ PropertyPageName="Code Generation"
+ Description="Indicate that all types should be treated as polymorphic."
+ Switch="--polymorphic-type-all"
+ />
+ <BooleanProperty
+ Name="GenOstream"
+ DisplayName="Generate Ostream"
+ PropertyPageName="Code Generation"
+ Description="Generate ostream insertion operators for generated types. This allows to easily print a fragment or the whole object model for debugging or logging."
+ Switch="--generate-ostream"
+ />
+ <BooleanProperty
+ Name="GenDoxygen"
+ DisplayName="Generate Doxygen"
+ PropertyPageName="Code Generation"
+ Description="Generate documentation comments suitable for extraction by the Doxygen documentation system."
+ Switch="--generate-doxygen"
+ />
+ <BooleanProperty
+ Name="GenComparison"
+ DisplayName="Generate Comparison"
+ PropertyPageName="Code Generation"
+ Description="Generate comparison operators for complex types."
+ Switch="--generate-comparison"
+ />
+ <BooleanProperty
+ Name="GenDefaultCtor"
+ DisplayName="Generate Default Constructors"
+ PropertyPageName="Code Generation"
+ Description="Generate default constructors even for types that have required members."
+ Switch="--generate-default-ctor"
+ />
+ <BooleanProperty
+ Name="GenFromBaseCtor"
+ DisplayName="Generate From-Base Constructors"
+ PropertyPageName="Code Generation"
+ Description="Generate constructors that expect an instance of a base type followed by all required members."
+ Switch="--generate-from-base-ctor"
+ />
+ <BooleanProperty
+ Name="GenDetach"
+ DisplayName="Generate Detach"
+ PropertyPageName="Code Generation"
+ Description="Generate detach functions for required elements and attributes."
+ Switch="--generate-detach"
+ />
+ <BooleanProperty
+ Name="GenWildcard"
+ DisplayName="Generate Wildcard"
+ PropertyPageName="Code Generation"
+ Description="Generate accessors and modifiers as well as parsing and serialization code for XML Schema wildcards (any and anyAttribute)."
+ Switch="--generate-wildcard"
+ />
+ <BooleanProperty
+ Name="GenElementType"
+ DisplayName="Generate Element Types"
+ PropertyPageName="Code Generation"
+ Description="Generate types instead of parsing and serialization functions for root elements."
+ Switch="--generate-element-type"
+ />
+ <BooleanProperty
+ Name="GenElementMap"
+ DisplayName="Generate Element Map"
+ PropertyPageName="Code Generation"
+ Description="Generate a root element map that allows uniform parsing and serialization of multiple root elements."
+ Switch="--generate-element-map"
+ />
+ <BooleanProperty
+ Name="GenIntellisense"
+ DisplayName="Generate IntelliSense"
+ PropertyPageName="Code Generation"
+ Description="Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0)."
+ Switch="--generate-intellisense"
+ DefaultValue="true"
+ />
+ <EnumProperty
+ Name="TypeNaming"
+ DisplayName="Type Naming"
+ PropertyPageName="Code Generation"
+ Description="Specify the type naming convention that should be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="K&amp;R"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--type-naming java"
+ DisplayName="Java"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--type-naming ucc"
+ DisplayName="Upper Camel Case"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="FunctionNaming"
+ DisplayName="Function Naming"
+ PropertyPageName="Code Generation"
+ Description="Specify the function naming convention that should be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="K&amp;R"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--function-naming java"
+ DisplayName="Java"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--function-naming lcc"
+ DisplayName="Lower Camel Case"
+ />
+ </Values>
+ </EnumProperty>
+ <StringProperty
+ Name="RootElement"
+ DisplayName="Root Element"
+ PropertyPageName="Code Generation"
+ Description="Treat only specified comma-separated list of elements as document roots."
+ Switch="--root-element [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <StringProperty
+ Name="ExportSymbol"
+ DisplayName="Export Symbol"
+ PropertyPageName="Code Generation"
+ Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
+ Switch="--export-symbol [value]"
+ />
+ <StringProperty
+ Name="HxxPrologue"
+ DisplayName="Header Prologue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the beginning of the header file."
+ Switch="--hxx-prologue-file [value]"
+ />
+ <StringProperty
+ Name="HxxEpilogue"
+ DisplayName="Header Epilogue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the end of the header file."
+ Switch="--hxx-epilogue-file [value]"
+ />
+ </Properties>
+ </CustomBuildRule>
+ </Rules>
+</VisualStudioToolFile>
diff --git a/xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules b/xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules
new file mode 100644
index 0000000..a94a3ea
--- /dev/null
+++ b/xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VisualStudioToolFile
+ Name="CodeSynthesis XSD Compiler C++/Parser Mapping Rules"
+ Version="8.00"
+ >
+ <Rules>
+ <CustomBuildRule
+ Name="C++/Parser Mapping Rule"
+ DisplayName="C++/Parser Mapping Rule"
+ CommandLine="xsd.exe cxx-parser [AllOptions] [AdditionalOptions] [Inputs]"
+ Outputs="[$OutDir]\$(InputName)[$SkelFileSuffix][$HeaderSuffix];[$OutDir]\$(InputName)[$SkelFileSuffix][$SourceSuffix]"
+ FileExtensions="*.xsd"
+ ExecutionDescription="xsd cxx-parser [Inputs]"
+ ShowOnlyRuleProperties="false"
+ >
+ <Properties>
+ <StringProperty
+ Name="OutDir"
+ DisplayName="Output Directory"
+ Category="Output"
+ Description="Output directory for the generated files"
+ Switch="--output-dir [value]"
+ DefaultValue="."
+ />
+ <BooleanProperty
+ Name="ProprietaryLicense"
+ DisplayName="Proprietary License"
+ Category="Licensing"
+ Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
+ Switch="--proprietary-license"
+ />
+ <StringProperty
+ Name="HeaderSuffix"
+ DisplayName="C++ Header Suffix "
+ Category="Output"
+ Description="Generated C++ header file suffix"
+ Switch="--hxx-suffix [value]"
+ DefaultValue=".hxx"
+ />
+ <StringProperty
+ Name="SourceSuffix"
+ DisplayName="C++ Source Suffix"
+ Category="Output"
+ Description="Generated C++ source file suffix"
+ Switch="--cxx-suffix [value]"
+ DefaultValue=".cxx"
+ />
+ <StringProperty
+ Name="InlineSuffix"
+ DisplayName="C++ Inline Suffix"
+ Category="Output"
+ Description="Generated C++ inline file suffix"
+ Switch="--ixx-suffix [value]"
+ DefaultValue=".ixx"
+ />
+ <StringProperty
+ Name="SkelFileSuffix"
+ DisplayName="Parser Skeleton File Suffix"
+ PropertyPageName="Output"
+ Description="Use the provided suffix to construct the names of generated parser skeleton file."
+ Switch="--skel-file-suffix [value]"
+ DefaultValue="-pskel"
+ />
+ <EnumProperty
+ Name="CharType"
+ DisplayName="Char Type"
+ PropertyPageName="Code Generation"
+ Description="Character type to be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="char"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-type wchar_t"
+ DisplayName="wchar_t"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="CharEncoding"
+ DisplayName="Char Encoding"
+ PropertyPageName="Code Generation"
+ Description="Character encoding to be used bu the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-encoding iso8859-1"
+ DisplayName="ISO-8859-1"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--char-encoding lcp"
+ DisplayName="Xerces-C++ local code page"
+ />
+ <EnumValue
+ Value="3"
+ Switch="--char-encoding custom"
+ DisplayName="Custom encoding"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="XMLParser"
+ DisplayName="Underlying XML Parser"
+ PropertyPageName="Code Generation"
+ Description="Use the specified parser as the underlying XML parser."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="xerces"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--xml-parser expat"
+ DisplayName="expat"
+ />
+ </Values>
+ </EnumProperty>
+ <StringProperty
+ Name="NamespaceMap"
+ DisplayName="Namespace Map"
+ PropertyPageName="Code Generation"
+ Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form &lt;xml-ns&gt;=&lt;cxx-ns&gt; where &lt;xml-ns&gt; stands for an XML Schema namespace and &lt;cxx-ns&gt; - for a C++ namespace."
+ Switch="--namespace-map [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <StringProperty
+ Name="TypeMap"
+ DisplayName="Type Map"
+ PropertyPageName="Code Generation"
+ Description="Specify type map files as a comma-separated list."
+ Switch="--type-map [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <BooleanProperty
+ Name="GenInline"
+ DisplayName="Generate Inline"
+ PropertyPageName="Code Generation"
+ Description="Generate simple functions inline. This option triggers creation of the inline file."
+ Switch="--generate-inline"
+ />
+ <BooleanProperty
+ Name="GenValidation"
+ DisplayName="Generate Validation Code"
+ PropertyPageName="Code Generation"
+ Description="Generate validation code which ensures that instance documents conform to the schema. This is the default for the Expat XML parser."
+ Switch="--generate-validation"
+ />
+ <BooleanProperty
+ Name="SupValidation"
+ DisplayName="Suppress Validation Code"
+ PropertyPageName="Code Generation"
+ Description="Suppress generation of validation code. This is the default for the Xerces-C++ XML parser."
+ Switch="--suppress-validation"
+ />
+ <BooleanProperty
+ Name="GenPolymorphic"
+ DisplayName="Generate Polymorphic"
+ PropertyPageName="Code Generation"
+ Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
+ Switch="--generate-polymorphic"
+ />
+ <StringProperty
+ Name="SkelTypeSuffix"
+ DisplayName="Parser Skeleton Type Suffix"
+ PropertyPageName="Code Generation"
+ Description="Use the provided suffix to construct the names of generated parser skeletons."
+ Switch="--skel-type-suffix [value]"
+ DefaultValue="_pskel"
+ />
+ <StringProperty
+ Name="ExportSymbol"
+ DisplayName="Export Symbol"
+ PropertyPageName="Code Generation"
+ Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
+ Switch="--export-symbol [value]"
+ />
+ <StringProperty
+ Name="HxxPrologue"
+ DisplayName="Header Prologue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the beginning of the header file."
+ Switch="--hxx-prologue-file [value]"
+ />
+ <StringProperty
+ Name="HxxEpilogue"
+ DisplayName="Header Epilogue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the end of the header file."
+ Switch="--hxx-epilogue-file [value]"
+ />
+ </Properties>
+ </CustomBuildRule>
+ </Rules>
+</VisualStudioToolFile>
diff --git a/xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules b/xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules
new file mode 100644
index 0000000..d82d618
--- /dev/null
+++ b/xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VisualStudioToolFile
+ Name="CodeSynthesis XSD Compiler C++/Tree Mapping Rules"
+ Version="8.00"
+ >
+ <Rules>
+ <CustomBuildRule
+ Name="C++/Tree Mapping Rule"
+ DisplayName="C++/Tree Mapping Rule"
+ CommandLine="xsd.exe cxx-tree [AllOptions] [AdditionalOptions] [Inputs]"
+ Outputs="[$OutDir]\$(InputName)[$HeaderSuffix];[$OutDir]\$(InputName)[$SourceSuffix]"
+ FileExtensions="*.xsd"
+ ExecutionDescription="xsd cxx-tree [Inputs]"
+ ShowOnlyRuleProperties="false"
+ >
+ <Properties>
+ <StringProperty
+ Name="OutDir"
+ DisplayName="Output Directory"
+ Category="Output"
+ Description="Output directory for the generated files"
+ Switch="--output-dir [value]"
+ DefaultValue="."
+ />
+ <BooleanProperty
+ Name="ProprietaryLicense"
+ DisplayName="Proprietary License"
+ Category="Licensing"
+ Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
+ Switch="--proprietary-license"
+ />
+ <StringProperty
+ Name="HeaderSuffix"
+ DisplayName="C++ Header Suffix "
+ Category="Output"
+ Description="Generated C++ header file suffix"
+ Switch="--hxx-suffix [value]"
+ DefaultValue=".hxx"
+ />
+ <StringProperty
+ Name="SourceSuffix"
+ DisplayName="C++ Source Suffix"
+ Category="Output"
+ Description="Generated C++ source file suffix"
+ Switch="--cxx-suffix [value]"
+ DefaultValue=".cxx"
+ />
+ <StringProperty
+ Name="InlineSuffix"
+ DisplayName="C++ Inline Suffix"
+ Category="Output"
+ Description="Generated C++ inline file suffix"
+ Switch="--ixx-suffix [value]"
+ DefaultValue=".ixx"
+ />
+ <StringProperty
+ Name="ForwardSuffix"
+ DisplayName="C++ Forward Declaration Suffix"
+ Category="Output"
+ Description="Generated C++ forward declaration file suffix"
+ Switch="--fwd-suffix [value]"
+ DefaultValue="-fwd.hxx"
+ />
+ <EnumProperty
+ Name="CharType"
+ DisplayName="Char Type"
+ PropertyPageName="Code Generation"
+ Description="Character type to be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="char"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-type wchar_t"
+ DisplayName="wchar_t"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="CharEncoding"
+ DisplayName="Char Encoding"
+ PropertyPageName="Code Generation"
+ Description="Character encoding to be used bu the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--char-encoding iso8859-1"
+ DisplayName="ISO-8859-1"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--char-encoding lcp"
+ DisplayName="Xerces-C++ local code page"
+ />
+ <EnumValue
+ Value="3"
+ Switch="--char-encoding custom"
+ DisplayName="Custom encoding"
+ />
+ </Values>
+ </EnumProperty>
+ <StringProperty
+ Name="NamespaceMap"
+ DisplayName="Namespace Map"
+ PropertyPageName="Code Generation"
+ Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form &lt;xml-ns&gt;=&lt;cxx-ns&gt; where &lt;xml-ns&gt; stands for an XML Schema namespace and &lt;cxx-ns&gt; - for a C++ namespace."
+ Switch="--namespace-map [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <BooleanProperty
+ Name="GenInline"
+ DisplayName="Generate Inline"
+ PropertyPageName="Code Generation"
+ Description="Generate simple functions inline. This option triggers creation of the inline file."
+ Switch="--generate-inline"
+ />
+ <BooleanProperty
+ Name="GenForward"
+ DisplayName="Generate Forward"
+ PropertyPageName="Code Generation"
+ Description="Generate a separate header file with forward declarations for the types being generated."
+ Switch="--generate-forward"
+ />
+ <BooleanProperty
+ Name="GenSerialization"
+ DisplayName="Generate Serialization"
+ PropertyPageName="Code Generation"
+ Description="Generate serialization functions. Serialization functions convert the object model back to XML."
+ Switch="--generate-serialization"
+ />
+ <BooleanProperty
+ Name="SupParsing"
+ DisplayName="Suppress Parsing"
+ PropertyPageName="Code Generation"
+ Description="Suppress generation of the parsing functions and constructors."
+ Switch="--suppress-parsing"
+ />
+ <BooleanProperty
+ Name="GenPolymorphic"
+ DisplayName="Generate Polymorphic"
+ PropertyPageName="Code Generation"
+ Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
+ Switch="--generate-polymorphic"
+ />
+ <StringProperty
+ Name="PolymorphicType"
+ DisplayName="Polymorphic Types"
+ PropertyPageName="Code Generation"
+ Description="Treat specified comma-separated list of types as roots of polymorphic type hierarchies."
+ Switch="--polymorphic-type [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <BooleanProperty
+ Name="PolymorphicTypeAll"
+ DisplayName="All Types Polymorphic"
+ PropertyPageName="Code Generation"
+ Description="Indicate that all types should be treated as polymorphic."
+ Switch="--polymorphic-type-all"
+ />
+ <BooleanProperty
+ Name="GenOstream"
+ DisplayName="Generate Ostream"
+ PropertyPageName="Code Generation"
+ Description="Generate ostream insertion operators for generated types. This allows to easily print a fragment or the whole object model for debugging or logging."
+ Switch="--generate-ostream"
+ />
+ <BooleanProperty
+ Name="GenDoxygen"
+ DisplayName="Generate Doxygen"
+ PropertyPageName="Code Generation"
+ Description="Generate documentation comments suitable for extraction by the Doxygen documentation system."
+ Switch="--generate-doxygen"
+ />
+ <BooleanProperty
+ Name="GenComparison"
+ DisplayName="Generate Comparison"
+ PropertyPageName="Code Generation"
+ Description="Generate comparison operators for complex types."
+ Switch="--generate-comparison"
+ />
+ <BooleanProperty
+ Name="GenDefaultCtor"
+ DisplayName="Generate Default Constructors"
+ PropertyPageName="Code Generation"
+ Description="Generate default constructors even for types that have required members."
+ Switch="--generate-default-ctor"
+ />
+ <BooleanProperty
+ Name="GenFromBaseCtor"
+ DisplayName="Generate From-Base Constructors"
+ PropertyPageName="Code Generation"
+ Description="Generate constructors that expect an instance of a base type followed by all required members."
+ Switch="--generate-from-base-ctor"
+ />
+ <BooleanProperty
+ Name="GenDetach"
+ DisplayName="Generate Detach"
+ PropertyPageName="Code Generation"
+ Description="Generate detach functions for required elements and attributes."
+ Switch="--generate-detach"
+ />
+ <BooleanProperty
+ Name="GenWildcard"
+ DisplayName="Generate Wildcard"
+ PropertyPageName="Code Generation"
+ Description="Generate accessors and modifiers as well as parsing and serialization code for XML Schema wildcards (any and anyAttribute)."
+ Switch="--generate-wildcard"
+ />
+ <BooleanProperty
+ Name="GenElementType"
+ DisplayName="Generate Element Types"
+ PropertyPageName="Code Generation"
+ Description="Generate types instead of parsing and serialization functions for root elements."
+ Switch="--generate-element-type"
+ />
+ <BooleanProperty
+ Name="GenElementMap"
+ DisplayName="Generate Element Map"
+ PropertyPageName="Code Generation"
+ Description="Generate a root element map that allows uniform parsing and serialization of multiple root elements."
+ Switch="--generate-element-map"
+ />
+ <BooleanProperty
+ Name="GenIntellisense"
+ DisplayName="Generate IntelliSense"
+ PropertyPageName="Code Generation"
+ Description="Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0)."
+ Switch="--generate-intellisense"
+ />
+ <EnumProperty
+ Name="TypeNaming"
+ DisplayName="Type Naming"
+ PropertyPageName="Code Generation"
+ Description="Specify the type naming convention that should be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="K&amp;R"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--type-naming java"
+ DisplayName="Java"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--type-naming ucc"
+ DisplayName="Upper Camel Case"
+ />
+ </Values>
+ </EnumProperty>
+ <EnumProperty
+ Name="FunctionNaming"
+ DisplayName="Function Naming"
+ PropertyPageName="Code Generation"
+ Description="Specify the function naming convention that should be used in the generated code."
+ >
+ <Values>
+ <EnumValue
+ Value="0"
+ DisplayName="K&amp;R"
+ />
+ <EnumValue
+ Value="1"
+ Switch="--function-naming java"
+ DisplayName="Java"
+ />
+ <EnumValue
+ Value="2"
+ Switch="--function-naming lcc"
+ DisplayName="Lower Camel Case"
+ />
+ </Values>
+ </EnumProperty>
+ <StringProperty
+ Name="RootElement"
+ DisplayName="Root Element"
+ PropertyPageName="Code Generation"
+ Description="Treat only specified comma-separated list of elements as document roots."
+ Switch="--root-element [value]"
+ Delimited="true"
+ Delimiters=","
+ />
+ <StringProperty
+ Name="ExportSymbol"
+ DisplayName="Export Symbol"
+ PropertyPageName="Code Generation"
+ Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
+ Switch="--export-symbol [value]"
+ />
+ <StringProperty
+ Name="HxxPrologue"
+ DisplayName="Header Prologue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the beginning of the header file."
+ Switch="--hxx-prologue-file [value]"
+ />
+ <StringProperty
+ Name="HxxEpilogue"
+ DisplayName="Header Epilogue File"
+ PropertyPageName="Code Generation"
+ Description="Insert the contents of the file specified at the end of the header file."
+ Switch="--hxx-epilogue-file [value]"
+ />
+ </Properties>
+ </CustomBuildRule>
+ </Rules>
+</VisualStudioToolFile>