Added: start of DataBindingHints manual (Dutch)
Fixed: elements which reference a complex type are no longer resolved away, which means they can now be used as document elements
This commit is contained in:
parent
65d792471d
commit
f705ac121e
126
Docs/DataBindingHints.html
Normal file
126
Docs/DataBindingHints.html
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||||
|
<title>X²XMLDataBinding - Het gebruik van Hints</title>
|
||||||
|
<style type="text/css">
|
||||||
|
body
|
||||||
|
{
|
||||||
|
background-color: white;
|
||||||
|
color: black;
|
||||||
|
font-family: tahoma, verdana, arial, sans-serif;
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1
|
||||||
|
{
|
||||||
|
font-size: 16pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2
|
||||||
|
{
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.todo
|
||||||
|
{
|
||||||
|
background-color: transparent;
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.example
|
||||||
|
{
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border-color: gray;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: 8pt;
|
||||||
|
margin-left: 20px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 8px;
|
||||||
|
white-space: pre;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol.level1
|
||||||
|
{
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol.level2
|
||||||
|
{
|
||||||
|
list-style-type: lower-alpha;
|
||||||
|
margin-left: 2em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Inhoudsopgave</h1>
|
||||||
|
<ol class="level1">
|
||||||
|
<li>
|
||||||
|
<a href="#introduction">Introductie</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#general">Algemeen</a>
|
||||||
|
<ol class="level2">
|
||||||
|
<li><a href="#general-xpath">XPath</a></li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#elements">Elementen</a>
|
||||||
|
<ol class="level2">
|
||||||
|
<li><a href="#elements-enumerations">Enumerations</a></li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<a name="introduction" /><h1>Introductie</h1>
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
De technische specificaties van het Hints bestand zijn beschreven in <a href="http://www.x2software.net/xsd/databinding/DataBindingHints.xsd">DataBindingHints.xsd</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<a name="general" /><h1>Algemeen</h1>
|
||||||
|
<a name="general-xpath" /><h2>Gebruik van XPath</h2>
|
||||||
|
<p>
|
||||||
|
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.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="todo">
|
||||||
|
ToDo: uitzoeken en omschrijven hoe het Schema attribute ingevuld dient te worden. Volledig pad, bestandsnaam, excl. extensie, enz.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
We nemen de volgende XSD als voorbeeld:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="example">
|
||||||
|
<?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>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Een geldige XPath om het Status element te benoemen zou zijn:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="example">
|
||||||
|
//xs:simpleType[@name='Status']
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<a name="elements" /><h1>Elementen</h1>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -1004,6 +1004,7 @@ var
|
|||||||
item: TXMLDataBindingItem;
|
item: TXMLDataBindingItem;
|
||||||
complexAliasItem: TXMLDataBindingComplexTypeAliasItem;
|
complexAliasItem: TXMLDataBindingComplexTypeAliasItem;
|
||||||
simpleAliasItem: TXMLDataBindingSimpleTypeAliasItem;
|
simpleAliasItem: TXMLDataBindingSimpleTypeAliasItem;
|
||||||
|
interfaceItem: TXMLDataBindingInterface;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
for itemIndex := Pred(ASchema.ItemCount) downto 0 do
|
for itemIndex := Pred(ASchema.ItemCount) downto 0 do
|
||||||
@ -1017,7 +1018,16 @@ begin
|
|||||||
complexAliasItem := TXMLDataBindingComplexTypeAliasItem(item);
|
complexAliasItem := TXMLDataBindingComplexTypeAliasItem(item);
|
||||||
if Assigned(complexAliasItem.Item) then
|
if Assigned(complexAliasItem.Item) then
|
||||||
begin
|
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);
|
FreeAndNil(complexAliasItem);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -35,10 +35,6 @@
|
|||||||
-N"lib"
|
-N"lib"
|
||||||
-LE"c:\program files\borland\delphi7\Projects\Bpl"
|
-LE"c:\program files\borland\delphi7\Projects\Bpl"
|
||||||
-LN"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_TYPE
|
||||||
-w-UNSAFE_CODE
|
-w-UNSAFE_CODE
|
||||||
-w-UNSAFE_CAST
|
-w-UNSAFE_CAST
|
||||||
|
Loading…
Reference in New Issue
Block a user