|
From: <mcu...@us...> - 2009-05-25 05:59:53
|
Revision: 1389
http://orm.svn.sourceforge.net/orm/?rev=1389&view=rev
Author: mcurland
Date: 2009-05-25 05:59:43 +0000 (Mon, 25 May 2009)
Log Message:
-----------
Verbalization 'Derivation Rule' text and rename 'Definition' to 'Informal Description'. refs #346
Modified Paths:
--------------
trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml
trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd
trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html
trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs
trunk/ORMModel/ObjectModel/VerbalizationGenerator.xml
trunk/ORMModel/ObjectModel/VerbalizationGenerator.xsd
trunk/ORMModel/ObjectModel/VerbalizationGenerator.xslt
trunk/Setup/Readme.htm
Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml 2009-05-25 05:59:43 UTC (rev 1389)
@@ -25,7 +25,8 @@
<Snippet type="ValueTypeVerbalization"><![CDATA[{0} <span class="quantifier">is a value type</span>]]></Snippet>
<Snippet type="ModelVerbalization"><![CDATA[<span class="quantifier">Object-Role Model:</span> {0}]]></Snippet>
<Snippet type="NotesVerbalization"><![CDATA[<span class="quantifier">Notes:</span> <span class="note">{0}</span>]]></Snippet>
- <Snippet type="DefinitionVerbalization"><![CDATA[<span class="quantifier">Definition:</span> <span class="definition">{0}</span>]]></Snippet>
+ <Snippet type="DescriptionVerbalization"><![CDATA[<span class="quantifier">Informal Description:</span> <span class="definition">{0}</span>]]></Snippet>
+ <Snippet type="DerivationRuleVerbalization"><![CDATA[<span class="quantifier">Derivation Rule:</span> <span class="definition">{0}</span>]]></Snippet>
<Snippet type="ConstraintProvidesPreferredIdentifier"><![CDATA[<span class="smallIndent"><span class="quantifier">this association with</span> {0} <span class="quantifier">provides the preferred identification scheme for</span> {1}</span>]]></Snippet>
<!-- All object type names are wrapped with this style automatically.
Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xsd 2009-05-25 05:59:43 UTC (rev 1389)
@@ -25,11 +25,16 @@
<xs:redefine schemaLocation="../VerbalizationUntypedSnippets.xsd">
<xs:simpleType name="SnippetTypeEnum">
<xs:restriction base="SnippetTypeEnum">
- <xs:enumeration value="DefinitionVerbalization">
+ <xs:enumeration value="DescriptionVerbalization">
<xs:annotation>
- <xs:documentation>Description: Verbalizes the text specified for a n element definition. Format: Definition: {0}</xs:documentation>
+ <xs:documentation>Description: Verbalizes the text specified for an element description. Format: Informal Description: {0}</xs:documentation>
</xs:annotation>
</xs:enumeration>
+ <xs:enumeration value="DerivationRuleVerbalization">
+ <xs:annotation>
+ <xs:documentation>Description: Verbalizes the text specified for an element derivation rule. Format: Derivation Rule: {0}</xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
<xs:enumeration value="NotesVerbalization">
<xs:annotation>
<xs:documentation>Description: Verbalizes the text specified for a model note. Format: Notes: {0}</xs:documentation>
Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html 2009-05-25 05:59:43 UTC (rev 1389)
@@ -340,9 +340,12 @@
<a href="#DefiniteArticle">DefiniteArticle</a>
</li>
<li>
- <a href="#DefinitionVerbalization">DefinitionVerbalization</a>
+ <a href="#DerivationRuleVerbalization">DerivationRuleVerbalization</a>
</li>
<li>
+ <a href="#DescriptionVerbalization">DescriptionVerbalization</a>
+ </li>
+ <li>
<a href="#EachInstanceQuantifier">EachInstanceQuantifier</a>
</li>
<li>
@@ -1596,22 +1599,38 @@
</p>
</div>
</div>
- <div id="DefinitionVerbalization" class="snippet">
+ <div id="DerivationRuleVerbalization" class="snippet">
<span class="snippetHeader">
- <a name="DefinitionVerbalization" id="DefinitionVerbalization">DefinitionVerbalization</a>
+ <a name="DerivationRuleVerbalization" id="DerivationRuleVerbalization">DerivationRuleVerbalization</a>
</span>
<div class="snippetStatement">
- <strong>Description: </strong> Verbalizes the text specified for a n element definition. <br />
- <strong>Format: </strong> Definition: {0}</div>
+ <strong>Description: </strong> Verbalizes the text specified for an element derivation rule. <br />
+ <strong>Format: </strong> Derivation Rule: {0}</div>
<div class="snippetReplacementFieldCount">
<span class="reportItem">Number of replacement fields: </span>1</div>
<div class="snippetUnformattedText">
<span class="reportItem">Unformatted version: </span>
<div class="unformattedSnippet">
- <pre class="unformattedSnippetDecorator">Definition: {0}</pre>
+ <pre class="unformattedSnippetDecorator">Derivation Rule: {0}</pre>
</div>
</div>
</div>
+ <div id="DescriptionVerbalization" class="snippet">
+ <span class="snippetHeader">
+ <a name="DescriptionVerbalization" id="DescriptionVerbalization">DescriptionVerbalization</a>
+ </span>
+ <div class="snippetStatement">
+ <strong>Description: </strong> Verbalizes the text specified for an element description. <br />
+ <strong>Format: </strong> Informal Description: {0}</div>
+ <div class="snippetReplacementFieldCount">
+ <span class="reportItem">Number of replacement fields: </span>1</div>
+ <div class="snippetUnformattedText">
+ <span class="reportItem">Unformatted version: </span>
+ <div class="unformattedSnippet">
+ <pre class="unformattedSnippetDecorator">Informal Description: {0}</pre>
+ </div>
+ </div>
+ </div>
<div id="EachInstanceQuantifier" class="snippet">
<span class="snippetHeader">
<a name="EachInstanceQuantifier" id="EachInstanceQuantifier">EachInstanceQuantifier</a>
Modified: trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs 2009-05-25 05:59:43 UTC (rev 1389)
@@ -75,8 +75,10 @@
ContextScopeReference,
/// <summary>The 'DefiniteArticle' format string snippet. Contains 1 replacement field.</summary>
DefiniteArticle,
- /// <summary>The 'DefinitionVerbalization' format string snippet. Contains 1 replacement field.</summary>
- DefinitionVerbalization,
+ /// <summary>The 'DerivationRuleVerbalization' format string snippet. Contains 1 replacement field.</summary>
+ DerivationRuleVerbalization,
+ /// <summary>The 'DescriptionVerbalization' format string snippet. Contains 1 replacement field.</summary>
+ DescriptionVerbalization,
/// <summary>The 'EachInstanceQuantifier' format string snippet. Contains 1 replacement field.</summary>
EachInstanceQuantifier,
/// <summary>The 'EntityTypeVerbalization' format string snippet. Contains 1 replacement field.</summary>
@@ -403,7 +405,8 @@
@"<span class=""quantifier"">context: </span>{0}",
@"<span class=""quantifier"">in this context,</span> {0}",
@"<span class=""quantifier"">that</span> {0}",
- @"<span class=""quantifier"">Definition:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Derivation Rule:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Informal Description:</span> <span class=""definition"">{0}</span>",
@"<span class=""quantifier"">each instance of</span> {0} <span class=""quantifier"">occurs only once</span>",
@"{0} <span class=""quantifier"">is an entity type</span>",
@"{0}<span class=""quantifier""> if and only if </span>{1}",
@@ -599,7 +602,8 @@
@"<span class=""quantifier"">context: </span>{0}",
@"<span class=""quantifier"">in this context,</span> {0}",
@"<span class=""quantifier"">that</span> {0}",
- @"<span class=""quantifier"">Definition:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Derivation Rule:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Informal Description:</span> <span class=""definition"">{0}</span>",
@"<span class=""quantifier"">each instance of</span> {0} <span class=""quantifier"">occurs only once</span>",
@"{0} <span class=""quantifier"">is an entity type</span>",
@"{0}<span class=""quantifier""> if and only if </span>{1}",
@@ -795,7 +799,8 @@
@"<span class=""quantifier"">context: </span>{0}",
@"<span class=""quantifier"">in this context,</span> {0}",
@"<span class=""quantifier"">that</span> {0}",
- @"<span class=""quantifier"">Definition:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Derivation Rule:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Informal Description:</span> <span class=""definition"">{0}</span>",
@"<span class=""quantifier"">each instance of</span> {0} <span class=""quantifier"">occurs only once</span>",
@"{0} <span class=""quantifier"">is an entity type</span>",
@"{0}<span class=""quantifier""> if and only if </span>{1}",
@@ -991,7 +996,8 @@
@"<span class=""quantifier"">context: </span>{0}",
@"<span class=""quantifier"">in this context,</span> {0}",
@"<span class=""quantifier"">that</span> {0}",
- @"<span class=""quantifier"">Definition:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Derivation Rule:</span> <span class=""definition"">{0}</span>",
+ @"<span class=""quantifier"">Informal Description:</span> <span class=""definition"">{0}</span>",
@"<span class=""quantifier"">each instance of</span> {0} <span class=""quantifier"">occurs only once</span>",
@"{0} <span class=""quantifier"">is an entity type</span>",
@"{0}<span class=""quantifier""> if and only if </span>{1}",
@@ -1979,7 +1985,7 @@
#endregion // Preliminary
#region Pattern Matches
verbalizationContext.BeginVerbalization(VerbalizationContent.Normal);
- string snippetFormat1 = snippets.GetSnippet(CoreVerbalizationSnippetType.DefinitionVerbalization, isDeontic, isNegative);
+ string snippetFormat1 = snippets.GetSnippet(CoreVerbalizationSnippetType.DescriptionVerbalization, isDeontic, isNegative);
string snippet1Replace1 = null;
snippet1Replace1 = this.Text;
FactType.WriteVerbalizerSentence(writer, string.Format(writer.FormatProvider, snippetFormat1, snippet1Replace1), snippets.GetSnippet(CoreVerbalizationSnippetType.CloseVerbalizationSentence, isDeontic, isNegative));
@@ -2127,6 +2133,223 @@
}
}
#endregion // Note verbalization
+ #region FactTypeDerivationExpression verbalization
+ public partial class FactTypeDerivationExpression : IVerbalize
+ {
+ /// <summary><see cref="IVerbalize.GetVerbalization"/> implementation</summary>
+ protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign)
+ {
+ #region Preliminary
+ bool isNegative = 0 != (sign & VerbalizationSign.Negative);
+ IVerbalizationSets<CoreVerbalizationSnippetType> snippets = (IVerbalizationSets<CoreVerbalizationSnippetType>)snippetsDictionary[typeof(CoreVerbalizationSnippetType)];
+ #region Prerequisite error check
+ IModelErrorOwner errorOwner = this as IModelErrorOwner;
+ bool firstErrorPending;
+ if (errorOwner != null)
+ {
+ firstErrorPending = true;
+ foreach (ModelError error in errorOwner.GetErrorCollection(ModelErrorUses.BlockVerbalization))
+ {
+ if (firstErrorPending)
+ {
+ firstErrorPending = false;
+ verbalizationContext.BeginVerbalization(VerbalizationContent.ErrorReport);
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorOpenPrimaryReport, false, false));
+ }
+ else
+ {
+ writer.WriteLine();
+ }
+ writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorPrimary, false, false), error.ErrorText, error.Id.ToString("D")));
+ }
+ if (!firstErrorPending)
+ {
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorClosePrimaryReport, false, false));
+ firstErrorPending = true;
+ foreach (ModelError error in errorOwner.GetErrorCollection(ModelErrorUses.Verbalize))
+ {
+ ModelErrorDisplayFilter errorDisplayFilter = error.Model.ModelErrorDisplayFilter;
+ if (errorDisplayFilter != null && !errorDisplayFilter.ShouldDisplay(error))
+ {
+ continue;
+ }
+ if (firstErrorPending)
+ {
+ firstErrorPending = false;
+ writer.WriteLine();
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorOpenSecondaryReport, false, false));
+ }
+ else
+ {
+ writer.WriteLine();
+ }
+ writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorSecondary, false, false), error.ErrorText, error.Id.ToString("D")));
+ }
+ if (!firstErrorPending)
+ {
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorCloseSecondaryReport, false, false));
+ }
+ return true;
+ }
+ }
+ #endregion // Prerequisite error check
+ const bool isDeontic = false;
+ #endregion // Preliminary
+ #region Pattern Matches
+ verbalizationContext.BeginVerbalization(VerbalizationContent.Normal);
+ string snippetFormat1 = snippets.GetSnippet(CoreVerbalizationSnippetType.DerivationRuleVerbalization, isDeontic, isNegative);
+ string snippet1Replace1 = null;
+ snippet1Replace1 = this.Body;
+ FactType.WriteVerbalizerSentence(writer, string.Format(writer.FormatProvider, snippetFormat1, snippet1Replace1), snippets.GetSnippet(CoreVerbalizationSnippetType.CloseVerbalizationSentence, isDeontic, isNegative));
+ #endregion // Pattern Matches
+ #region Error report
+ if (errorOwner != null)
+ {
+ firstErrorPending = true;
+ foreach (ModelError error in errorOwner.GetErrorCollection(ModelErrorUses.Verbalize))
+ {
+ ModelErrorDisplayFilter errorDisplayFilter = error.Model.ModelErrorDisplayFilter;
+ if (errorDisplayFilter != null && !errorDisplayFilter.ShouldDisplay(error))
+ {
+ continue;
+ }
+ if (firstErrorPending)
+ {
+ firstErrorPending = false;
+ writer.WriteLine();
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorOpenSecondaryReport, false, false));
+ }
+ else
+ {
+ writer.WriteLine();
+ }
+ writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorSecondary, false, false), error.ErrorText, error.Id.ToString("D")));
+ }
+ if (!firstErrorPending)
+ {
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorCloseSecondaryReport, false, false));
+ }
+ }
+ #endregion // Error report
+ return true;
+ }
+ bool IVerbalize.GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign)
+ {
+ return this.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign);
+ }
+ }
+ #endregion // FactTypeDerivationExpression verbalization
+ #region SubtypeDerivationExpression verbalization
+ public partial class SubtypeDerivationExpression : IVerbalize
+ {
+ /// <summary><see cref="IVerbalize.GetVerbalization"/> implementation</summary>
+ protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign)
+ {
+ #region Preliminary
+ if (!this.Subtype.IsSubtype)
+ {
+ // A subtype derivation rule is maintained (but not saved) if the element was formerly a subtype.
+ return false;
+ }
+ bool isNegative = 0 != (sign & VerbalizationSign.Negative);
+ IVerbalizationSets<CoreVerbalizationSnippetType> snippets = (IVerbalizationSets<CoreVerbalizationSnippetType>)snippetsDictionary[typeof(CoreVerbalizationSnippetType)];
+ #region Prerequisite error check
+ IModelErrorOwner errorOwner = this as IModelErrorOwner;
+ bool firstErrorPending;
+ if (errorOwner != null)
+ {
+ firstErrorPending = true;
+ foreach (ModelError error in errorOwner.GetErrorCollection(ModelErrorUses.BlockVerbalization))
+ {
+ if (firstErrorPending)
+ {
+ firstErrorPending = false;
+ verbalizationContext.BeginVerbalization(VerbalizationContent.ErrorReport);
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorOpenPrimaryReport, false, false));
+ }
+ else
+ {
+ writer.WriteLine();
+ }
+ writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorPrimary, false, false), error.ErrorText, error.Id.ToString("D")));
+ }
+ if (!firstErrorPending)
+ {
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorClosePrimaryReport, false, false));
+ firstErrorPending = true;
+ foreach (ModelError error in errorOwner.GetErrorCollection(ModelErrorUses.Verbalize))
+ {
+ ModelErrorDisplayFilter errorDisplayFilter = error.Model.ModelErrorDisplayFilter;
+ if (errorDisplayFilter != null && !errorDisplayFilter.ShouldDisplay(error))
+ {
+ continue;
+ }
+ if (firstErrorPending)
+ {
+ firstErrorPending = false;
+ writer.WriteLine();
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorOpenSecondaryReport, false, false));
+ }
+ else
+ {
+ writer.WriteLine();
+ }
+ writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorSecondary, false, false), error.ErrorText, error.Id.ToString("D")));
+ }
+ if (!firstErrorPending)
+ {
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorCloseSecondaryReport, false, false));
+ }
+ return true;
+ }
+ }
+ #endregion // Prerequisite error check
+ const bool isDeontic = false;
+ #endregion // Preliminary
+ #region Pattern Matches
+ verbalizationContext.BeginVerbalization(VerbalizationContent.Normal);
+ string snippetFormat1 = snippets.GetSnippet(CoreVerbalizationSnippetType.DerivationRuleVerbalization, isDeontic, isNegative);
+ string snippet1Replace1 = null;
+ snippet1Replace1 = this.Body;
+ FactType.WriteVerbalizerSentence(writer, string.Format(writer.FormatProvider, snippetFormat1, snippet1Replace1), snippets.GetSnippet(CoreVerbalizationSnippetType.CloseVerbalizationSentence, isDeontic, isNegative));
+ #endregion // Pattern Matches
+ #region Error report
+ if (errorOwner != null)
+ {
+ firstErrorPending = true;
+ foreach (ModelError error in errorOwner.GetErrorCollection(ModelErrorUses.Verbalize))
+ {
+ ModelErrorDisplayFilter errorDisplayFilter = error.Model.ModelErrorDisplayFilter;
+ if (errorDisplayFilter != null && !errorDisplayFilter.ShouldDisplay(error))
+ {
+ continue;
+ }
+ if (firstErrorPending)
+ {
+ firstErrorPending = false;
+ writer.WriteLine();
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorOpenSecondaryReport, false, false));
+ }
+ else
+ {
+ writer.WriteLine();
+ }
+ writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorSecondary, false, false), error.ErrorText, error.Id.ToString("D")));
+ }
+ if (!firstErrorPending)
+ {
+ writer.Write(snippets.GetSnippet(CoreVerbalizationSnippetType.ErrorCloseSecondaryReport, false, false));
+ }
+ }
+ #endregion // Error report
+ return true;
+ }
+ bool IVerbalize.GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign)
+ {
+ return this.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign);
+ }
+ }
+ #endregion // SubtypeDerivationExpression verbalization
#region SubsetConstraint verbalization
public partial class SubsetConstraint : IVerbalize
{
Modified: trunk/ORMModel/ObjectModel/VerbalizationGenerator.xml
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationGenerator.xml 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/ORMModel/ObjectModel/VerbalizationGenerator.xml 2009-05-25 05:59:43 UTC (rev 1389)
@@ -88,7 +88,7 @@
</Snippet>
</ObjectType>
<Definition>
- <Snippet ref="DefinitionVerbalization">
+ <Snippet ref="DescriptionVerbalization">
<NoteText/>
</Snippet>
</Definition>
@@ -97,6 +97,16 @@
<NoteText/>
</Snippet>
</Note>
+ <FactTypeDerivationExpression>
+ <Snippet ref="DerivationRuleVerbalization">
+ <ExpressionBody/>
+ </Snippet>
+ </FactTypeDerivationExpression>
+ <SubtypeDerivationExpression>
+ <Snippet ref="DerivationRuleVerbalization">
+ <ExpressionBody/>
+ </Snippet>
+ </SubtypeDerivationExpression>
<!-- Generate constraint verbalizations -->
<Constraints>
<Constraint type="SubsetConstraint" patternGroup="SetComparisonConstraint">
Modified: trunk/ORMModel/ObjectModel/VerbalizationGenerator.xsd
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationGenerator.xsd 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/ORMModel/ObjectModel/VerbalizationGenerator.xsd 2009-05-25 05:59:43 UTC (rev 1389)
@@ -610,6 +610,7 @@
<xs:element name="ContextName" type="ContextNameType"/>
<xs:element name="ObjectifyingInstanceIdentifierName" type="ObjectifyingInstanceIdentifierNameType"/>
<xs:element name="ContextId" type="ElementIdType"/>
+ <xs:element name="ExpressionBody" type="ExpressionBodyType"/>
<xs:element name="NoteText" type="NoteTextType"/>
<xs:element name="ReferenceMode" type="ReferenceModeType"/>
<xs:element name="PortableDataType" type="PortableDataTypeType"/>
@@ -932,6 +933,13 @@
</xs:documentation>
</xs:annotation>
</xs:complexType>
+ <xs:complexType name="ExpressionBodyType">
+ <xs:annotation>
+ <xs:documentation>
+ Returns the body of a derivation expression.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:complexType>
<xs:complexType name="NoteTextType">
<xs:annotation>
<xs:documentation>
@@ -1044,34 +1052,45 @@
<xs:complexType name="FactConstructType">
<!-- Nothing here yet, this is for the top-level verbalization of a Fact -->
</xs:complexType>
+ <xs:complexType name="SnippetContainerType" abstract="true">
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="Snippet" type="SnippetTypeWithConditionalMatch" />
+ <xs:element name="ConditionalSnippet" type="ConditionalSnippetType" />
+ </xs:choice>
+ </xs:complexType>
<xs:complexType name="SubtypeConstructType">
<xs:annotation>
<xs:documentation>
Returns the full verbalization for a subtype fact, i.e, Man is a subtype of Person.
</xs:documentation>
</xs:annotation>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="Snippet" type="SnippetTypeWithConditionalMatch" />
- <xs:element name="ConditionalSnippet" type="ConditionalSnippetType" />
- </xs:choice>
+ <xs:complexContent>
+ <xs:extension base="SnippetContainerType"/>
+ </xs:complexContent>
</xs:complexType>
<xs:complexType name="NoteConstructType">
<xs:annotation>
<xs:documentation>Returns the verbalization for the notes associated with an objectType.</xs:documentation>
</xs:annotation>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="Snippet" type="SnippetTypeWithConditionalMatch" />
- <xs:element name="ConditionalSnippet" type="ConditionalSnippetType" />
- </xs:choice>
+ <xs:complexContent>
+ <xs:extension base="SnippetContainerType"/>
+ </xs:complexContent>
</xs:complexType>
+ <xs:complexType name="DerivationExpressionConstructType">
+ <xs:annotation>
+ <xs:documentation>Returns the verbalization for a derivation expression.</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SnippetContainerType"/>
+ </xs:complexContent>
+ </xs:complexType>
<xs:complexType name="ModelConstructType">
<xs:annotation>
<xs:documentation>Returns the verbalization for the ORMModel.</xs:documentation>
</xs:annotation>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="Snippet" type="SnippetTypeWithConditionalMatch" />
- <xs:element name="ConditionalSnippet" type="ConditionalSnippetType" />
- </xs:choice>
+ <xs:complexContent>
+ <xs:extension base="SnippetContainerType"/>
+ </xs:complexContent>
</xs:complexType>
<xs:complexType name="ObjectConstructType">
<xs:annotation>
@@ -1440,6 +1459,8 @@
<xs:element name="ObjectType" type="ObjectConstructType" />
<xs:element name="Definition" type="NoteConstructType" />
<xs:element name="Note" type="NoteConstructType" />
+ <xs:element name="SubtypeDerivationExpression" type="DerivationExpressionConstructType"/>
+ <xs:element name="FactTypeDerivationExpression" type="DerivationExpressionConstructType"/>
<xs:element name="ORMModel" type="ModelConstructType" />
</xs:all>
</xs:complexType>
Modified: trunk/ORMModel/ObjectModel/VerbalizationGenerator.xslt
===================================================================
(Binary files differ)
Modified: trunk/Setup/Readme.htm
===================================================================
--- trunk/Setup/Readme.htm 2009-05-23 21:06:13 UTC (rev 1388)
+++ trunk/Setup/Readme.htm 2009-05-25 05:59:43 UTC (rev 1389)
@@ -41,7 +41,7 @@
</ul>-->
<hr/>
<h2>May 2009 CTP Changes</h2>
-<div>The May 2009 CTP release includes all modifications through changeset 1388. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
+<div>The May 2009 CTP release includes all modifications through changeset 1389. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
<ul>
<li><a href="#Display Related Types 2009-05">Controlling display of subtype lines</a> </li>
<li><a href="#Role name highlighting 2009-05">Role name highlighting</a> </li>
@@ -55,6 +55,7 @@
<li>The user action of objectifying and unobjectifying a fact type that has multiple shape representations may result in multiple additional shapes.</li>
<li>Validation errors for frequency constraints on the same roles as a uniqueness constraint are validated live instead of at file load time only.</li>
<li>Connection lines to intransitive ring constraints attach to the edge instead of the center of the shape.</li>
+<li>Verbalize Derivation Rule expressions for FactType and Subtype derivation rules.</li>
</ol>
</li>
</ul>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|