Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Commit

Permalink
Initial commit of XsdDoc, an XML schema documentation plug-in for SHFB
Browse files Browse the repository at this point in the history
  • Loading branch information
terrajobst committed Mar 2, 2009
0 parents commit 9a1b5cf
Show file tree
Hide file tree
Showing 216 changed files with 31,133 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Build/Build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@echo off

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" Build.proj /t:Build

PAUSE
117 changes: 117 additions & 0 deletions Build/Build.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

<!-- Build Settings -->

<PropertyGroup>
<BuildDir>$(MSBuildProjectDirectory)\</BuildDir>
<ProjectDir>$(BuildDir)..\</ProjectDir>
<SourceDir>$(ProjectDir)Source\</SourceDir>
<SetupDir>$(ProjectDir)Setup\</SetupDir>
<LibDir>$(ProjectDir)Lib\</LibDir>
<HelpDir>$(ProjectDir)Help\</HelpDir>
<SamplesDir>$(ProjectDir)Samples\</SamplesDir>
<OutputDir>$(ProjectDir)Output\</OutputDir>
<GeneratedBinaries>$(OutputDir)Bin\</GeneratedBinaries>
<GeneratedHelp>$(OutputDir)Help\</GeneratedHelp>
<GeneratedSetup>$(OutputDir)Setup\</GeneratedSetup>
<GeneratedSourceCode>$(OutputDir)Source\</GeneratedSourceCode>
<GeneratedSamples>$(OutputDir)Samples\</GeneratedSamples>
<GeneratedRelease>$(OutputDir)Release\</GeneratedRelease>
<Configuration>Release</Configuration>
</PropertyGroup>

<!-- External projects -->

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>

<!-- Build -->

<Target Name="Build">
<CallTarget Targets="Clean" />
<CallTarget Targets="Compile" />
<CallTarget Targets="GenerateHelp" />
<CallTarget Targets="GenerateSetup" />
<CallTarget Targets="GenerateSourceCode" />
<CallTarget Targets="GenerateSamples" />
<CallTarget Targets="GenerateRelease" />
</Target>

<!-- Clean -->

<Target Name="Clean">
<ItemGroup>
<AllSolutionFiles Include="$(SourceDir)**\*.sln" />
<AllSolutionFiles Include="$(SetupDir)**\*.sln" />
<CompilationFiles Include="$(ProjectDir)**\bin\**\*.*" />
<CompilationFiles Include="$(ProjectDir)**\obj\**\*.*" />
</ItemGroup>
<MSBuild Projects="@(AllSolutionFiles)" Targets="Clean" />
<Delete Files="@(CompilationFiles)" />
<RemoveDir Directories="$(CustomTasksDir)" />
<RemoveDir Directories="$(OutputDir)" />
</Target>

<!-- Compile -->

<Target Name="Compile">
<MSBuild Projects="$(SourceDir)XsdDocumentation.sln"
Properties="Configuration=$(Configuration);OutDir=$(GeneratedBinaries);PostBuildEvent=" />
</Target>

<Target Name="GenerateHelp">
<MSBuild Projects="$(HelpDir)Help.shfbproj" />
</Target>

<!-- Generate Setup -->

<Target Name="GenerateSetup">
<MSBuild Projects="$(SetupDir)Setup.sln" Targets="Rebuild"
Properties="Configuration=$(Configuration);OutDir=$(GeneratedSetup);" />
</Target>

<!-- Generate Source Code -->

<Target Name="GenerateSourceCode">
<ItemGroup>
<SourceCodeFiles Include="$(ProjectDir)**\*.*"
Exclude="$(ProjectDir)**\.svn\**\*.*;$(OutputDir)**\*.*;$(LibDir)**\*.*;$(CustomTasksDir)**\*.*;$(ProjectDir)**\bin\**\*.*;$(ProjectDir)**\obj\**\*.*;$(ProjectDir)**\*.scc;$(ProjectDir)**\*.vssscc;$(ProjectDir)**\*.vspscc;$(ProjectDir)**\*.suo;$(ProjectDir)**\*.cache;$(ProjectDir)**\*.user;$(ProjectDir)**\*.resharper" />
</ItemGroup>

<Copy SourceFiles="@(SourceCodeFiles)" DestinationFolder="$(GeneratedSourceCode)%(RecursiveDir)" />
<Exec Command="attrib -r -h /s" WorkingDirectory="$(GeneratedSourceCode)" />
</Target>

<!-- Generate Samples -->

<Target Name="GenerateSamples">
<ItemGroup>
<Sample Include="$(SamplesDir)**\*.shfbproj" />
</ItemGroup>

<MSBuild Projects="@(Sample)" />

<ItemGroup>
<GeneratedSample Include="$(GeneratedSamples)**\*.chm" />
</ItemGroup>

<Copy SourceFiles="@(GeneratedSample)" DestinationFolder="$(GeneratedSamples)" />
<RemoveDir Directories="%(GeneratedSample.RootDir)%(GeneratedSample.Directory)" />
</Target>

<!-- Generate Release -->

<Target Name="GenerateRelease">
<ItemGroup>
<GeneratedSourceCodeFiles Include="$(GeneratedSourceCode)\**\*.*" />
<GeneratedSetupFiles Include="$(GeneratedSetup)\**\*.*" />
<GeneratedSampleFiles Include="$(GeneratedSamples)\**\*.*" />
</ItemGroup>

<RemoveDir Directories="$(GeneratedRelease)" />
<MakeDir Directories="$(GeneratedRelease)" />
<Zip WorkingDirectory="$(GeneratedSourceCode)" Files="@(GeneratedSourceCodeFiles)" ZipFileName="$(GeneratedRelease)Source.zip" />
<Zip WorkingDirectory="$(GeneratedSetup)" Files="@(GeneratedSetupFiles)" ZipFileName="$(GeneratedRelease)Setup.zip" />
<Zip WorkingDirectory="$(GeneratedSamples)" Files="@(GeneratedSampleFiles)" ZipFileName="$(GeneratedRelease)Samples.zip" />
</Target>
</Project>
5 changes: 5 additions & 0 deletions Build/Clean.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@echo off

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" Build.proj /t:Clean

PAUSE
5 changes: 5 additions & 0 deletions Build/Compile Debug Build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:Compile /p:Configuration=Debug

PAUSE
5 changes: 5 additions & 0 deletions Build/Compile Release Build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:Compile /p:Configuration=Release

PAUSE
5 changes: 5 additions & 0 deletions Build/Generate Help.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:GenerateHelp

PAUSE
5 changes: 5 additions & 0 deletions Build/Generate Release.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:GenerateRelease

PAUSE
5 changes: 5 additions & 0 deletions Build/Generate Samples.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:GenerateSamples

PAUSE
5 changes: 5 additions & 0 deletions Build/Generate Setup.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:GenerateSetup

PAUSE
5 changes: 5 additions & 0 deletions Build/Generate Source Code.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@ECHO OFF

"%SystemRoot%\Microsoft.NET\Framework\v3.5\MSBuild.exe" /nologo /t:GenerateSourceCode

PAUSE
Binary file added Etc/Icon/16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Icon/32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Icon/48x48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Icon/Product.ico
Binary file not shown.
Binary file added Etc/Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdAllIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdAnyAttributeIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdAnyElementIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdAttributeGroupIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdAttributeIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdAttributeRefIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdChoiceIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdComplexTypeIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdElementIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdElementRefIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdExtensionIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdFacetIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdGroupIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdKeyIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdKeyRefIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdListIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdNamespaceIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdRestrictionIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdSchemaIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdSequenceIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdSimpleTypeIcon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Etc/Media/XsdUnionIcon.png
Binary file added Etc/Media/XsdUniqueIcon.png
24 changes: 24 additions & 0 deletions Etc/Samples/AnnotationTransform/MySchema.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.example.com/MySchema"
elementFormDefault="qualified"
xmlns="http://schemas.example.com/MySchema"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:doc="http://schemas.example.com/MyDocSchema">
<xs:element name="root" type="xs:string">
<xs:annotation>
<xs:documentation>
This is my standard summary.
</xs:documentation>
<xs:appinfo>
<doc:seeAlso namespace="http://schemas.example.com/MySchema" element="otherRoot1" />
<doc:seeAlso namespace="http://schemas.example.com/MySchema" element="otherRoot2" />
<doc:remarks>
These are my custom remarks.
</doc:remarks>
</xs:appinfo>
</xs:annotation>
</xs:element>

<xs:element name="otherRoot1" type="xs:string" />
<xs:element name="otherRoot2" type="xs:string" />
</xs:schema>
46 changes: 46 additions & 0 deletions Etc/Samples/AnnotationTransform/MyTransform.xslt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsd="http://tempuri.org/XMLSchema.xsd"
xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:doc="http://schemas.example.com/MyDocSchema">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="*">
<xsl:variable name="summary" select="xs:annotation/xs:documentation" />
<xsl:variable name="remarks" select="xs:annotation/xs:appinfo/doc:remarks" />
<xsl:variable name="seeAlsos" select="xs:annotation/xs:appinfo/doc:seeAlso" />

<xsd:schemaDoc>
<ddue:summary>
<ddue:para>
<xsl:apply-templates select="$summary/@*|$summary/node()" mode="copy"/>
</ddue:para>
</ddue:summary>
<xsl:if test="$remarks">
<ddue:remarks>
<ddue:content>
<ddue:para>
<xsl:apply-templates select="$remarks/@*|$remarks/node()" mode="copy"/>
</ddue:para>
</ddue:content>
</ddue:remarks>
</xsl:if>
<xsl:if test="$seeAlsos">
<ddue:relatedTopics>
<xsl:for-each select="$seeAlsos">
<xsd:xmlEntityReference xml:space="preserve"><xsl:value-of select="@namespace"/>#E/<xsl:value-of select="@element"/></xsd:xmlEntityReference>
</xsl:for-each>
</ddue:relatedTopics>
</xsl:if>
</xsd:schemaDoc>
</xsl:template>

<xsl:template match="@*|node()" mode="copy">
<xsl:copy>
<xsl:apply-templates select="@*|node()" mode="copy"/>
</xsl:copy>
</xsl:template>

</xsl:stylesheet>
7 changes: 7 additions & 0 deletions Etc/Samples/Chameleon/Chameleon.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Chameleon"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="chameleonElement" type="xs:string" />
</xs:schema>
18 changes: 18 additions & 0 deletions Etc/Samples/Chameleon/User1.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="User1"
targetNamespace="http://tempuri.org/User1.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/User1.xsd"
xmlns:mstns="http://tempuri.org/User1.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:include schemaLocation="Chameleon.xsd" />

<xs:element name="user1">
<xs:complexType>
<xs:sequence>
<xs:element ref="chameleonElement" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
18 changes: 18 additions & 0 deletions Etc/Samples/Chameleon/User2.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="User2"
targetNamespace="http://tempuri.org/User2.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/User2.xsd"
xmlns:mstns="http://tempuri.org/User2.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:include schemaLocation="Chameleon.xsd" />

<xs:element name="User2">
<xs:complexType>
<xs:sequence>
<xs:element ref="chameleonElement" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
16 changes: 16 additions & 0 deletions Etc/Samples/ExclusionDifferentNamespace/Schema.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/Schema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/Schema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sd="http://tempuri.org/SchemaDependency.xsd">
<xs:import namespace="http://tempuri.org/SchemaDependency.xsd" schemaLocation="SchemaDependency.xsd" />

<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element ref="sd:ElementDependency" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
13 changes: 13 additions & 0 deletions Etc/Samples/ExclusionDifferentNamespace/SchemaDependency.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/SchemaDependency.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/SchemaDependency.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ElementDependency">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElementDependency" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
15 changes: 15 additions & 0 deletions Etc/Samples/ExclusionSameNamespace/Schema.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/Exclusion"
elementFormDefault="qualified"
xmlns="http://tempuri.org/Exclusion"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="SchemaDependency.xsd" />

<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElementDependency" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
13 changes: 13 additions & 0 deletions Etc/Samples/ExclusionSameNamespace/SchemaDependency.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/Exclusion"
elementFormDefault="qualified"
xmlns="http://tempuri.org/Exclusion"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ElementDependency">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElementDependency" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
16 changes: 16 additions & 0 deletions Etc/Samples/Test/EmptyNamespace.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="EmptyNamespace"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="root" type="enum" />

<xs:simpleType name="enum">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="Auto" />
<xs:enumeration value="Value1" />
<xs:enumeration value="Value2" />
<xs:enumeration value="Value3" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
Loading

0 comments on commit 9a1b5cf

Please sign in to comment.