diff --git a/Docs/DataBindingHints.html b/Docs/DataBindingHints.html
new file mode 100644
index 0000000..842a873
--- /dev/null
+++ b/Docs/DataBindingHints.html
@@ -0,0 +1,126 @@
+
+
+
+
+X²XMLDataBinding - Het gebruik van Hints
+
+
+
+
+Inhoudsopgave
+
+ -
+ Introductie
+
+ -
+ Algemeen
+
+ - XPath
+
+
+ -
+ Elementen
+
+ - Enumerations
+
+
+
+
+Introductie
+
+ Bij het genereren van een XML Data Binding zijn er situaties waarin de geproduceerde code een paar kleine wijzigingen nodig heeft om er lekker mee te kunnen werken. Om te voorkomen dat deze wijzigingen na elke vertaling handmatig gedaan moeten worden is er ondersteuning voor een Hints bestand. Als het bronbestand "Input.xsd" heet moet het Hints bestand "Input.hints.xml" heten. Middels de knop "Generate blank Hints file" in de applicatie wordt er een kaal Hints bestand gegenereerd met de juiste target namespace.
+
+
+
+ De technische specificaties van het Hints bestand zijn beschreven in DataBindingHints.xsd.
+
+
+Algemeen
+Gebruik van XPath
+
+ Om te bepalen op welk element de hint van toepassing is wordt gebruik gemaakt van XPath. Tevens kan worden opgegeven op welke Schema deze XPath moet worden toegepast indien gebruik wordt gemaakt van includes of imports.
+
+
+
+ ToDo: uitzoeken en omschrijven hoe het Schema attribute ingevuld dient te worden. Volledig pad, bestandsnaam, excl. extensie, enz.
+
+
+
+ We nemen de volgende XSD als voorbeeld:
+
+
+
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:simpleType name="Status">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="" />
+ <xs:enumeration value="De gegevens zijn verwerkt" />
+ <xs:enumeration value="Er was een probleem bij de verwerking" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
+
+
+
+ Een geldige XPath om het Status element te benoemen zou zijn:
+
+
+
+//xs:simpleType[@name='Status']
+
+
+Elementen
+
+
+
diff --git a/Units/DelphiXMLDataBindingGenerator.pas b/Units/DelphiXMLDataBindingGenerator.pas
index 3d5a0b2..3f3c52c 100644
--- a/Units/DelphiXMLDataBindingGenerator.pas
+++ b/Units/DelphiXMLDataBindingGenerator.pas
@@ -700,7 +700,7 @@ begin
WriteDocumentation(AStream, AItem);
AStream.WriteLnNamedFmt(InterfaceItemInterface,
['Name', AItem.TranslatedName,
- 'ParentName', parent]);
+ 'ParentName', parent]);
AStream.WriteLn(' ' + CreateNewGUID());
WriteSchemaInterfaceProperties(AStream, AItem, ASection);
diff --git a/Units/XMLDataBindingGenerator.pas b/Units/XMLDataBindingGenerator.pas
index afb6bf3..2a621fe 100644
--- a/Units/XMLDataBindingGenerator.pas
+++ b/Units/XMLDataBindingGenerator.pas
@@ -1004,6 +1004,7 @@ var
item: TXMLDataBindingItem;
complexAliasItem: TXMLDataBindingComplexTypeAliasItem;
simpleAliasItem: TXMLDataBindingSimpleTypeAliasItem;
+ interfaceItem: TXMLDataBindingInterface;
begin
for itemIndex := Pred(ASchema.ItemCount) downto 0 do
@@ -1017,7 +1018,16 @@ begin
complexAliasItem := TXMLDataBindingComplexTypeAliasItem(item);
if Assigned(complexAliasItem.Item) then
begin
- ReplaceItem(complexAliasItem, complexAliasItem.Item);
+ // (MvR) 27-8-2008: instead, we allow the generation of an alias in
+ // code, so it can be used as a document element
+ // ReplaceItem(complexAliasItem, complexAliasItem.Item);
+
+ interfaceItem := TXMLDataBindingInterface.Create(Self, complexAliasItem.SchemaItem, complexAliasItem.Name);
+ interfaceItem.BaseItem := (complexAliasItem.Item as TXMLDataBindingInterface);
+ interfaceItem.BaseName := complexAliasItem.Item.Name;
+ ASchema.AddItem(interfaceItem);
+
+ ReplaceItem(complexAliasItem, interfaceItem);
FreeAndNil(complexAliasItem);
end;
end;
diff --git a/X2XMLDataBinding.cfg b/X2XMLDataBinding.cfg
index fe87b98..5ea2a42 100644
--- a/X2XMLDataBinding.cfg
+++ b/X2XMLDataBinding.cfg
@@ -35,10 +35,6 @@
-N"lib"
-LE"c:\program files\borland\delphi7\Projects\Bpl"
-LN"c:\program files\borland\delphi7\Projects\Bpl"
--U"c:\program files\borland\delphi7\Lib\Debug"
--O"c:\program files\borland\delphi7\Lib\Debug"
--I"c:\program files\borland\delphi7\Lib\Debug"
--R"c:\program files\borland\delphi7\Lib\Debug"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST