Implemented Rate Cards

This commit is contained in:
skyanth
2017-03-20 14:48:37 +01:00
parent 1476f81cb8
commit 4c659f1acc
14 changed files with 617 additions and 157 deletions

View File

@@ -99,6 +99,7 @@
<xs:element ref="invoice_mail"/>
<xs:element ref="invoice_extra_field" minOccurs="0"/>
<xs:element ref="vat_no"/>
<xs:element ref="rates"/>
</xs:sequence>
<xs:attribute ref="xml:base"/>
<xs:attribute ref="xml:lang"/>
@@ -106,6 +107,24 @@
</xs:complexType>
</xs:element>
<xs:element name="rates">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element ref="rate"/>
</xs:choice>
<xs:attribute ref="denomination"/>
<xs:attribute name="lastrevisiondate" type="xs:date"/>
</xs:complexType>
</xs:element>
<xs:element name="rate">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
<xs:attribute name="title" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="permission_parties">
<xs:complexType>
<xs:sequence>
@@ -242,8 +261,11 @@
<xs:element ref="img"/>
</xs:choice>
<xs:attribute ref="xml:base"/>
<xs:attribute ref="class" use="optional"/>
</xs:complexType>
</xs:element>
<xs:attribute name="class" type="xs:string"/>
<xs:element name="version_history">
<xs:complexType>
@@ -430,6 +452,16 @@
</xs:simpleType>
</xs:attribute>
<xs:attribute name="denomination" default="eur">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="eur"/>
<xs:enumeration value="usd"/>
<xs:enumeration value="gbp"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:element name="author">
<xs:complexType>
<xs:sequence>

View File

@@ -17,15 +17,7 @@
<xs:attribute ref="xml:lang"/>
<xs:attribute name="invoice_no" type="xs:string"/>
<xs:attribute name="date" type="xs:date" use="optional"/>
<xs:attribute name="denomination" use="optional" default="eur">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="eur"/>
<xs:enumeration value="usd"/>
<xs:enumeration value="gbp"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute ref="denomination" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="meta">

58
xml/dtd/ratecard.xsd Normal file
View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.0" vc:maxVersion="1.1">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:import namespace="http://www.w3.org/2001/XInclude"
schemaLocation="http://www.w3.org/2001/XInclude/XInclude.xsd"/>
<xs:include schemaLocation="common.xsd"/>
<xs:element name="ratecard">
<xs:complexType>
<xs:sequence>
<xs:element ref="meta"/>
<xs:element ref="title"/>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="pre"/>
<xs:element name="p" type="block"/>
<xs:element ref="table"/>
<xs:element ref="ul"/>
<xs:element ref="ol"/>
<xs:element ref="img"/>
<xs:element name="div" type="block"/>
</xs:choice>
</xs:sequence>
<xs:attribute ref="xml:lang"/>
</xs:complexType>
</xs:element>
<xs:element name="meta">
<xs:complexType>
<xs:sequence>
<xs:element ref="company"/>
<xs:element ref="client"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="generate_raterevisiondate"/>
<xs:complexType name="block" mixed="true">
<xs:choice maxOccurs="unbounded">
<xs:group ref="inline-all"/>
<xs:group ref="placeholders"/>
<xs:element ref="generate_raterevisiondate"/>
</xs:choice>
<xs:attribute ref="xml:base"/>
<xs:attribute ref="class"/>
</xs:complexType>
<!-- Placeholders -->
<xs:group name="placeholders">
<xs:choice>
<xs:element name="client_long"/>
<xs:element name="client_short"/>
<xs:element name="client_rate"/>
<xs:element name="client_average_rate"/>
<xs:element name="company_long"/>
<xs:element name="company_short"/>
<xs:element name="company_poc1"/>
</xs:choice>
</xs:group>
</xs:schema>