Verzeichnisstruktur erweitert, um Prüftool und Konfiguration XRechnung aufzunehmen.

This commit is contained in:
fbuettner 2017-10-26 10:24:07 +02:00
parent 0fd87014b4
commit 4eab984c01
161 changed files with 106853 additions and 11 deletions

View file

@ -0,0 +1,748 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:rep="http://www.xoev.de/de/validator/varl/1"
xmlns:s="http://www.xoev.de/de/validator/framework/1/scenarios"
xmlns:in="http://www.xoev.de/de/validator/framework/1/createreportinput"
xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
xmlns:html="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xs"
version="2.0">
<xd:doc>
<xd:desc>Diese Transformation überführt eine Instanz des internen Zwischenformats der Prüftools in den
Prüfbericht im Zielformat. Dabei werden die verschiedenen Teil-Validierungsergebnisse aggregiert und
vereinheitlicht sowie eine Empfehlung zur Annahme oder Ablehnung erzeugt.</xd:desc>
</xd:doc>
<xsl:output method="xml" indent="yes"/>
<xd:doc>
<xd:desc>Das geprüfte Dokument wird via Parameter zur Verfügung gestellt, um ggf. ausgewählte Inhalte separat im
Prüfbericht auszuweisen.</xd:desc>
</xd:doc>
<xsl:param name="input-document" required="yes"/>
<xsl:variable name="custom-levels" as="element(s:customLevel)*" select="//s:customLevel"/>
<xd:doc>
<xd:desc>Einstiegspunkt</xd:desc>
</xd:doc>
<xsl:template match="in:createReportInput">
<xsl:variable name="validationStepResults" as="element(rep:validationStepResult)*">
<xsl:apply-templates select="in:validationResultsXmlSchema"/>
<xsl:apply-templates select="in:validationResultsSchematron"/>
</xsl:variable>
<!-- Zwischenergebnis: Der an sich fertige Bericht, dem lediglich noch die Bewertung fehlt -->
<xsl:variable name="report-without-assessment" as="document-node(element(rep:report))">
<xsl:document>
<rep:report>
<xsl:attribute name="valid">
<xsl:choose>
<xsl:when test="empty(s:scenario)">false</xsl:when>
<xsl:when test="$validationStepResults[@valid = 'false']">false</xsl:when>
<xsl:otherwise>true</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:apply-templates select="in:engine" mode="copy-to-report-ns"/>
<xsl:apply-templates select="in:timestamp" mode="copy-to-report-ns"/>
<xsl:apply-templates select="in:documentIdentification" mode="copy-to-report-ns"/>
<xsl:choose>
<xsl:when test="s:scenario">
<rep:scenarioMatched>
<xsl:sequence select="s:scenario"/>
<xsl:call-template name="documentData"/>
<xsl:sequence select="$validationStepResults"/>
</rep:scenarioMatched>
</xsl:when>
<xsl:otherwise>
<rep:noScenarioMatched>
<xsl:apply-templates select="in:validationResultsWellformedness"/>
</rep:noScenarioMatched>
</xsl:otherwise>
</xsl:choose>
</rep:report>
</xsl:document>
</xsl:variable>
<rep:report varlVersion="1.0.0">
<xsl:copy-of select="$report-without-assessment/rep:report/(node()|@*)"/>
<xsl:apply-templates select="$report-without-assessment" mode="assessment"/>
</rep:report>
</xsl:template>
<xd:doc>
<xd:desc>Dieses Template kann in einem "Customization Layer" überschrieben werden, um spezifische
Dokumentinhalte gesondert im Prüfbericht auszuweisen. Das Template muss ein Element rep:documentData
liefern.
erzeugen.</xd:desc>
</xd:doc>
<xsl:template name="documentData"/>
<!-- ************************************************************************************** -->
<!-- * * -->
<!-- * Syntax checks (well-formedness and XML Schema) * -->
<!-- * * -->
<!-- ************************************************************************************** -->
<xsl:template match="in:validationResultsWellformedness">
<xsl:variable name="messages" as="element(rep:message)*">
<!-- skip raw exception messages -->
<xsl:apply-templates select="in:xmlSyntaxError[not(starts-with(.,'SAXParseException'))]">
<xsl:with-param name="parent-id">val-xml</xsl:with-param>
</xsl:apply-templates>
</xsl:variable>
<rep:validationStepResult id="val-xml"
valid="{if ($messages[@level = ('warning', 'error')]) then false() else true()}">
<xsl:sequence select="s:resource"/>
<xsl:sequence select="$messages"/>
</rep:validationStepResult>
</xsl:template>
<xsl:template match="in:validationResultsXmlSchema">
<xsl:variable name="messages" as="element(rep:message)*">
<xsl:apply-templates select="in:xmlSyntaxError">
<xsl:with-param name="parent-id">val-xsd</xsl:with-param>
</xsl:apply-templates>
</xsl:variable>
<rep:validationStepResult id="val-xsd"
valid="{if ($messages[@level = ('warning', 'error')]) then false() else true()}">
<xsl:sequence select="s:resource"/>
<xsl:sequence select="$messages"/>
</rep:validationStepResult>
</xsl:template>
<xsl:template match="in:xmlSyntaxError">
<xsl:param name="parent-id" as="xs:string" required="yes"/>
<xsl:variable name="id" select="concat($parent-id, '.', count(preceding-sibling::xmlSyntaxError) + 1)"/>
<xsl:variable name="level" select="if (@severity = 'SEVERITY_WARNING') then 'warning' else 'error'"/>
<rep:message id="{$id}" level="{$level}">
<xsl:apply-templates select="*"/>
<xsl:choose>
<xsl:when test="starts-with(in:message,'cvc-')">
<!-- Xerces error messages -->
<xsl:attribute name="code">
<xsl:value-of select="tokenize(in:message,': ')[1]"/>
</xsl:attribute>
<xsl:value-of select="substring-after(in:message,concat(tokenize(in:message,': ')[1],': '))"/>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="code">generic-error</xsl:attribute>
<xsl:value-of select="in:message"/>
</xsl:otherwise>
</xsl:choose>
</rep:message>
</xsl:template>
<xsl:template match="in:xmlSyntaxError/in:*" priority="-1"/>
<xsl:template match="in:xmlSyntaxError/in:rowNumber[. != '-1']">
<xsl:attribute name="lineNumber" select="."/>
</xsl:template>
<xsl:template match="in:xmlSyntaxError/in:columnNumber[. != '-1']">
<xsl:attribute name="columnNumber" select="."/>
</xsl:template>
<!-- ************************************************************************************** -->
<!-- * * -->
<!-- * Schematron (SVRL) * -->
<!-- * * -->
<!-- ************************************************************************************** -->
<xsl:template match="in:validationResultsSchematron">
<xsl:variable name="schematron-output" as="element(svrl:schematron-output)?" select="in:results/svrl:schematron-output"/>
<xsl:if test="empty($schematron-output)">
<xsl:message terminate="yes">Unexpected result from schematron validation - there is no svrl:schematron-output element!</xsl:message>
</xsl:if>
<xsl:variable name="id" as="xs:string" select="concat('val-sch.',1 + count(preceding-sibling::in:validationResultsSchematron))"/>
<xsl:variable name="messages" as="element(rep:message)*">
<xsl:apply-templates select="$schematron-output/(svrl:failed-assert|svrl:successful-report)">
<xsl:with-param name="parent-id" select="$id"/>
</xsl:apply-templates>
</xsl:variable>
<rep:validationStepResult id="{$id}" valid="{if ($messages[@level = ('warning', 'error')]) then false() else true()}">
<xsl:sequence select="s:resource"/>
<xsl:sequence select="$messages"/>
</rep:validationStepResult>
</xsl:template>
<xsl:template match="svrl:failed-assert|svrl:successful-report">
<xsl:param name="parent-id" as="xs:string" required="yes"/>
<xsl:variable name="id" select="concat($parent-id, '.', count(preceding-sibling::failed-assert | preceding-sibling::successful-report) + 1)"/>
<rep:message id="{$id}">
<xsl:apply-templates select="in:location/*"/>
<xsl:attribute name="level">
<xsl:choose>
<xsl:when test="(@flag,@role) = ('fatal', 'error')">error</xsl:when>
<xsl:when test="(@flag,@role) = ('warning', 'warn')">warning</xsl:when>
<xsl:when test="(@flag,@role) = ('information', 'info')">information</xsl:when>
<xsl:when test="@role = ('information', 'info')">warning</xsl:when>
<xsl:otherwise>error</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:apply-templates select="@location"/>
<xsl:apply-templates select="(@id,@flag)[1]"/>
<xsl:value-of select="svrl:text"/>
</rep:message>
</xsl:template>
<xsl:template match="svrl:*/@location">
<xsl:attribute name="xpathLocation" select="."/>
</xsl:template>
<xsl:template match="svrl:failed-assert/@id">
<xsl:attribute name="code" select="."/>
</xsl:template>
<xsl:template match="svrl:failed-assert/@flag">
<xsl:attribute name="code" select="."/>
</xsl:template>
<xsl:template match="svrl:successful-report/@id">
<xsl:attribute name="code" select="."/>
</xsl:template>
<!-- ************************************************************************************** -->
<!-- * Validation helpers * -->
<!-- ************************************************************************************** -->
<!-- Identity template -->
<xsl:template mode="copy-to-report-ns" match="@*">
<xsl:copy/>
</xsl:template>
<xsl:template mode="copy-to-report-ns" match="element()" priority="5">
<xsl:element name="rep:{local-name()}">
<xsl:apply-templates mode="copy-to-report-ns" select="node()|@*"/>
</xsl:element>
</xsl:template>
<!-- ************************************************************************************** -->
<!-- * * -->
<!-- * Assessment * -->
<!-- * * -->
<!-- ************************************************************************************** -->
<xd:doc>
<xd:desc>
<xd:p>Dieses Template ergänzt einen Prüfbericht um eine Handlungsempfehlung in Form eines
<xd:i>accept</xd:i> oder <xd:i>reject</xd:i> Elements.</xd:p>
</xd:desc>
</xd:doc>
<xsl:template match="rep:report" mode="assessment">
<rep:assessment>
<xsl:variable name="element-name" as="xs:string">
<xsl:choose>
<xsl:when test="empty(rep:scenarioMatched/s:scenario)">reject</xsl:when>
<xsl:when test="//rep:message[rep:custom-level(.) = 'error']">reject</xsl:when>
<xsl:otherwise>accept</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="rep:{$element-name}" exclude-result-prefixes="#all">
<xsl:call-template name="explanations"/>
</xsl:element>
</rep:assessment>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Ermittelt für eine während der Validierung ausgegebene Meldung deren
Rolle <xd:i>(error, warning, information)</xd:i> gemäß der
benutzerspezifischen Qualifizierung.</xd:p>
<xd:p>Jede Meldung hat im Rahmen der Validierung ein solche Rolle
erhalten (siehe Attribut <xd:i>@level</xd:i>). Im Regelfall entspricht die
benutzerspezifische Qualifizierung unverändert diesem Level. Nutzer können jedoch im
Rahmen der Bewertung eigene Qualifizierungen als <xd:i>customLevel</xd:i> festlegen.</xd:p>
<xd:p>Dies kann z. B. genutzt werden, um einen <xd:i>error</xd:i>, der ansonsten zur
Rückweisung der Nachricht führen würde, zumindest zeitweilig als
<xd:i>warning</xd:i> zu qualifizieren, so dass eine entsprechende
Dokumenteninstanz trotz einer Warnung angenommen und verarbeitet würde.</xd:p>
<xd:p>Die Funktion prüft für eine Meldung, ob deren <xd:i>@code</xd:i> Attribut
Bestandteil der für ein bestimmtes <xd:i>customLevel</xd:i> angegebenen Fehlercodes ist.
Falls ja, dann gilt das jeweilige <xd:i>customLevel</xd:i>. Andernfalls wird der im
Rahmen der Validierung ermittelte Fehlerlevel unverändert übernommen.</xd:p>
</xd:desc>
<xd:param name="message">Eine im Rahmen der Validierung ausgegebene
Fehlernachricht</xd:param>
<xd:return/>
</xd:doc>
<xsl:function name="rep:custom-level" as="xs:string">
<xsl:param name="message" as="element(rep:message)"/>
<xsl:variable name="cl" as="element(s:customLevel)?"
select="$custom-levels[tokenize(., '\s+') = $message/@code]"/>
<xsl:value-of select="if ($cl) then $cl/@level else $message/@level"/>
</xsl:function>
<xsl:template name="explanations">
<rep:explanation>
<xsl:call-template name="html:html"/>
</rep:explanation>
</xsl:template>
<xd:doc>
<xd:desc>Dieses Template erstellt aus dem ansonsten fertigen Prüfbericht eine HTML-Darstellung. Dieses Template
oder Unter-Temlates (Name html:*) können in einem Customization Layer überschrieben werden.</xd:desc>
</xd:doc>
<xsl:template name="html:html" xmlns="http://www.w3.org/1999/xhtml" >
<html data-report-type="report">
<xsl:call-template name="html:head"/>
<body>
<xsl:call-template name="html:document"/>
</body>
</html>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Generiert das <xd:i>head</xd:i> Element eines eingebetteten HTML Dokuments,
welches den Prüf- und Bewertungsbericht visualisiert und die Handlungsempfehlung
begründet</xd:p>
</xd:desc>
</xd:doc>
<xsl:template name="html:head" as="element(html:head)" xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Prüfbericht</title>
<style>
body{
font-family: Calibri;
width: 230mm;
}
.metadata dt {
float: left;
width: 230px;
clear: left;
}
.metadata dd {
margin-left: 250px;
}
table{
border-collapse: collapse;
width: 100%;
}
table.tbl-errors{
font-size: smaller;
}
table.document{
font-size: smaller;
}
table.document td {vertical-align:top;}
.tbl-errors td{
border: 1px solid lightgray;
padding: 2px;
vertical-align: top;
}
thead{
font-weight: bold;
background-color: #f0f0f0;
padding-top: 6pt;
padding-bottom: 2pt;
}
.tbl-meta td{
padding-right: 1em;
}
td.pos{
padding-left: 3pt;
width: 5%;
color: gray
}
td.element{
width: 95%;
word-wrap: break-word;
}
td.element:before{
content: attr(title);
color: gray;
}
div.attribute{
display: inline;
font-style: italic;
color: gray;
}
div.attribute:before{
content: attr(title) '=';
}
div.val{
display: inline;
font-weight: bold;
}
td.level1{
padding-left: 2mm;
}
td.level2{
padding-left: 5mm;
}
td.level3{
padding-left: 10mm;
}
td.level4{
padding-left: 15mm;
}
td.level5{
padding-left: 20mm;
}
td.level6{
padding-left: 25mm;
}
tr{
vertical-align: bottom;
border-bottom: 1px solid #c0c0c0;
}
.error{
color: red;
}
.warning{
}
p.important{
font-weight: bold;
text-align: left;
background-color: #e0e0e0;
padding: 3pt;
}
td.right{
text-align: right
}</style>
</head>
</xsl:template>
<xsl:template name="html:document" xmlns="http://www.w3.org/1999/xhtml">
<h1>Prüfbericht</h1>
<xsl:call-template name="html:document-metadata"/>
<xsl:call-template name="html:conformance"/>
<xsl:if test="//rep:message">
<xsl:call-template name="html:validationresults"/>
</xsl:if>
<xsl:call-template name="html:assessment"/>
<xsl:if test="$input-document instance of document-node(element())">
<xsl:call-template name="html:contentdoc">
<xsl:with-param name="invoice" select="$input-document"/>
</xsl:call-template>
</xsl:if>
<xsl:call-template name="html:epilog"/>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Generiert am Beginn eines eingebetteten HTML Dokuments, welches den Prüf- und
Bewertungsbericht visualisiert und die Handlungsempfehlung begründet, eine Übersicht
mit Metadaten des geprüften Dokuments.</xd:p>
</xd:desc>
</xd:doc>
<xsl:template name="html:document-metadata" as="element()+" xmlns="http://www.w3.org/1999/xhtml" >
<div class="metadata">
<p class="important">
<xsl:text>Angaben zum geprüften Dokument</xsl:text>
</p>
<dl>
<dt>Referenz:</dt>
<dd>
<xsl:value-of select="rep:documentIdentification/rep:documentReference"/>
</dd>
<dt>Zeitpunkt der Prüfung:</dt>
<dd>
<xsl:value-of select="format-dateTime(rep:timestamp, '[D].[M].[Y] [H]:[m]:[s]')"/>
</dd>
<dt>Erkannter Dokumenttyp:</dt>
<dd>
<xsl:choose>
<xsl:when test="rep:scenarioMatched">
<xsl:value-of select="rep:scenarioMatched/s:scenario/s:name"/>
</xsl:when>
<xsl:otherwise>
<b class="error">unbekannt</b>
</xsl:otherwise>
</xsl:choose>
</dd>
</dl>
<xsl:call-template name="html:documentData"/>
</div>
</xsl:template>
<xsl:template name="html:documentData"/>
<xd:doc>
<xd:desc>
<xd:p>Generiert am Ende eines eingebetteten HTML Dokuments, welches den Prüf- und
Bewertungsbericht visualisiert und die Handlungsempfehlung begründet, eine Übersicht
mit Metadaten zum Prüfmodul.</xd:p>
</xd:desc>
</xd:doc>
<xsl:template name="html:epilog" as="element()+" xmlns="http://www.w3.org/1999/xhtml" >
<p class="info">
<xsl:text>Dieser Prüfbericht wurde erstellt mit </xsl:text>
<xsl:value-of select="rep:engine/rep:name"/>
<xsl:text>.</xsl:text>
</p>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Generiert in dem eingebetetteten HTML Dokument eine Tabelle mit den während der
Validierung ausgegebenen Daten.</xd:p>
</xd:desc>
</xd:doc>
<xsl:template name="html:validationresults" as="element()*" xmlns="http://www.w3.org/1999/xhtml" >
<p>Übersicht der Validierungsergebnisse:</p>
<table class="tbl-errors">
<thead>
<tr>
<th>Prüfschritt</th>
<th>Fehler</th>
<th>Warnungen</th>
<th>Informationen</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="//rep:validationStepResult">
<xsl:variable name="step-id" select="@id"/>
<tr>
<td>
<xsl:value-of select="s:resource/s:name"/>
<xsl:text> (</xsl:text>
<xsl:value-of select="@id"/>
<xsl:text>)</xsl:text>
</td>
<td style="width: 30mm;">
<xsl:value-of
select="count(rep:message[@level eq 'error'])"/>
</td>
<td style="width: 30mm;">
<xsl:value-of
select="count(rep:message[@level eq 'warning'])"/>
</td>
<td style="width: 30mm;">
<xsl:value-of
select="count(rep:message[@level eq 'information'])"
/>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
<p>Validierungsergebnisse im Detail:</p>
<table xmlns="http://www.w3.org/1999/xhtml" class="tbl-errors">
<thead>
<tr>
<th style="width: 30mm;">Pos</th>
<th style="width: 25mm;">Code</th>
<th style="width: 25mm;">Adj. Grad (Grad)</th>
<th>Text</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="//rep:message">
<tr>
<xsl:attribute name="class">
<xsl:value-of select="rep:custom-level(.)"/>
</xsl:attribute>
<td rowspan="2">
<xsl:value-of select="@id"/>
</td>
<td rowspan="2">
<xsl:value-of select="@code"/>
</td>
<td rowspan="2">
<xsl:value-of select="rep:custom-level(.)"/>
<xsl:if test="not(rep:custom-level(.) eq @level)">
<xsl:value-of select="concat(' (', @level, ')')"/>
</xsl:if>
</td>
<td>
<xsl:value-of select="normalize-space(.)"/>
</td>
</tr>
<tr>
<xsl:attribute name="class">
<xsl:value-of select="rep:custom-level(.)"/>
</xsl:attribute>
<td>
<xsl:if test="@xpathLocation">
<xsl:text>Pfad: </xsl:text><xsl:value-of select="@xpathLocation"/>
</xsl:if>
<xsl:if test="@lineNumber">
<xsl:text> Zeile: </xsl:text><xsl:value-of select="@lineNumber"/>
</xsl:if>
<xsl:if test="@columnNumber">
<xsl:text> Spalte: </xsl:text><xsl:value-of select="@columnNumber"/>
</xsl:if>
</td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Generiert in dem eingebetteten HTML Dokument eine Aussage zur Konformität des
geprüften Dokuments zu den formalen Vorgaben.</xd:p>
</xd:desc>
</xd:doc>
<xsl:template name="html:conformance" xmlns="http://www.w3.org/1999/xhtml" >
<xsl:variable name="e" as="xs:integer" select="count(//rep:message[@level eq 'error'])"/>
<xsl:variable name="w" as="xs:integer" select="count(//rep:message[@level eq 'warning'])"/>
<xsl:choose>
<xsl:when test="rep:scenarioMatched">
<p class="important">
<b>Konformitätsprüfung: </b>
<xsl:text>Das geprüfte Dokument enthält </xsl:text>
<xsl:choose>
<xsl:when test="$e + $w eq 0">
<xsl:text>weder Fehler noch Warnungen. Es ist konform zu den formalen Vorgaben.</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($e, ' Fehler / ', $w, ' Warnungen. Es ist ')"/>
<b>nicht konform</b>
<xsl:text> zu den formalen Vorgaben.</xsl:text>
</xsl:otherwise>
</xsl:choose>
</p>
</xsl:when>
<xsl:otherwise>
<p class="important">
<b>Konformitätsprüfung: </b>
<xsl:text>Das geprüfte Dokument entspricht keinen zulässigen Dokumenttyp und ist damit </xsl:text>
<b>nicht konform</b>
<xsl:text> zu den formalen Vorgaben.</xsl:text>
</p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Generiert in dem eingebetteten HTML Dokument die Aussage zur
Handlungsempfehlung.</xd:p>
</xd:desc>
</xd:doc>
<xsl:template name="html:assessment" xmlns="http://www.w3.org/1999/xhtml">
<xsl:variable name="e1" as="xs:integer" select="count(//message[@level eq 'error'])"/>
<xsl:variable name="e2" as="xs:integer"
select="count(//rep:message[rep:custom-level(.) eq 'error'])"/>
<xsl:choose>
<xsl:when test="empty(rep:scenarioMatched)">
<p class="important error">Bewertung: Es wird empfohlen das Dokument zurückzuweisen.</p>
</xsl:when>
<xsl:when test="$e1 eq 0 and $e2 eq 0">
<p class="important">Bewertung: Es wird empfohlen das Dokument anzunehmen und weiter zu verarbeiten.</p>
</xsl:when>
<xsl:when test="$e1 gt 0 and $e2 eq 0">
<p class="important">Bewertung: Es wird empfohlen das Dokument anzunehmen und zu verarbeiten, da die vorhandenen Fehler derzeit toleriert werden.</p>
</xsl:when>
<xsl:otherwise>
<p class="important error">Bewertung: Es wird empfohlen das Dokument zurückzuweisen.</p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="html:contentdoc" xmlns="http://www.w3.org/1999/xhtml" >
<xsl:param name="invoice" as="document-node(element())"/>
<p class="important">
<xsl:text>Inhalt des Rechnungsdokuments:</xsl:text>
</p>
<table class="document">
<xsl:apply-templates select="$invoice/*" mode="html:contentdoc"/>
</table>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Eine Element wird als eine Zeile in einer Tabelle visualisiert. Die erste Spalte
enthält die Zeilennummer, die zweite Attribute und Text des Elements</xd:p>
</xd:desc>
</xd:doc>
<xsl:template match="*" mode="html:contentdoc" xmlns="http://www.w3.org/1999/xhtml">
<xsl:variable name="line-number" as="xs:string">
<xsl:number select="." count="*" level="any" format="0001"/>
</xsl:variable>
<tr class="row" id="{$line-number}">
<td class="pos">
<xsl:value-of select="$line-number"/>
</td>
<td class="element {concat('level',count(ancestor-or-self::*))}" title="{local-name()}">
<xsl:apply-templates select="text()" mode="html:contentdoc"/>
<xsl:apply-templates select="@*" mode="html:contentdoc"/>
</td>
</tr>
<xsl:apply-templates select="*" mode="html:contentdoc"/>
</xsl:template>
<xd:doc>
<xd:desc>
<xd:p>Ein Textbereich (in der Zeile des Elements)</xd:p>
</xd:desc>
</xd:doc>
<xsl:template match="text()" mode="html:contentdoc" xmlns="http://www.w3.org/1999/xhtml">
<div class="val">
<xsl:value-of select="."/>
</div>
</xsl:template>
<xsl:template match="element(*, xs:base64Binary)/text()" priority="10" mode="html:contentdoc">
<div class="val" xmlns="http://www.w3.org/1999/xhtml">
<xsl:text>[ … ]</xsl:text>
</div>
</xsl:template>
<xsl:template match="@xsi:schemaLocation" mode="html:contentdoc"/>
<xd:doc>
<xd:desc>
<xd:p>Ein Attributbereich (in der Zeile des Elements)</xd:p>
</xd:desc>
</xd:doc>
<xsl:template match="@*" mode="html:contentdoc" xmlns="http://www.w3.org/1999/xhtml" >
<div class="attribute" title="{local-name(.)}">
<xsl:value-of select="."/>
</div>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Schema agency: UNCEFACT
Schema version: 100.D16B (Decoupled Code List Schema Modules)
Schema date: 10 October 2016
Copyright (C) UN/CEFACT (2016). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to UN/CEFACT, except as needed for the purpose of developing UN/CEFACT specifications, in which case the procedures for copyrights defined in the UN/CEFACT Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by UN/CEFACT or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and UN/CEFACT DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-->
<xsd:schema xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" targetNamespace="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100" elementFormDefault="qualified" version="100.D16B">
<xsd:import namespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" schemaLocation="CrossIndustryInvoice_QualifiedDataType_100pD16B.xsd"/>
<xsd:import namespace="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100" schemaLocation="CrossIndustryInvoice_ReusableAggregateBusinessInformationEntity_100pD16B.xsd"/>
<xsd:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="CrossIndustryInvoice_UnqualifiedDataType_100pD16B.xsd"/>
<xsd:element name="CrossIndustryInvoice" type="rsm:CrossIndustryInvoiceType"/>
<xsd:complexType name="CrossIndustryInvoiceType">
<xsd:sequence>
<xsd:element name="ExchangedDocumentContext" type="ram:ExchangedDocumentContextType"/>
<xsd:element name="ExchangedDocument" type="ram:ExchangedDocumentType"/>
<xsd:element name="SupplyChainTradeTransaction" type="ram:SupplyChainTradeTransactionType"/>
<xsd:element name="ValuationBreakdownStatement" type="ram:ValuationBreakdownStatementType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

View file

@ -0,0 +1,782 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Schema agency: UNCEFACT
Schema version: 100.D16B (Decoupled Code List Schema Modules)
Schema date: 10 October 2016
Copyright (C) UN/CEFACT (2016). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to UN/CEFACT, except as needed for the purpose of developing UN/CEFACT specifications, in which case the procedures for copyrights defined in the UN/CEFACT Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by UN/CEFACT or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and UN/CEFACT DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-->
<xsd:schema xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" targetNamespace="urn:un:unece:uncefact:data:standard:QualifiedDataType:100" elementFormDefault="qualified" version="100.D16B">
<xsd:import namespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" schemaLocation="CrossIndustryInvoice_UnqualifiedDataType_100pD16B.xsd"/>
<xsd:simpleType name="AccountingAccountTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AccountingAccountTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AccountingAccountTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="AccountingE501"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="210"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="AccountingAmountTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AccountingAmountTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AccountingAmountTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="AccountingE601"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="210"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="AccountingDocumentCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="AccountingDocumentCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AccountingDocumentCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AccountingDocumentCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="1001_Accounting"/>
<xsd:attribute name="listAgencyID" type="qdt:AccountingDocumentCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="AdjustmentReasonCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="AdjustmentReasonCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AdjustmentReasonCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AdjustmentReasonCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4465"/>
<xsd:attribute name="listAgencyID" type="qdt:AdjustmentReasonCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="AllowanceChargeIdentificationCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AllowanceChargeIdentificationCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AllowanceChargeIdentificationCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="5189_AllowanceChargeID"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="AllowanceChargeReasonCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="AllowanceChargeReasonCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AllowanceChargeReasonCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AllowanceChargeReasonCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4465_AllowanceChargeReasonCode"/>
<xsd:attribute name="listAgencyID" type="qdt:AllowanceChargeReasonCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="AutomaticDataCaptureMethodCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="AutomaticDataCaptureMethodCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="AutomaticDataCaptureMethodCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:AutomaticDataCaptureMethodCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="7233_AutomaticDataCaptureMethodCode"/>
<xsd:attribute name="listAgencyID" type="qdt:AutomaticDataCaptureMethodCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="CargoCategoryCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="CargoCategoryCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="CargoCategoryCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:CargoCategoryCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="Recommendation 21-Annex I"/>
<xsd:attribute name="listAgencyID" type="qdt:CargoCategoryCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="CargoCommodityCategoryCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="CargoCommodityCategoryCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:CargoCommodityCategoryCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="7357"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="CargoOperationalCategoryCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="CargoOperationalCategoryCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="CargoOperationalCategoryCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:CargoOperationalCategoryCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="7085b"/>
<xsd:attribute name="listAgencyID" type="qdt:CargoOperationalCategoryCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="ChargePayingPartyRoleCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="ChargePayingPartyRoleCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="ChargePayingPartyRoleCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:ChargePayingPartyRoleCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="3035_Charge Paying"/>
<xsd:attribute name="listAgencyID" type="qdt:ChargePayingPartyRoleCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="CommunicationChannelCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="CommunicationChannelCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="CommunicationChannelCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:CommunicationChannelCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="3155_CommunicationChannelCode"/>
<xsd:attribute name="listAgencyID" type="qdt:CommunicationChannelCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="ContactTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="ContactTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="ContactTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:ContactTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="3139_ContactTypeCode"/>
<xsd:attribute name="listAgencyID" type="qdt:ContactTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="CountryIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="CountryIDSchemeAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="CountryIDType">
<xsd:simpleContent>
<xsd:extension base="qdt:CountryIDContentType">
<xsd:attribute name="schemeID" type="xsd:token"/>
<xsd:attribute name="schemeAgencyID" type="qdt:CountryIDSchemeAgencyIDContentType"/>
<xsd:attribute name="schemeVersionID" type="xsd:token" fixed="second edition 2006"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="CurrencyCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="CurrencyCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="CurrencyCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:CurrencyCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="ISO 4217 3A"/>
<xsd:attribute name="listAgencyID" type="qdt:CurrencyCodeListAgencyIDContentType" fixed="5"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="DeliveryTermsCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="DeliveryTermsCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="DeliveryTermsCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:DeliveryTermsCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4053"/>
<xsd:attribute name="listAgencyID" type="qdt:DeliveryTermsCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="DimensionTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="DimensionTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="DimensionTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:DimensionTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="6145"/>
<xsd:attribute name="listAgencyID" type="qdt:DimensionTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="DocumentCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="DocumentCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="DocumentCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:DocumentCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="1001"/>
<xsd:attribute name="listAgencyID" type="qdt:DocumentCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="DocumentStatusCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="DocumentStatusCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="DocumentStatusCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:DocumentStatusCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="1373"/>
<xsd:attribute name="listAgencyID" type="qdt:DocumentStatusCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="FormattedDateTimeFormatContentType">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:complexType name="FormattedDateTimeType">
<xsd:sequence>
<xsd:element name="DateTimeString">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="format" type="qdt:FormattedDateTimeFormatContentType"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="FreightChargeTariffClassCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="FreightChargeTariffClassCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="FreightChargeTariffClassCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:FreightChargeTariffClassCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="5243"/>
<xsd:attribute name="listAgencyID" type="qdt:FreightChargeTariffClassCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="FreightChargeTypeIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="FreightChargeTypeIDSchemeAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="FreightChargeTypeIDType">
<xsd:simpleContent>
<xsd:extension base="qdt:FreightChargeTypeIDContentType">
<xsd:attribute name="schemeID" type="xsd:token"/>
<xsd:attribute name="schemeAgencyID" type="qdt:FreightChargeTypeIDSchemeAgencyIDContentType"/>
<xsd:attribute name="schemeVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="GoodsTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="GoodsTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:GoodsTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="TDED 7357"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="GoodsTypeExtensionCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="GoodsTypeExtensionCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:GoodsTypeExtensionCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="TDED 7361"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="LinearUnitMeasureType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="qdt:LinearUnitMeasureUnitCodeContentType"/>
<xsd:attribute name="unitCodeListVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="LinearUnitMeasureUnitCodeContentType">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1"/>
<xsd:maxLength value="3"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="LineStatusCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="LineStatusCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="LineStatusCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:LineStatusCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="1229_LineStatusCode"/>
<xsd:attribute name="listAgencyID" type="qdt:LineStatusCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="LogisticsChargeCalculationBasisCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="LogisticsChargeCalculationBasisCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:LogisticsChargeCalculationBasisCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="TDED 6131"/>
<xsd:attribute name="listAgencyID" type="xsd:token" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="MessageFunctionCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="MessageFunctionCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="MessageFunctionCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:MessageFunctionCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="1225_MessageFunctionTypeCode"/>
<xsd:attribute name="listAgencyID" type="qdt:MessageFunctionCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PackageTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PackageTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PackageTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PackageTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="7065"/>
<xsd:attribute name="listAgencyID" type="qdt:PackageTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PackagingMarkingCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PackagingMarkingCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PackagingMarkingCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PackagingMarkingCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="7233_PackagingMarkingCode"/>
<xsd:attribute name="listAgencyID" type="qdt:PackagingMarkingCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PartyRoleCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PartyRoleCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PartyRoleCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PartyRoleCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="3035"/>
<xsd:attribute name="listAgencyID" type="qdt:PartyRoleCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PaymentGuaranteeMeansCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PaymentGuaranteeMeansCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PaymentGuaranteeMeansCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PaymentGuaranteeMeansCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4431"/>
<xsd:attribute name="listAgencyID" type="qdt:PaymentGuaranteeMeansCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PaymentMeansChannelCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PaymentMeansChannelCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PaymentMeansChannelCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PaymentMeansChannelCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4435"/>
<xsd:attribute name="listAgencyID" type="qdt:PaymentMeansChannelCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PaymentMeansCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PaymentMeansCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PaymentMeansCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PaymentMeansCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4461"/>
<xsd:attribute name="listAgencyID" type="qdt:PaymentMeansCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PaymentTermsEventTimeReferenceCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PaymentTermsEventTimeReferenceCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PaymentTermsEventTimeReferenceCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PaymentTermsEventTimeReferenceCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="2475_Payment Terms Event"/>
<xsd:attribute name="listAgencyID" type="qdt:PaymentTermsEventTimeReferenceCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PaymentTermsIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PaymentTermsIDSchemeAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PaymentTermsIDType">
<xsd:simpleContent>
<xsd:extension base="qdt:PaymentTermsIDContentType">
<xsd:attribute name="schemeID" type="xsd:token"/>
<xsd:attribute name="schemeAgencyID" type="qdt:PaymentTermsIDSchemeAgencyIDContentType"/>
<xsd:attribute name="schemeVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PaymentTermsTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PaymentTermsTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PaymentTermsTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PaymentTermsTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="4279"/>
<xsd:attribute name="listAgencyID" type="qdt:PaymentTermsTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="PriceTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="PriceTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="PriceTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:PriceTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="5375"/>
<xsd:attribute name="listAgencyID" type="qdt:PriceTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="ReferenceCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="ReferenceCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="ReferenceCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:ReferenceCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="1153_ReferenceTypeCode"/>
<xsd:attribute name="listAgencyID" type="qdt:ReferenceCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TaxCategoryCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TaxCategoryCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TaxCategoryCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TaxCategoryCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="5305"/>
<xsd:attribute name="listAgencyID" type="qdt:TaxCategoryCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TaxTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TaxTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TaxTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TaxTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="5153"/>
<xsd:attribute name="listAgencyID" type="qdt:TaxTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TimeReferenceCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TimeReferenceCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TimeReferenceCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TimeReferenceCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="2475"/>
<xsd:attribute name="listAgencyID" type="qdt:TimeReferenceCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TransportEquipmentCategoryCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TransportEquipmentCategoryCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TransportEquipmentCategoryCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TransportEquipmentCategoryCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="8053"/>
<xsd:attribute name="listAgencyID" type="qdt:TransportEquipmentCategoryCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TransportEquipmentFullnessCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TransportEquipmentFullnessCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TransportEquipmentFullnessCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TransportEquipmentFullnessCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="8169"/>
<xsd:attribute name="listAgencyID" type="qdt:TransportEquipmentFullnessCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TransportEquipmentSizeTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TransportEquipmentSizeTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TransportEquipmentSizeTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TransportEquipmentSizeTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="8155"/>
<xsd:attribute name="listAgencyID" type="qdt:TransportEquipmentSizeTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TransportMeansTypeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TransportMeansTypeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TransportMeansTypeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TransportMeansTypeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="Recommendation 28"/>
<xsd:attribute name="listAgencyID" type="qdt:TransportMeansTypeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TransportModeCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TransportModeCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TransportModeCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TransportModeCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="Recommendation 19"/>
<xsd:attribute name="listAgencyID" type="qdt:TransportModeCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="TransportMovementStageCodeContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:simpleType name="TransportMovementStageCodeListAgencyIDContentType">
<xsd:restriction base="xsd:token"/>
</xsd:simpleType>
<xsd:complexType name="TransportMovementStageCodeType">
<xsd:simpleContent>
<xsd:extension base="qdt:TransportMovementStageCodeContentType">
<xsd:attribute name="listID" type="xsd:token" fixed="8051"/>
<xsd:attribute name="listAgencyID" type="qdt:TransportMovementStageCodeListAgencyIDContentType" fixed="6"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="VolumeUnitMeasureType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="qdt:VolumeUnitMeasureUnitCodeContentType"/>
<xsd:attribute name="unitCodeListVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="VolumeUnitMeasureUnitCodeContentType">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1"/>
<xsd:maxLength value="3"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="WeightUnitMeasureType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="qdt:WeightUnitMeasureUnitCodeContentType"/>
<xsd:attribute name="unitCodeListVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="WeightUnitMeasureUnitCodeContentType">
<xsd:restriction base="xsd:token">
<xsd:minLength value="1"/>
<xsd:maxLength value="3"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

View file

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Schema agency: UNCEFACT
Schema version: 100.D16B (Decoupled Code List Schema Modules)
Schema date: 10 October 2016
Copyright (C) UN/CEFACT (2016). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to UN/CEFACT, except as needed for the purpose of developing UN/CEFACT specifications, in which case the procedures for copyrights defined in the UN/CEFACT Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by UN/CEFACT or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and UN/CEFACT DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-->
<xsd:schema xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100" elementFormDefault="qualified" version="100.D16B">
<xsd:complexType name="AmountType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="currencyID" type="xsd:token"/>
<xsd:attribute name="currencyCodeListVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="BinaryObjectType">
<xsd:simpleContent>
<xsd:extension base="xsd:base64Binary">
<xsd:attribute name="format" type="xsd:string"/>
<xsd:attribute name="mimeCode" type="xsd:token"/>
<xsd:attribute name="encodingCode" type="xsd:token"/>
<xsd:attribute name="characterSetCode" type="xsd:token"/>
<xsd:attribute name="uri" type="xsd:anyURI"/>
<xsd:attribute name="filename" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CodeType">
<xsd:simpleContent>
<xsd:extension base="xsd:token">
<xsd:attribute name="listID" type="xsd:token"/>
<xsd:attribute name="listAgencyID" type="xsd:token"/>
<xsd:attribute name="listAgencyName" type="xsd:string"/>
<xsd:attribute name="listName" type="xsd:string"/>
<xsd:attribute name="listVersionID" type="xsd:token"/>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="languageID" type="xsd:token"/>
<xsd:attribute name="listURI" type="xsd:anyURI"/>
<xsd:attribute name="listSchemeURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="DateTimeType">
<xsd:choice>
<xsd:element name="DateTimeString">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="DateTime" type="xsd:dateTime"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="DateType">
<xsd:choice>
<xsd:element name="DateString">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Date" type="xsd:date"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="IDType">
<xsd:simpleContent>
<xsd:extension base="xsd:token">
<xsd:attribute name="schemeID" type="xsd:token"/>
<xsd:attribute name="schemeName" type="xsd:string"/>
<xsd:attribute name="schemeAgencyID" type="xsd:token"/>
<xsd:attribute name="schemeAgencyName" type="xsd:string"/>
<xsd:attribute name="schemeVersionID" type="xsd:token"/>
<xsd:attribute name="schemeDataURI" type="xsd:anyURI"/>
<xsd:attribute name="schemeURI" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="IndicatorType">
<xsd:choice>
<xsd:element name="IndicatorString">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Indicator" type="xsd:boolean"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="MeasureType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="xsd:token"/>
<xsd:attribute name="unitCodeListVersionID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="NumericType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="PercentType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="QuantityType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="xsd:token"/>
<xsd:attribute name="unitCodeListID" type="xsd:token"/>
<xsd:attribute name="unitCodeListAgencyID" type="xsd:token"/>
<xsd:attribute name="unitCodeListAgencyName" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="RateType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="TextType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="languageID" type="xsd:token"/>
<xsd:attribute name="languageLocaleID" type="xsd:token"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ValueType">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="format" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,506 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:saxon="http://saxon.sf.net/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:schold="http://www.ascc.net/xml/schematron"
xmlns:iso="http://purl.oclc.org/dsdl/schematron"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ccts="urn:un:unece:uncefact:documentation:standard:CoreComponentsTechnicalSpecification:2"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
version="2.0"><!--Implementers: please note that overriding process-prolog or process-root is
the preferred method for meta-stylesheets to use where possible. -->
<xsl:param name="archiveDirParameter"/>
<xsl:param name="archiveNameParameter"/>
<xsl:param name="fileNameParameter"/>
<xsl:param name="fileDirParameter"/>
<xsl:variable name="document-uri">
<xsl:value-of select="document-uri(/)"/>
</xsl:variable>
<!--PHASES-->
<!--PROLOG-->
<xsl:output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
method="xml"
omit-xml-declaration="no"
standalone="yes"
indent="yes"/>
<!--XSD TYPES FOR XSLT2-->
<!--KEYS AND FUNCTIONS-->
<!--DEFAULT RULES-->
<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->
<xsl:template match="*" mode="schematron-select-full-path">
<xsl:apply-templates select="." mode="schematron-get-full-path-2"/>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->
<xsl:template match="*" mode="schematron-get-full-path">
<xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:choose>
<xsl:when test="namespace-uri()=''">
<xsl:value-of select="name()"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>*:</xsl:text>
<xsl:value-of select="local-name()"/>
<xsl:text>[namespace-uri()='</xsl:text>
<xsl:value-of select="namespace-uri()"/>
<xsl:text>']</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="preceding"
select="count(preceding-sibling::*[local-name()=local-name(current()) and namespace-uri() = namespace-uri(current())])"/>
<xsl:text>[</xsl:text>
<xsl:value-of select="1+ $preceding"/>
<xsl:text>]</xsl:text>
</xsl:template>
<xsl:template match="@*" mode="schematron-get-full-path">
<xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:choose>
<xsl:when test="namespace-uri()=''">@<xsl:value-of select="name()"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>@*[local-name()='</xsl:text>
<xsl:value-of select="local-name()"/>
<xsl:text>' and namespace-uri()='</xsl:text>
<xsl:value-of select="namespace-uri()"/>
<xsl:text>']</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-2-->
<!--This mode can be used to generate prefixed XPath for humans-->
<xsl:template match="node() | @*" mode="schematron-get-full-path-2">
<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text>
<xsl:value-of select="name(.)"/>
<xsl:if test="preceding-sibling::*[name(.)=name(current())]">
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="not(self::*)">
<xsl:text/>/@<xsl:value-of select="name(.)"/>
</xsl:if>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-3-->
<!--This mode can be used to generate prefixed XPath for humans
(Top-level element has index)-->
<xsl:template match="node() | @*" mode="schematron-get-full-path-3">
<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text>
<xsl:value-of select="name(.)"/>
<xsl:if test="parent::*">
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="not(self::*)">
<xsl:text/>/@<xsl:value-of select="name(.)"/>
</xsl:if>
</xsl:template>
<!--MODE: GENERATE-ID-FROM-PATH -->
<xsl:template match="/" mode="generate-id-from-path"/>
<xsl:template match="text()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
</xsl:template>
<xsl:template match="comment()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
</xsl:template>
<xsl:template match="processing-instruction()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
</xsl:template>
<xsl:template match="@*" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.@', name())"/>
</xsl:template>
<xsl:template match="*" mode="generate-id-from-path" priority="-0.5">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
</xsl:template>
<!--MODE: GENERATE-ID-2 -->
<xsl:template match="/" mode="generate-id-2">U</xsl:template>
<xsl:template match="*" mode="generate-id-2" priority="2">
<xsl:text>U</xsl:text>
<xsl:number level="multiple" count="*"/>
</xsl:template>
<xsl:template match="node()" mode="generate-id-2">
<xsl:text>U.</xsl:text>
<xsl:number level="multiple" count="*"/>
<xsl:text>n</xsl:text>
<xsl:number count="node()"/>
</xsl:template>
<xsl:template match="@*" mode="generate-id-2">
<xsl:text>U.</xsl:text>
<xsl:number level="multiple" count="*"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="string-length(local-name(.))"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="translate(name(),':','.')"/>
</xsl:template>
<!--Strip characters-->
<xsl:template match="text()" priority="-1"/>
<!--SCHEMA SETUP-->
<xsl:template match="/">
<svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
title="XRechnung 1.0 - Schematron - CII"
schemaVersion="">
<xsl:comment>
<xsl:value-of select="$archiveDirParameter"/>  
<xsl:value-of select="$archiveNameParameter"/>  
<xsl:value-of select="$fileNameParameter"/>  
<xsl:value-of select="$fileDirParameter"/>
</xsl:comment>
<svrl:ns-prefix-in-attribute-values uri="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
prefix="rsm"/>
<svrl:ns-prefix-in-attribute-values uri="urn:un:unece:uncefact:documentation:standard:CoreComponentsTechnicalSpecification:2"
prefix="ccts"/>
<svrl:ns-prefix-in-attribute-values uri="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
prefix="udt"/>
<svrl:ns-prefix-in-attribute-values uri="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
prefix="qdt"/>
<svrl:ns-prefix-in-attribute-values uri="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
prefix="ram"/>
<svrl:active-pattern>
<xsl:attribute name="document">
<xsl:value-of select="document-uri(/)"/>
</xsl:attribute>
<xsl:attribute name="id">CII-model</xsl:attribute>
<xsl:attribute name="name">CII-model</xsl:attribute>
<xsl:apply-templates/>
</svrl:active-pattern>
<xsl:apply-templates select="/" mode="M7"/>
</svrl:schematron-output>
</xsl:template>
<!--SCHEMATRON PATTERNS-->
<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">XRechnung 1.0 - Schematron - CII</svrl:text>
<!--PATTERN CII-model-->
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice" priority="1006" mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans">
<xsl:attribute name="id">BR-DE-1</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-1] Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement">
<xsl:attribute name="id">BR-DE-13</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-13] In der Rechnung müssen Angaben zu einer der drei Gruppen "CREDIT TRANSFER" (BG-17), "PAYMENT CARD INFORMATION" (BG-18) oder "DIRECT DEBIT"(BG-19) gemacht werden.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerReference"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerReference">
<xsl:attribute name="id">BR-DE-15</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-15] Das Element "Buyer reference" (BT-10) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA' or @schemeID='FC'], rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty)"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="(rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID='VA' or @schemeID='FC'], rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty)">
<xsl:attribute name="id">BR-DE-16</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-16] Ein "Seller VAT identifier" (BT-31) ist anzugeben, wenn nicht ein "Seller tax registration identifier" (BT-32) oder eine eine "SELLER TAX REPRESENTATIVE PARTY" (BG-11) angegeben wurden.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty"
priority="1005"
mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:DefinedTradeContact"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:DefinedTradeContact">
<xsl:attribute name="id">BR-DE-2</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-2] Die Gruppe "SELLER CONTACT" (BG-6) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress"
priority="1004"
mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:CityName">
<xsl:attribute name="id">BR-DE-3</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-3] Das Element "Seller city" (BT-37) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:PostcodeCode"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:PostcodeCode">
<xsl:attribute name="id">BR-DE-4</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-4] Das Element "Seller post code" (BT-38) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact"
priority="1003"
mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:PersonName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:PersonName">
<xsl:attribute name="id">BR-DE-5</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-5] Das Element "Seller contact point" (BT-41) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:TelephoneUniversalCommunication/ram:CompleteNumber"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="ram:TelephoneUniversalCommunication/ram:CompleteNumber">
<xsl:attribute name="id">BR-DE-6</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-6] Das Element "Seller contact telephone number" (BT-42) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:EmailURIUniversalCommunication/ram:URIID"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="ram:EmailURIUniversalCommunication/ram:URIID">
<xsl:attribute name="id">BR-DE-7</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-7] Das Element "Seller contact email address" (BT-43) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress"
priority="1002"
mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:CityName">
<xsl:attribute name="id">BR-DE-8</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-8] Das Element "Buyer city" (BT-52) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:PostcodeCode"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:PostcodeCode">
<xsl:attribute name="id">BR-DE-9</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-9] Das Element "Buyer post code" (BT-53) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress"
priority="1001"
mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:CityName">
<xsl:attribute name="id">BR-DE-10</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-10] Das Element "Deliver to city" (BT-77) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:PostcodeCode"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="ram:PostcodeCode">
<xsl:attribute name="id">BR-DE-11</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-11] Das Element "Deliver to post code" (BT-78) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="matches(ram:PostcodeCode,'[0-9]{5}')"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="matches(ram:PostcodeCode,'[0-9]{5}')">
<xsl:attribute name="id">BR-DE-12</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-12] Mit dem Element "Deliver to post code" (BT-78) wird eine Postleitzahl übermittelt.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax"
priority="1000"
mode="M7">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="ram:RateApplicablePercent"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="ram:RateApplicablePercent">
<xsl:attribute name="id">BR-DE-14</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-14] Das Element "VAT category rate" (BT-119) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
<xsl:template match="text()" priority="-1" mode="M7"/>
<xsl:template match="@*|node()" priority="-2" mode="M7">
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,731 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!-- ===== CCTS Core Component Type Schema Module ===== -->
<!-- ====================================================================== -->
<!--
Module of Core Component Type
Agency: UN/CEFACT
VersionID: 1.1
Last change: 14 January 2005
Copyright (C) UN/CEFACT (2006). All Rights Reserved.
This document and translations of it may be copied and furnished to others,
and derivative works that comment on or otherwise explain it or assist
in its implementation may be prepared, copied, published and distributed,
in whole or in part, without restriction of any kind, provided that the
above copyright notice and this paragraph are included on all such copies
and derivative works. However, this document itself may not be modified in
any way, such as by removing the copyright notice or references to
UN/CEFACT, except as needed for the purpose of developing UN/CEFACT
specifications, in which case the procedures for copyrights defined in the
UN/CEFACT Intellectual Property Rights document must be followed, or as
required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked
by UN/CEFACT or its successors or assigns.
This document and the information contained herein is provided on an "AS IS"
basis and UN/CEFACT DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE.
-->
<xsd:schema targetNamespace="urn:un:unece:uncefact:data:specification:CoreComponentTypeSchemaModule:2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns:cct="urn:un:unece:uncefact:data:specification:CoreComponentTypeSchemaModule:2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- ===== Type Definitions ===== -->
<!-- =================================================================== -->
<!-- ===== CCT: AmountType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="AmountType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000001</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Amount. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A number of monetary units specified in a currency where the unit of the currency is explicit or implied.</ccts:Definition>
<ccts:RepresentationTermName>Amount</ccts:RepresentationTermName>
<ccts:PrimitiveType>decimal</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="currencyID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000001-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Amount Currency. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The currency of the amount.</ccts:Definition>
<ccts:ObjectClass>Amount Currency</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Reference UNECE Rec 9, using 3-letter alphabetic codes.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="currencyCodeListVersionID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000001-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Amount Currency. Code List Version. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The VersionID of the UN/ECE Rec9 code list.</ccts:Definition>
<ccts:ObjectClass>Amount Currency</ccts:ObjectClass>
<ccts:PropertyTermName>Code List Version</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: BinaryObjectType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="BinaryObjectType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A set of finite-length sequences of binary octets.</ccts:Definition>
<ccts:RepresentationTermName>Binary Object</ccts:RepresentationTermName>
<ccts:PrimitiveType>binary</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:base64Binary">
<xsd:attribute name="format" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Format. Text</ccts:DictionaryEntryName>
<ccts:Definition>The format of the binary content.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Format</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="mimeCode" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Mime. Code</ccts:DictionaryEntryName>
<ccts:Definition>The mime type of the binary object.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Mime</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="encodingCode" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC4</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Encoding. Code</ccts:DictionaryEntryName>
<ccts:Definition>Specifies the decoding algorithm of the binary object.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Encoding</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="characterSetCode" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC5</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Character Set. Code</ccts:DictionaryEntryName>
<ccts:Definition>The character set of the binary object if the mime type is text.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Character Set</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="uri" type="xsd:anyURI" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC6</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Uniform Resource. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The Uniform Resource Identifier that identifies where the binary object is located.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Uniform Resource Identifier</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="filename" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC7</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Filename.Text</ccts:DictionaryEntryName>
<ccts:Definition>The filename of the binary object.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Filename</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: CodeType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="CodeType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string (letters, figures, or symbols) that for brevity and/or languange independence may be used to represent or replace a definitive value or text of an attribute together with relevant supplementary information.</ccts:Definition>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Should not be used if the character string identifies an instance of an object class or an object in the real world, in which case the Identifier. Type should be used.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:normalizedString">
<xsd:attribute name="listID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identification of a list of codes.</ccts:Definition>
<ccts:ObjectClass>Code List</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="listAgencyID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List. Agency. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>An agency that maintains one or more lists of codes.</ccts:Definition>
<ccts:ObjectClass>Code List</ccts:ObjectClass>
<ccts:PropertyTermName>Agency</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Defaults to the UN/EDIFACT data element 3055 code list.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="listAgencyName" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC4</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List. Agency Name. Text</ccts:DictionaryEntryName>
<ccts:Definition>The name of the agency that maintains the list of codes.</ccts:Definition>
<ccts:ObjectClass>Code List</ccts:ObjectClass>
<ccts:PropertyTermName>Agency Name</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="listName" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC5</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List. Name. Text</ccts:DictionaryEntryName>
<ccts:Definition>The name of a list of codes.</ccts:Definition>
<ccts:ObjectClass>Code List</ccts:ObjectClass>
<ccts:PropertyTermName>Name</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="listVersionID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC6</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List. Version. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The version of the list of codes.</ccts:Definition>
<ccts:ObjectClass>Code List</ccts:ObjectClass>
<ccts:PropertyTermName>Version</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="name" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC7</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code. Name. Text</ccts:DictionaryEntryName>
<ccts:Definition>The textual equivalent of the code content component.</ccts:Definition>
<ccts:ObjectClass>Code</ccts:ObjectClass>
<ccts:PropertyTermName>Name</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="languageID" type="xsd:language" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC8</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Language. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identifier of the language used in the code name.</ccts:Definition>
<ccts:ObjectClass>Language</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="listURI" type="xsd:anyURI" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC9</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List. Uniform Resource. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The Uniform Resource Identifier that identifies where the code list is located.</ccts:Definition>
<ccts:ObjectClass>Code List</ccts:ObjectClass>
<ccts:PropertyTermName>Uniform Resource Identifier</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="listSchemeURI" type="xsd:anyURI" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000007-SC10</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code List Scheme. Uniform Resource. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The Uniform Resource Identifier that identifies where the code list scheme is located.</ccts:Definition>
<ccts:ObjectClass>Code List Scheme</ccts:ObjectClass>
<ccts:PropertyTermName>Uniform Resource Identifier</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: DateTimeType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="DateTimeType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000008</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Date Time. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A particular point in the progression of time together with the relevant supplementary information.</ccts:Definition>
<ccts:RepresentationTermName>Date Time</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Can be used for a date and/or time.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="format" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000008-SC1</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Date Time. Format. Text</ccts:DictionaryEntryName>
<ccts:Definition>The format of the date time content</ccts:Definition>
<ccts:ObjectClass>Date Time</ccts:ObjectClass>
<ccts:PropertyTermName>Format</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: IdentifierType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="IdentifierType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identifier. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects in the same scheme together with relevant supplementary information.</ccts:Definition>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:normalizedString">
<xsd:attribute name="schemeID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identification of the identification scheme.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="schemeName" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme. Name. Text</ccts:DictionaryEntryName>
<ccts:Definition>The name of the identification scheme.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme</ccts:ObjectClass>
<ccts:PropertyTermName>Name</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="schemeAgencyID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC4</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme Agency. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identification of the agency that maintains the identification scheme.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme Agency</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Defaults to the UN/EDIFACT data element 3055 code list.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="schemeAgencyName" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC5</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme Agency. Name. Text</ccts:DictionaryEntryName>
<ccts:Definition>The name of the agency that maintains the identification scheme.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme Agency</ccts:ObjectClass>
<ccts:PropertyTermName>Agency Name</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="schemeVersionID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC6</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme. Version. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The version of the identification scheme.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme</ccts:ObjectClass>
<ccts:PropertyTermName>Version</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="schemeDataURI" type="xsd:anyURI" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC7</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme Data. Uniform Resource. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The Uniform Resource Identifier that identifies where the identification scheme data is located.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme Data</ccts:ObjectClass>
<ccts:PropertyTermName>Uniform Resource Identifier</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="schemeURI" type="xsd:anyURI" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000011-SC8</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identification Scheme. Uniform Resource. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The Uniform Resource Identifier that identifies where the identification scheme is located.</ccts:Definition>
<ccts:ObjectClass>Identification Scheme</ccts:ObjectClass>
<ccts:PropertyTermName>Uniform Resource Identifier</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: IndicatorType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="IndicatorType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000012</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Indicator. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A list of two mutually exclusive Boolean values that express the only possible states of a Property.</ccts:Definition>
<ccts:RepresentationTermName>Indicator</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="format" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000012-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Indicator. Format. Text</ccts:DictionaryEntryName>
<ccts:Definition>Whether the indicator is numeric, textual or binary.</ccts:Definition>
<ccts:ObjectClass>Indicator</ccts:ObjectClass>
<ccts:PropertyTermName>Format</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: MeasureType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="MeasureType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000013</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Measure. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A numeric value determined by measuring an object along with the specified unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Measure</ccts:RepresentationTermName>
<ccts:PrimitiveType>decimal</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000013-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Measure Unit. Code</ccts:DictionaryEntryName>
<ccts:Definition>The type of unit of measure.</ccts:Definition>
<ccts:ObjectClass>Measure Unit</ccts:ObjectClass>
<ccts:PropertyTermName>Code</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Reference UNECE Rec. 20 and X12 355</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="unitCodeListVersionID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000013-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Measure Unit. Code List Version. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The version of the measure unit code list.</ccts:Definition>
<ccts:ObjectClass>Measure Unit</ccts:ObjectClass>
<ccts:PropertyTermName>Code List Version</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: NumericType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="NumericType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000014</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Numeric. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Numeric</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="format" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000014-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Numeric. Format. Text</ccts:DictionaryEntryName>
<ccts:Definition>Whether the number is an integer, decimal, real number or percentage.</ccts:Definition>
<ccts:ObjectClass>Numeric</ccts:ObjectClass>
<ccts:PropertyTermName>Format</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: QuantityType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="QuantityType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000018</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Quantity. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A counted number of non-monetary units possibly including fractions.</ccts:Definition>
<ccts:RepresentationTermName>Quantity</ccts:RepresentationTermName>
<ccts:PrimitiveType>decimal</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unitCode" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000018-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Quantity. Unit. Code</ccts:DictionaryEntryName>
<ccts:Definition>The unit of the quantity</ccts:Definition>
<ccts:ObjectClass>Quantity</ccts:ObjectClass>
<ccts:PropertyTermName>Unit Code</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="unitCodeListID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000018-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Quantity Unit. Code List. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The quantity unit code list.</ccts:Definition>
<ccts:ObjectClass>Quantity Unit</ccts:ObjectClass>
<ccts:PropertyTermName>Code List</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="unitCodeListAgencyID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000018-SC4</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Quantity Unit. Code List Agency. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identification of the agency that maintains the quantity unit code list</ccts:Definition>
<ccts:ObjectClass>Quantity Unit</ccts:ObjectClass>
<ccts:PropertyTermName>Code List Agency</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Defaults to the UN/EDIFACT data element 3055 code list.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="unitCodeListAgencyName" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000018-SC5</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Quantity Unit. Code List Agency Name. Text</ccts:DictionaryEntryName>
<ccts:Definition>The name of the agency which maintains the quantity unit code list.</ccts:Definition>
<ccts:ObjectClass>Quantity Unit</ccts:ObjectClass>
<ccts:PropertyTermName>Code List Agency Name</ccts:PropertyTermName>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- ===== CCT: TextType ===== -->
<!-- =================================================================== -->
<xsd:complexType name="TextType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000019</ccts:UniqueID>
<ccts:CategoryCode>CCT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Text. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string (i.e. a finite set of characters) generally in the form of words of a language.</ccts:Definition>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="languageID" type="xsd:language" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000019-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Language. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identifier of the language used in the content component.</ccts:Definition>
<ccts:ObjectClass>Language</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="languageLocaleID" type="xsd:normalizedString" use="optional">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000019-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName> Language. Locale. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The identification of the locale of the language.</ccts:Definition>
<ccts:ObjectClass>Language</ccts:ObjectClass>
<ccts:PropertyTermName>Locale</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>

View file

@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-CommonExtensionComponents-2.1.xsd
Generated on: 2013-04-20 18:40(UTC)
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="2.1">
<!-- ===== Imports ===== -->
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2" schemaLocation="UBL-UnqualifiedDataTypes-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" schemaLocation="UBL-CommonBasicComponents-2.1.xsd"/>
<!-- ===== Includes ===== -->
<xsd:include schemaLocation="UBL-ExtensionContentDataType-2.1.xsd"/>
<!-- ===== Aggregate Element and Type Declarations ===== -->
<xsd:element name="UBLExtensions" type="UBLExtensionsType">
<xsd:annotation>
<xsd:documentation>
A container for all extensions present in the document.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="UBLExtensionsType">
<xsd:annotation>
<xsd:documentation>
A container for all extensions present in the document.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="UBLExtension" minOccurs="1" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
A single extension for private use.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="UBLExtension" type="UBLExtensionType">
<xsd:annotation>
<xsd:documentation>
A single extension for private use.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="UBLExtensionType">
<xsd:annotation>
<xsd:documentation>
A single extension for private use.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="cbc:ID" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
An identifier for the Extension assigned by the creator of the extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="cbc:Name" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
A name for the Extension assigned by the creator of the extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionAgencyID" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
An agency that maintains one or more Extensions.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionAgencyName" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The name of the agency that maintains the Extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionVersionID" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The version of the Extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionAgencyURI" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
A URI for the Agency that maintains the Extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionURI" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
A URI for the Extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionReasonCode" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
A code for reason the Extension is being included.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionReason" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
A description of the reason for the Extension.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="ExtensionContent" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The definition of the extension content.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- ===== Basic Element and Type Declarations ===== -->
<xsd:element name="ExtensionAgencyID" type="ExtensionAgencyIDType"/>
<xsd:element name="ExtensionAgencyName" type="ExtensionAgencyNameType"/>
<xsd:element name="ExtensionAgencyURI" type="ExtensionAgencyURIType"/>
<xsd:element name="ExtensionContent" type="ExtensionContentType"/>
<xsd:element name="ExtensionReason" type="ExtensionReasonType"/>
<xsd:element name="ExtensionReasonCode" type="ExtensionReasonCodeType"/>
<xsd:element name="ExtensionURI" type="ExtensionURIType"/>
<xsd:element name="ExtensionVersionID" type="ExtensionVersionIDType"/>
<xsd:complexType name="ExtensionAgencyIDType">
<xsd:simpleContent>
<xsd:extension base="udt:IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ExtensionAgencyNameType">
<xsd:simpleContent>
<xsd:extension base="udt:TextType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ExtensionAgencyURIType">
<xsd:simpleContent>
<xsd:extension base="udt:IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ExtensionReasonType">
<xsd:simpleContent>
<xsd:extension base="udt:TextType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ExtensionReasonCodeType">
<xsd:simpleContent>
<xsd:extension base="udt:CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ExtensionURIType">
<xsd:simpleContent>
<xsd:extension base="udt:IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ExtensionVersionIDType">
<xsd:simpleContent>
<xsd:extension base="udt:IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== -->
<!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: xsdrt/common/UBL-CommonSignatureComponents-2.1.xsd
Generated on: 2013-10-31 17:18z
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2"
xmlns:sac="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2"
schemaLocation="UBL-SignatureAggregateComponents-2.1.xsd"/>
<xsd:element name="UBLDocumentSignatures" type="UBLDocumentSignaturesType"/>
<xsd:complexType name="UBLDocumentSignaturesType">
<xsd:sequence>
<xsd:element ref="sac:SignatureInformation" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== --><!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-CoreComponentParameters-2.1.xsd
Generated on: 2013-04-20 18:40(UTC)
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:un:unece:uncefact:documentation:2"
xmlns="urn:un:unece:uncefact:documentation:2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
</xsd:schema>
<!-- ===== Copyright Notice ===== -->
<!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-ExtensionContentDataType-2.1.xsd
Generated on: 2013-04-20 18:40(UTC)
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns=
"urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
targetNamespace=
"urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<!--import here all extension schemas-->
<xsd:import namespace=
"urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2"
schemaLocation="UBL-CommonSignatureComponents-2.1.xsd"/>
<!-- ===== Type Declaration ===== -->
<xsd:complexType name="ExtensionContentType">
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax"
minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Any element in any namespace other than the UBL extension
namespace is allowed to be the apex element of an extension.
Only those elements found in the UBL schemas and in the
trees of schemas imported in this module are validated.
Any element for which there is no schema declaration in any
of the trees of schemas passes validation and is not
treated as a schema constraint violation.
</xsd:documentation>
</xsd:annotation>
</xsd:any>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== -->
<!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-QualifiedDataTypes-2.1.xsd
Generated on: 2013-04-20 18:40(UTC)
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<!-- ===== Imports ===== -->
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2" schemaLocation="UBL-UnqualifiedDataTypes-2.1.xsd"/>
<!-- ===== Type Definitions ===== -->
<!--no qualified data types defined at this time-->
</xsd:schema>
<!-- ===== Copyright Notice ===== -->
<!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: xsdrt/common/UBL-SignatureAggregateComponents-2.1.xsd
Generated on: 2013-10-31 17:18z
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2"
xmlns:sac="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2"
xmlns:sbc="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2"
schemaLocation="UBL-SignatureBasicComponents-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
schemaLocation="UBL-CommonBasicComponents-2.1.xsd"/>
<!-- ===== Incorporate W3C signature specification-->
<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#"
schemaLocation="UBL-xmldsig-core-schema-2.1.xsd"/>
<!-- ===== Incorporate ETSI signature specifications-->
<xsd:import namespace="http://uri.etsi.org/01903/v1.3.2#"
schemaLocation="UBL-XAdESv132-2.1.xsd"/>
<xsd:import namespace="http://uri.etsi.org/01903/v1.4.1#"
schemaLocation="UBL-XAdESv141-2.1.xsd"/>
<xsd:element name="SignatureInformation" type="SignatureInformationType"/>
<xsd:complexType name="SignatureInformationType">
<xsd:sequence>
<xsd:element ref="cbc:ID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="sbc:ReferencedSignatureID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="ds:Signature" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>This is a single digital signature as defined by the W3C specification.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== --><!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: xsdrt/common/UBL-SignatureBasicComponents-2.1.xsd
Generated on: 2013-10-31 17:18z
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
schemaLocation="UBL-QualifiedDataTypes-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
schemaLocation="UBL-UnqualifiedDataTypes-2.1.xsd"/>
<xsd:element name="ReferencedSignatureID" type="ReferencedSignatureIDType"/>
<xsd:complexType name="ReferencedSignatureIDType">
<xsd:simpleContent>
<xsd:extension base="udt:IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== --><!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,553 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-UnqualifiedDataTypes-2.1.xsd
Generated on: 2013-04-20 18:40(UTC)
Copyright (c) OASIS Open 2013. All Rights Reserved.
This schema fragment implements UBL unqualified datatypes using core
component types with all supplementary components as described in
CCTS 2.01 http://www.unece.org/cefact/ebxml/CCTS_V2-01_Final.pdf tables
8-1, 8-2 and 8-3.
Per table 8-3, the graphic, picture, sound and video types are based on
"Binary Object. Type" as they are secondary representation terms.
Per table 8-3, the value, rate and percentage types are based on
"Numeric. Type" as they are secondary representation terms.
Per table 8-3, the name type is based on "Text. Type" as it is a
secondary representation term.
Per XSD lexical constraints, the following unqualified data types
corresponding to core component types and secondary representation terms
are based on XSD types (accordingly, the supplementary component "format"
is not made available for these types):
Date Time. Type on xsd:dateTime
Date. Type on xsd:date
Time. Type on xsd:time
Indicator. Type on xsd:boolean
Per UBL 2.0 the following supplementary components are restricted to be
required rather than optional:
Amount. Currency. Identifier as (AmountType)/@currencyID
Binary Object. Mime. Code as (BinaryObjectType)/@mimeCode
Graphic. Mime. Code as (GraphicType)/@mimeCode
Picture. Mime. Code as (PictureType)/@mimeCode
Sound. Mime. Code as (SoundType)/@mimeCode
Video. Mime. Code as (VideoType)/@mimeCode
Measure. Unit. Code as (MeasureType)/@unitCode
All other unqualified data types inherit the core component types complete
with their supplementary components.
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts-cct="urn:un:unece:uncefact:data:specification:CoreComponentTypeSchemaModule:2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<!-- ===== Imports ===== -->
<xsd:import schemaLocation="CCTS_CCT_SchemaModule-2.1.xsd"
namespace="urn:un:unece:uncefact:data:specification:CoreComponentTypeSchemaModule:2"/>
<!-- ===== Type Definitions ===== -->
<xsd:complexType name="AmountType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000001</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Amount. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A number of monetary units specified using a given unit of currency.</ccts:Definition>
<ccts:RepresentationTermName>Amount</ccts:RepresentationTermName>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:AmountType">
<xsd:attribute name="currencyID" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000001-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Amount. Currency. Identifier</ccts:DictionaryEntryName>
<ccts:Definition>The currency of the amount.</ccts:Definition>
<ccts:ObjectClass>Amount Currency</ccts:ObjectClass>
<ccts:PropertyTermName>Identification</ccts:PropertyTermName>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Reference UNECE Rec 9, using 3-letter alphabetic codes.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="BinaryObjectType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000002</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A set of finite-length sequences of binary octets.</ccts:Definition>
<ccts:RepresentationTermName>Binary Object</ccts:RepresentationTermName>
<ccts:PrimitiveType>binary</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:BinaryObjectType">
<xsd:attribute name="mimeCode" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000002-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Binary Object. Mime. Code</ccts:DictionaryEntryName>
<ccts:Definition>The mime type of the binary object.</ccts:Definition>
<ccts:ObjectClass>Binary Object</ccts:ObjectClass>
<ccts:PropertyTermName>Mime</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="GraphicType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000003</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Graphic. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A diagram, graph, mathematical curve, or similar representation.</ccts:Definition>
<ccts:RepresentationTermName>Graphic</ccts:RepresentationTermName>
<ccts:PrimitiveType>binary</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:BinaryObjectType">
<xsd:attribute name="mimeCode" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000003-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Graphic. Mime. Code</ccts:DictionaryEntryName>
<ccts:Definition>The mime type of the graphic object.</ccts:Definition>
<ccts:ObjectClass>Graphic</ccts:ObjectClass>
<ccts:PropertyTermName>Mime</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>normalizedString</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="PictureType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000004</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Picture. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A diagram, graph, mathematical curve, or similar representation.</ccts:Definition>
<ccts:RepresentationTermName>Picture</ccts:RepresentationTermName>
<ccts:PrimitiveType>binary</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:BinaryObjectType">
<xsd:attribute name="mimeCode" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000004-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Picture. Mime. Code</ccts:DictionaryEntryName>
<ccts:Definition>The mime type of the picture object.</ccts:Definition>
<ccts:ObjectClass>Picture</ccts:ObjectClass>
<ccts:PropertyTermName>Mime</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>normalizedString</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="SoundType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000005</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Sound. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>An audio representation.</ccts:Definition>
<ccts:RepresentationTermName>Sound</ccts:RepresentationTermName>
<ccts:PrimitiveType>binary</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:BinaryObjectType">
<xsd:attribute name="mimeCode" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000005-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Sound. Mime. Code</ccts:DictionaryEntryName>
<ccts:Definition>The mime type of the sound object.</ccts:Definition>
<ccts:ObjectClass>Sound</ccts:ObjectClass>
<ccts:PropertyTermName>Mime</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>normalizedString</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="VideoType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000006</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Video. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A video representation.</ccts:Definition>
<ccts:RepresentationTermName>Video</ccts:RepresentationTermName>
<ccts:PrimitiveType>binary</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:BinaryObjectType">
<xsd:attribute name="mimeCode" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000006-SC3</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Video. Mime. Code</ccts:DictionaryEntryName>
<ccts:Definition>The mime type of the video object.</ccts:Definition>
<ccts:ObjectClass>Video</ccts:ObjectClass>
<ccts:PropertyTermName>Mime</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>normalizedString</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CodeType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000007</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Code. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string (letters, figures, or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute, together with relevant supplementary information.</ccts:Definition>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Other supplementary components in the CCT are captured as part of the token and name for the schema module containing the code list and thus, are not declared as attributes. </ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:CodeType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="DateTimeType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000008</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Date Time. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A particular point in the progression of time, together with relevant supplementary information.</ccts:Definition>
<ccts:RepresentationTermName>Date Time</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Can be used for a date and/or time.</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:dateTime"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="DateType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT000009</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Date. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>One calendar day according the Gregorian calendar.</ccts:Definition>
<ccts:RepresentationTermName>Date</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:date"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="TimeType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000010</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Time. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>An instance of time that occurs every day.</ccts:Definition>
<ccts:RepresentationTermName>Time</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:time"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="IdentifierType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000011</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Identifier. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string to identify and uniquely distinguish one instance of an object in an identification scheme from all other objects in the same scheme, together with relevant supplementary information.</ccts:Definition>
<ccts:RepresentationTermName>Identifier</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
<ccts:UsageRule>Other supplementary components in the CCT are captured as part of the token and name for the schema module containing the identifier list and thus, are not declared as attributes. </ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:IdentifierType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="IndicatorType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000012</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Indicator. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A list of two mutually exclusive Boolean values that express the only possible states of a property.</ccts:Definition>
<ccts:RepresentationTermName>Indicator</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:boolean"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="MeasureType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000013</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Measure. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A numeric value determined by measuring an object using a specified unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Measure</ccts:RepresentationTermName>
<ccts:PropertyTermName>Type</ccts:PropertyTermName>
<ccts:PrimitiveType>decimal</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="ccts-cct:MeasureType">
<xsd:attribute name="unitCode" type="xsd:normalizedString" use="required">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UNDT000013-SC2</ccts:UniqueID>
<ccts:CategoryCode>SC</ccts:CategoryCode>
<ccts:DictionaryEntryName>Measure. Unit. Code</ccts:DictionaryEntryName>
<ccts:Definition>The type of unit of measure.</ccts:Definition>
<ccts:ObjectClass>Measure Unit</ccts:ObjectClass>
<ccts:PropertyTermName>Code</ccts:PropertyTermName>
<ccts:RepresentationTermName>Code</ccts:RepresentationTermName>
<ccts:PrimitiveType>normalizedString</ccts:PrimitiveType>
<ccts:UsageRule>Reference UNECE Rec. 20 and X12 355</ccts:UsageRule>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="NumericType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000014</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Numeric. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Numeric</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:NumericType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="ValueType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000015</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:DictionaryEntryName>Value. Type</ccts:DictionaryEntryName>
<ccts:Definition>Numeric information that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Value</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:NumericType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="PercentType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000016</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:DictionaryEntryName>Percent. Type</ccts:DictionaryEntryName>
<ccts:Definition>Numeric information that is assigned or is determined by calculation, counting, or sequencing and is expressed as a percentage. It does not require a unit of quantity or unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Percent</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:NumericType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="RateType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000017</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:DictionaryEntryName>Rate. Type</ccts:DictionaryEntryName>
<ccts:Definition>A numeric expression of a rate that is assigned or is determined by calculation, counting, or sequencing. It does not require a unit of quantity or unit of measure.</ccts:Definition>
<ccts:RepresentationTermName>Rate</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:NumericType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="QuantityType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000018</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Quantity. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A counted number of non-monetary units, possibly including a fractional part.</ccts:Definition>
<ccts:RepresentationTermName>Quantity</ccts:RepresentationTermName>
<ccts:PrimitiveType>decimal</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:QuantityType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="TextType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000019</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Text. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string (i.e. a finite set of characters), generally in the form of words of a language.</ccts:Definition>
<ccts:RepresentationTermName>Text</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:TextType"/>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="NameType">
<xsd:annotation>
<xsd:documentation xml:lang="en">
<ccts:UniqueID>UBLUDT0000020</ccts:UniqueID>
<ccts:CategoryCode>UDT</ccts:CategoryCode>
<ccts:DictionaryEntryName>Name. Type</ccts:DictionaryEntryName>
<ccts:VersionID>1.0</ccts:VersionID>
<ccts:Definition>A character string that constitutes the distinctive designation of a person, place, thing or concept.</ccts:Definition>
<ccts:RepresentationTermName>Name</ccts:RepresentationTermName>
<ccts:PrimitiveType>string</ccts:PrimitiveType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="ccts-cct:TextType"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:schema><!-- ===== Copyright Notice ===== --><!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,476 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-XAdESv132-2.1.xsd
Generated on: 2011-02-21 17:20(UTC)
This is a copy of http://uri.etsi.org/01903/v1.3.2/XAdES.xsd modified
only to change the importing URI for the XML DSig schema.
-->
<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.3.2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.3.2#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified">
<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="UBL-xmldsig-core-schema-2.1.xsd"/>
<!-- Start auxiliary types definitions: AnyType, ObjectIdentifierType,
EncapsulatedPKIDataType and containers for time-stamp tokens -->
<!-- Start AnyType -->
<xsd:element name="Any" type="AnyType"/>
<xsd:complexType name="AnyType" mixed="true">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##any" processContents="lax"/>
</xsd:sequence>
<xsd:anyAttribute namespace="##any"/>
</xsd:complexType>
<!-- End AnyType -->
<!-- Start ObjectIdentifierType-->
<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
<xsd:complexType name="ObjectIdentifierType">
<xsd:sequence>
<xsd:element name="Identifier" type="IdentifierType"/>
<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
<xsd:element name="DocumentationReferences" type="DocumentationReferencesType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IdentifierType">
<xsd:simpleContent>
<xsd:extension base="xsd:anyURI">
<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="QualifierType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="OIDAsURI"/>
<xsd:enumeration value="OIDAsURN"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="DocumentationReferencesType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="DocumentationReference" type="xsd:anyURI"/>
</xsd:sequence>
</xsd:complexType>
<!-- End ObjectIdentifierType-->
<!-- Start EncapsulatedPKIDataType-->
<xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
<xsd:complexType name="EncapsulatedPKIDataType">
<xsd:simpleContent>
<xsd:extension base="xsd:base64Binary">
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
<xsd:attribute name="Encoding" type="xsd:anyURI" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<!-- End EncapsulatedPKIDataType -->
<!-- Start time-stamp containers types -->
<!-- Start GenericTimeStampType -->
<xsd:element name="Include" type="IncludeType"/>
<xsd:complexType name="IncludeType">
<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
<xsd:attribute name="referencedData" type="xsd:boolean" use="optional"/>
</xsd:complexType>
<xsd:element name="ReferenceInfo" type="ReferenceInfoType"/>
<xsd:complexType name="ReferenceInfoType">
<xsd:sequence>
<xsd:element ref="ds:DigestMethod"/>
<xsd:element ref="ds:DigestValue"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
<xsd:complexType name="GenericTimeStampType" abstract="true">
<xsd:sequence>
<xsd:choice minOccurs="0">
<xsd:element ref="Include" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ReferenceInfo" maxOccurs="unbounded"/>
</xsd:choice>
<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
<xsd:element name="XMLTimeStamp" type="AnyType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End GenericTimeStampType -->
<!-- Start XAdESTimeStampType -->
<xsd:element name="XAdESTimeStamp" type="XAdESTimeStampType"/>
<xsd:complexType name="XAdESTimeStampType">
<xsd:complexContent>
<xsd:restriction base="GenericTimeStampType">
<xsd:sequence>
<xsd:element ref="Include" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
<xsd:element name="XMLTimeStamp" type="AnyType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<!-- End XAdESTimeStampType -->
<!-- Start OtherTimeStampType -->
<xsd:element name="OtherTimeStamp" type="OtherTimeStampType"/>
<xsd:complexType name="OtherTimeStampType">
<xsd:complexContent>
<xsd:restriction base="GenericTimeStampType">
<xsd:sequence>
<xsd:element ref="ReferenceInfo" maxOccurs="unbounded"/>
<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
<xsd:choice>
<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
<xsd:element name="XMLTimeStamp" type="AnyType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<!-- End OtherTimeStampType -->
<!-- End time-stamp containers types -->
<!-- End auxiliary types definitions-->
<!-- Start container types -->
<!-- Start QualifyingProperties -->
<xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>
<xsd:complexType name="QualifyingPropertiesType">
<xsd:sequence>
<xsd:element name="SignedProperties" type="SignedPropertiesType" minOccurs="0"/>
<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End QualifyingProperties -->
<!-- Start SignedProperties-->
<xsd:element name="SignedProperties" type="SignedPropertiesType"/>
<xsd:complexType name="SignedPropertiesType">
<xsd:sequence>
<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType" minOccurs="0"/>
<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End SignedProperties-->
<!-- Start UnsignedProperties-->
<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType"/>
<xsd:complexType name="UnsignedPropertiesType">
<xsd:sequence>
<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType" minOccurs="0"/>
<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End UnsignedProperties-->
<!-- Start SignedSignatureProperties-->
<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
<xsd:complexType name="SignedSignaturePropertiesType">
<xsd:sequence>
<xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/>
<xsd:element name="SigningCertificate" type="CertIDListType" minOccurs="0"/>
<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType" minOccurs="0"/>
<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType" minOccurs="0"/>
<xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End SignedSignatureProperties-->
<!-- Start SignedDataObjectProperties-->
<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType"/>
<xsd:complexType name="SignedDataObjectPropertiesType">
<xsd:sequence>
<xsd:element name="DataObjectFormat" type="DataObjectFormatType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="AllDataObjectsTimeStamp" type="XAdESTimeStampType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="IndividualDataObjectsTimeStamp" type="XAdESTimeStampType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End SignedDataObjectProperties-->
<!-- Start UnsignedSignatureProperties-->
<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType"/>
<xsd:complexType name="UnsignedSignaturePropertiesType">
<xsd:choice maxOccurs="unbounded">
<xsd:element name="CounterSignature" type="CounterSignatureType"/>
<xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>
<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
<xsd:element name="AttributeCertificateRefs" type="CompleteCertificateRefsType"/>
<xsd:element name="AttributeRevocationRefs" type="CompleteRevocationRefsType"/>
<xsd:element name="SigAndRefsTimeStamp" type="XAdESTimeStampType"/>
<xsd:element name="RefsOnlyTimeStamp" type="XAdESTimeStampType"/>
<xsd:element name="CertificateValues" type="CertificateValuesType"/>
<xsd:element name="RevocationValues" type="RevocationValuesType"/>
<xsd:element name="AttrAuthoritiesCertValues" type="CertificateValuesType"/>
<xsd:element name="AttributeRevocationValues" type="RevocationValuesType"/>
<xsd:element name="ArchiveTimeStamp" type="XAdESTimeStampType"/>
<xsd:any namespace="##other"/>
</xsd:choice>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End UnsignedSignatureProperties-->
<!-- Start UnsignedDataObjectProperties-->
<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType"/>
<xsd:complexType name="UnsignedDataObjectPropertiesType">
<xsd:sequence>
<xsd:element name="UnsignedDataObjectProperty" type="AnyType" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End UnsignedDataObjectProperties-->
<!-- Start QualifyingPropertiesReference-->
<xsd:element name="QualifyingPropertiesReference" type="QualifyingPropertiesReferenceType"/>
<xsd:complexType name="QualifyingPropertiesReferenceType">
<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End QualifyingPropertiesReference-->
<!-- End container types -->
<!-- Start SigningTime element -->
<xsd:element name="SigningTime" type="xsd:dateTime"/>
<!-- End SigningTime element -->
<!-- Start SigningCertificate -->
<xsd:element name="SigningCertificate" type="CertIDListType"/>
<xsd:complexType name="CertIDListType">
<xsd:sequence>
<xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CertIDType">
<xsd:sequence>
<xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
<xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
</xsd:sequence>
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
<xsd:complexType name="DigestAlgAndValueType">
<xsd:sequence>
<xsd:element ref="ds:DigestMethod"/>
<xsd:element ref="ds:DigestValue"/>
</xsd:sequence>
</xsd:complexType>
<!-- End SigningCertificate -->
<!-- Start SignaturePolicyIdentifier -->
<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
<xsd:complexType name="SignaturePolicyIdentifierType">
<xsd:choice>
<xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
<xsd:element name="SignaturePolicyImplied"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="SignaturePolicyIdType">
<xsd:sequence>
<xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
<xsd:element ref="ds:Transforms" minOccurs="0"/>
<xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
<xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SigPolicyQualifiersListType">
<xsd:sequence>
<xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SPURI" type="xsd:anyURI"/>
<xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
<xsd:complexType name="SPUserNoticeType">
<xsd:sequence>
<xsd:element name="NoticeRef" type="NoticeReferenceType" minOccurs="0"/>
<xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NoticeReferenceType">
<xsd:sequence>
<xsd:element name="Organization" type="xsd:string"/>
<xsd:element name="NoticeNumbers" type="IntegerListType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IntegerListType">
<xsd:sequence>
<xsd:element name="int" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- End SignaturePolicyIdentifier -->
<!-- Start CounterSignature -->
<xsd:element name="CounterSignature" type="CounterSignatureType"/>
<xsd:complexType name="CounterSignatureType">
<xsd:sequence>
<xsd:element ref="ds:Signature"/>
</xsd:sequence>
</xsd:complexType>
<!-- End CounterSignature -->
<!-- Start DataObjectFormat -->
<xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
<xsd:complexType name="DataObjectFormatType">
<xsd:sequence>
<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" minOccurs="0"/>
<xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
<xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
</xsd:complexType>
<!-- End DataObjectFormat -->
<!-- Start CommitmentTypeIndication -->
<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
<xsd:complexType name="CommitmentTypeIndicationType">
<xsd:sequence>
<xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
<xsd:choice>
<xsd:element name="ObjectReference" type="xsd:anyURI" maxOccurs="unbounded"/>
<xsd:element name="AllSignedDataObjects"/>
</xsd:choice>
<xsd:element name="CommitmentTypeQualifiers" type="CommitmentTypeQualifiersListType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CommitmentTypeQualifiersListType">
<xsd:sequence>
<xsd:element name="CommitmentTypeQualifier" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- End CommitmentTypeIndication -->
<!-- Start SignatureProductionPlace -->
<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType"/>
<xsd:complexType name="SignatureProductionPlaceType">
<xsd:sequence>
<xsd:element name="City" type="xsd:string" minOccurs="0"/>
<xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
<xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!-- End SignatureProductionPlace -->
<!-- Start SignerRole -->
<xsd:element name="SignerRole" type="SignerRoleType"/>
<xsd:complexType name="SignerRoleType">
<xsd:sequence>
<xsd:element name="ClaimedRoles" type="ClaimedRolesListType" minOccurs="0"/>
<xsd:element name="CertifiedRoles" type="CertifiedRolesListType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ClaimedRolesListType">
<xsd:sequence>
<xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CertifiedRolesListType">
<xsd:sequence>
<xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- End SignerRole -->
<xsd:element name="AllDataObjectsTimeStamp" type="XAdESTimeStampType"/>
<xsd:element name="IndividualDataObjectsTimeStamp" type="XAdESTimeStampType"/>
<xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>
<!-- Start CompleteCertificateRefs -->
<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
<xsd:complexType name="CompleteCertificateRefsType">
<xsd:sequence>
<xsd:element name="CertRefs" type="CertIDListType"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End CompleteCertificateRefs -->
<!-- Start CompleteRevocationRefs-->
<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
<xsd:complexType name="CompleteRevocationRefsType">
<xsd:sequence>
<xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
<xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
<xsd:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CRLRefsType">
<xsd:sequence>
<xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CRLRefType">
<xsd:sequence>
<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
<xsd:element name="CRLIdentifier" type="CRLIdentifierType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CRLIdentifierType">
<xsd:sequence>
<xsd:element name="Issuer" type="xsd:string"/>
<xsd:element name="IssueTime" type="xsd:dateTime"/>
<xsd:element name="Number" type="xsd:integer" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
<xsd:complexType name="OCSPRefsType">
<xsd:sequence>
<xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OCSPRefType">
<xsd:sequence>
<xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ResponderIDType">
<xsd:choice>
<xsd:element name="ByName" type="xsd:string"/>
<xsd:element name="ByKey" type="xsd:base64Binary"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="OCSPIdentifierType">
<xsd:sequence>
<xsd:element name="ResponderID" type="ResponderIDType"/>
<xsd:element name="ProducedAt" type="xsd:dateTime"/>
</xsd:sequence>
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
<xsd:complexType name="OtherCertStatusRefsType">
<xsd:sequence>
<xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- End CompleteRevocationRefs-->
<xsd:element name="AttributeCertificateRefs" type="CompleteCertificateRefsType"/>
<xsd:element name="AttributeRevocationRefs" type="CompleteRevocationRefsType"/>
<xsd:element name="SigAndRefsTimeStamp" type="XAdESTimeStampType"/>
<xsd:element name="RefsOnlyTimeStamp" type="XAdESTimeStampType"/>
<!-- Start CertificateValues -->
<xsd:element name="CertificateValues" type="CertificateValuesType"/>
<xsd:complexType name="CertificateValuesType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="EncapsulatedX509Certificate" type="EncapsulatedPKIDataType"/>
<xsd:element name="OtherCertificate" type="AnyType"/>
</xsd:choice>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<!-- End CertificateValues -->
<!-- Start RevocationValues-->
<xsd:element name="RevocationValues" type="RevocationValuesType"/>
<xsd:complexType name="RevocationValuesType">
<xsd:sequence>
<xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
<xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
<xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CRLValuesType">
<xsd:sequence>
<xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OCSPValuesType">
<xsd:sequence>
<xsd:element name="EncapsulatedOCSPValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OtherCertStatusValuesType">
<xsd:sequence>
<xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- End RevocationValues-->
<xsd:element name="AttrAuthoritiesCertValues" type="CertificateValuesType"/>
<xsd:element name="AttributeRevocationValues" type="RevocationValuesType"/>
<xsd:element name="ArchiveTimeStamp" type="XAdESTimeStampType"/>
</xsd:schema>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-XAdESv141-2.1.xsd
Generated on: 2011-02-21 17:20(UTC)
This is a copy of http://uri.etsi.org/01903/v1.4.1/XAdESv141.xsd modified
only to change the importing URI for the XAdES v1.3.2 schema.
-->
<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.4.1#" xmlns="http://uri.etsi.org/01903/v1.4.1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" elementFormDefault="qualified">
<xsd:import namespace="http://uri.etsi.org/01903/v1.3.2#" schemaLocation="UBL-XAdESv132-2.1.xsd"/>
<!-- Start CertificateValues -->
<xsd:element name="TimeStampValidationData" type="ValidationDataType"/>
<xsd:complexType name="ValidationDataType">
<xsd:sequence>
<xsd:element ref="xades:CertificateValues" minOccurs="0" />
<xsd:element ref="xades:RevocationValues" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
<xsd:attribute name="UR" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
<xsd:element name="ArchiveTimeStampV2" type="xades:XAdESTimeStampType"/>
</xsd:schema>

View file

@ -0,0 +1,330 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: UBL-xmldsig-core-schema-2.1.xsd
Generated on: 2010-08-13 19:10(UTC)
This is a copy of http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
modified only to remove these PUBLIC and SYSTEM identifiers from the DOCTYPE:
PUBLIC "-//W3C//DTD XMLSchema 200102//EN"
"http://www.w3.org/2001/XMLSchema.dtd"
-->
<!DOCTYPE schema
[
<!ATTLIST schema
xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
<!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<!-- Schema for XML Signatures
http://www.w3.org/2000/09/xmldsig#
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
Copyright 2001 The Internet Society and W3C (Massachusetts Institute
of Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
This document is governed by the W3C Software License [1] as described
in the FAQ [2].
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
-->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
targetNamespace="http://www.w3.org/2000/09/xmldsig#"
version="0.1" elementFormDefault="qualified">
<!-- Basic Types Defined for Signatures -->
<simpleType name="CryptoBinary">
<restriction base="base64Binary">
</restriction>
</simpleType>
<!-- Start Signature -->
<element name="Signature" type="ds:SignatureType"/>
<complexType name="SignatureType">
<sequence>
<element ref="ds:SignedInfo"/>
<element ref="ds:SignatureValue"/>
<element ref="ds:KeyInfo" minOccurs="0"/>
<element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureValue" type="ds:SignatureValueType"/>
<complexType name="SignatureValueType">
<simpleContent>
<extension base="base64Binary">
<attribute name="Id" type="ID" use="optional"/>
</extension>
</simpleContent>
</complexType>
<!-- Start SignedInfo -->
<element name="SignedInfo" type="ds:SignedInfoType"/>
<complexType name="SignedInfoType">
<sequence>
<element ref="ds:CanonicalizationMethod"/>
<element ref="ds:SignatureMethod"/>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
<complexType name="CanonicalizationMethodType" mixed="true">
<sequence>
<any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<element name="SignatureMethod" type="ds:SignatureMethodType"/>
<complexType name="SignatureMethodType" mixed="true">
<sequence>
<element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) external namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- Start Reference -->
<element name="Reference" type="ds:ReferenceType"/>
<complexType name="ReferenceType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
<element ref="ds:DigestMethod"/>
<element ref="ds:DigestValue"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="URI" type="anyURI" use="optional"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<element name="Transforms" type="ds:TransformsType"/>
<complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="Transform" type="ds:TransformType"/>
<complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
<element name="XPath" type="string"/>
</choice>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<!-- End Reference -->
<element name="DigestMethod" type="ds:DigestMethodType"/>
<complexType name="DigestMethodType" mixed="true">
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="Algorithm" type="anyURI" use="required"/>
</complexType>
<element name="DigestValue" type="ds:DigestValueType"/>
<simpleType name="DigestValueType">
<restriction base="base64Binary"/>
</simpleType>
<!-- End SignedInfo -->
<!-- Start KeyInfo -->
<element name="KeyInfo" type="ds:KeyInfoType"/>
<complexType name="KeyInfoType" mixed="true">
<choice maxOccurs="unbounded">
<element ref="ds:KeyName"/>
<element ref="ds:KeyValue"/>
<element ref="ds:RetrievalMethod"/>
<element ref="ds:X509Data"/>
<element ref="ds:PGPData"/>
<element ref="ds:SPKIData"/>
<element ref="ds:MgmtData"/>
<any processContents="lax" namespace="##other"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="KeyName" type="string"/>
<element name="MgmtData" type="string"/>
<element name="KeyValue" type="ds:KeyValueType"/>
<complexType name="KeyValueType" mixed="true">
<choice>
<element ref="ds:DSAKeyValue"/>
<element ref="ds:RSAKeyValue"/>
<any namespace="##other" processContents="lax"/>
</choice>
</complexType>
<element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
<complexType name="RetrievalMethodType">
<sequence>
<element ref="ds:Transforms" minOccurs="0"/>
</sequence>
<attribute name="URI" type="anyURI"/>
<attribute name="Type" type="anyURI" use="optional"/>
</complexType>
<!-- Start X509Data -->
<element name="X509Data" type="ds:X509DataType"/>
<complexType name="X509DataType">
<sequence maxOccurs="unbounded">
<choice>
<element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
<element name="X509SKI" type="base64Binary"/>
<element name="X509SubjectName" type="string"/>
<element name="X509Certificate" type="base64Binary"/>
<element name="X509CRL" type="base64Binary"/>
<any namespace="##other" processContents="lax"/>
</choice>
</sequence>
</complexType>
<complexType name="X509IssuerSerialType">
<sequence>
<element name="X509IssuerName" type="string"/>
<element name="X509SerialNumber" type="integer"/>
</sequence>
</complexType>
<!-- End X509Data -->
<!-- Begin PGPData -->
<element name="PGPData" type="ds:PGPDataType"/>
<complexType name="PGPDataType">
<choice>
<sequence>
<element name="PGPKeyID" type="base64Binary"/>
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
<any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<sequence>
<element name="PGPKeyPacket" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
</choice>
</complexType>
<!-- End PGPData -->
<!-- Begin SPKIData -->
<element name="SPKIData" type="ds:SPKIDataType"/>
<complexType name="SPKIDataType">
<sequence maxOccurs="unbounded">
<element name="SPKISexp" type="base64Binary"/>
<any namespace="##other" processContents="lax" minOccurs="0"/>
</sequence>
</complexType>
<!-- End SPKIData -->
<!-- End KeyInfo -->
<!-- Start Object (Manifest, SignatureProperty) -->
<element name="Object" type="ds:ObjectType"/>
<complexType name="ObjectType" mixed="true">
<sequence minOccurs="0" maxOccurs="unbounded">
<any namespace="##any" processContents="lax"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
<attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
<attribute name="Encoding" type="anyURI" use="optional"/>
</complexType>
<element name="Manifest" type="ds:ManifestType"/>
<complexType name="ManifestType">
<sequence>
<element ref="ds:Reference" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
<complexType name="SignaturePropertiesType">
<sequence>
<element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
</sequence>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<element name="SignatureProperty" type="ds:SignaturePropertyType"/>
<complexType name="SignaturePropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (1,unbounded) namespaces -->
</choice>
<attribute name="Target" type="anyURI" use="required"/>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
<!-- End Object (Manifest, SignatureProperty) -->
<!-- Start Algorithm Parameters -->
<simpleType name="HMACOutputLengthType">
<restriction base="integer"/>
</simpleType>
<!-- Start KeyValue Element-types -->
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<complexType name="DSAKeyValueType">
<sequence>
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary"/>
<element name="Q" type="ds:CryptoBinary"/>
</sequence>
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
<element name="Y" type="ds:CryptoBinary"/>
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
<sequence minOccurs="0">
<element name="Seed" type="ds:CryptoBinary"/>
<element name="PgenCounter" type="ds:CryptoBinary"/>
</sequence>
</sequence>
</complexType>
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
<complexType name="RSAKeyValueType">
<sequence>
<element name="Modulus" type="ds:CryptoBinary"/>
<element name="Exponent" type="ds:CryptoBinary"/>
</sequence>
</complexType>
<!-- End KeyValue Element-types -->
<!-- End Signature -->
</schema>

View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: xsdrt/maindoc/UBL-CreditNote-2.1.xsd
Generated on: 2013-10-31 17:17z
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
schemaLocation="../common/UBL-CommonAggregateComponents-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
schemaLocation="../common/UBL-CommonBasicComponents-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
schemaLocation="../common/UBL-CommonExtensionComponents-2.1.xsd"/>
<xsd:element name="CreditNote" type="CreditNoteType"/>
<xsd:complexType name="CreditNoteType">
<xsd:sequence>
<xsd:element ref="ext:UBLExtensions" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:UBLVersionID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:CustomizationID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:ProfileID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:ProfileExecutionID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:ID" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cbc:CopyIndicator" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:UUID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:IssueDate" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cbc:IssueTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:TaxPointDate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:CreditNoteTypeCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:Note" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cbc:DocumentCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:TaxCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:PricingCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:PaymentCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:PaymentAlternativeCurrencyCode"
minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="cbc:AccountingCostCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:AccountingCost" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:LineCountNumeric" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:BuyerReference" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:InvoicePeriod" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:DiscrepancyResponse" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:OrderReference" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:BillingReference" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:DespatchDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:ReceiptDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:ContractDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:AdditionalDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:StatementDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:OriginatorDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:Signature" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:AccountingSupplierParty" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cac:AccountingCustomerParty" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cac:PayeeParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:BuyerCustomerParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:SellerSupplierParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:TaxRepresentativeParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:Delivery" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:DeliveryTerms" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:PaymentMeans" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:PaymentTerms" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:TaxExchangeRate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PricingExchangeRate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PaymentExchangeRate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PaymentAlternativeExchangeRate"
minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="cac:AllowanceCharge" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:TaxTotal" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:LegalMonetaryTotal" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cac:CreditNoteLine" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== --><!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

View file

@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Library: OASIS Universal Business Language (UBL) 2.1 OS
http://docs.oasis-open.org/ubl/os-UBL-2.1/
Release Date: 04 November 2013
Module: xsdrt/maindoc/UBL-Invoice-2.1.xsd
Generated on: 2013-10-31 17:17z
Copyright (c) OASIS Open 2013. All Rights Reserved.
-->
<xsd:schema xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.1">
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
schemaLocation="../common/UBL-CommonAggregateComponents-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
schemaLocation="../common/UBL-CommonBasicComponents-2.1.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
schemaLocation="../common/UBL-CommonExtensionComponents-2.1.xsd"/>
<xsd:element name="Invoice" type="InvoiceType"/>
<xsd:complexType name="InvoiceType">
<xsd:sequence>
<xsd:element ref="ext:UBLExtensions" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:UBLVersionID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:CustomizationID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:ProfileID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:ProfileExecutionID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:ID" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cbc:CopyIndicator" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:UUID" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:IssueDate" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cbc:IssueTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:DueDate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:InvoiceTypeCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:Note" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cbc:TaxPointDate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:DocumentCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:TaxCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:PricingCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:PaymentCurrencyCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:PaymentAlternativeCurrencyCode"
minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="cbc:AccountingCostCode" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:AccountingCost" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:LineCountNumeric" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cbc:BuyerReference" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:InvoicePeriod" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:OrderReference" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:BillingReference" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:DespatchDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:ReceiptDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:StatementDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:OriginatorDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:ContractDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:AdditionalDocumentReference"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element ref="cac:ProjectReference" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:Signature" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:AccountingSupplierParty" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cac:AccountingCustomerParty" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cac:PayeeParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:BuyerCustomerParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:SellerSupplierParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:TaxRepresentativeParty" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:Delivery" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:DeliveryTerms" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PaymentMeans" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:PaymentTerms" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:PrepaidPayment" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:AllowanceCharge" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:TaxExchangeRate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PricingExchangeRate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PaymentExchangeRate" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="cac:PaymentAlternativeExchangeRate"
minOccurs="0"
maxOccurs="1"/>
<xsd:element ref="cac:TaxTotal" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:WithholdingTaxTotal" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="cac:LegalMonetaryTotal" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="cac:InvoiceLine" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<!-- ===== Copyright Notice ===== --><!--
OASIS takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to pertain
to the implementation or use of the technology described in this
document or the extent to which any license under such rights
might or might not be available; neither does it represent that it has
made any effort to identify any such rights. Information on OASIS's
procedures with respect to rights in OASIS specifications can be
found at the OASIS website. Copies of claims of rights made
available for publication and any assurances of licenses to be made
available, or the result of an attempt made to obtain a general
license or permission for the use of such proprietary rights by
implementors or users of this specification, can be obtained from
the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to
implement this specification. Please address the information to the
OASIS Executive Director.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain
it or assist in its implementation may be prepared, copied,
published and distributed, in whole or in part, without restriction of
any kind, provided that the above copyright notice and this
paragraph are included on all such copies and derivative works.
However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to OASIS,
except as needed for the purpose of developing OASIS
specifications, in which case the procedures for copyrights defined
in the OASIS Intellectual Property Rights document must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on
an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
-->

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,508 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:saxon="http://saxon.sf.net/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:schold="http://www.ascc.net/xml/schematron"
xmlns:iso="http://purl.oclc.org/dsdl/schematron"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:cn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
version="2.0"><!--Implementers: please note that overriding process-prolog or process-root is
the preferred method for meta-stylesheets to use where possible. -->
<xsl:param name="archiveDirParameter"/>
<xsl:param name="archiveNameParameter"/>
<xsl:param name="fileNameParameter"/>
<xsl:param name="fileDirParameter"/>
<xsl:variable name="document-uri">
<xsl:value-of select="document-uri(/)"/>
</xsl:variable>
<!--PHASES-->
<!--PROLOG-->
<xsl:output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
method="xml"
omit-xml-declaration="no"
standalone="yes"
indent="yes"/>
<!--XSD TYPES FOR XSLT2-->
<!--KEYS AND FUNCTIONS-->
<!--DEFAULT RULES-->
<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->
<xsl:template match="*" mode="schematron-select-full-path">
<xsl:apply-templates select="." mode="schematron-get-full-path-2"/>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->
<xsl:template match="*" mode="schematron-get-full-path">
<xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:choose>
<xsl:when test="namespace-uri()=''">
<xsl:value-of select="name()"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>*:</xsl:text>
<xsl:value-of select="local-name()"/>
<xsl:text>[namespace-uri()='</xsl:text>
<xsl:value-of select="namespace-uri()"/>
<xsl:text>']</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="preceding"
select="count(preceding-sibling::*[local-name()=local-name(current()) and namespace-uri() = namespace-uri(current())])"/>
<xsl:text>[</xsl:text>
<xsl:value-of select="1+ $preceding"/>
<xsl:text>]</xsl:text>
</xsl:template>
<xsl:template match="@*" mode="schematron-get-full-path">
<xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:choose>
<xsl:when test="namespace-uri()=''">@<xsl:value-of select="name()"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>@*[local-name()='</xsl:text>
<xsl:value-of select="local-name()"/>
<xsl:text>' and namespace-uri()='</xsl:text>
<xsl:value-of select="namespace-uri()"/>
<xsl:text>']</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-2-->
<!--This mode can be used to generate prefixed XPath for humans-->
<xsl:template match="node() | @*" mode="schematron-get-full-path-2">
<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text>
<xsl:value-of select="name(.)"/>
<xsl:if test="preceding-sibling::*[name(.)=name(current())]">
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="not(self::*)">
<xsl:text/>/@<xsl:value-of select="name(.)"/>
</xsl:if>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-3-->
<!--This mode can be used to generate prefixed XPath for humans
(Top-level element has index)-->
<xsl:template match="node() | @*" mode="schematron-get-full-path-3">
<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text>
<xsl:value-of select="name(.)"/>
<xsl:if test="parent::*">
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="not(self::*)">
<xsl:text/>/@<xsl:value-of select="name(.)"/>
</xsl:if>
</xsl:template>
<!--MODE: GENERATE-ID-FROM-PATH -->
<xsl:template match="/" mode="generate-id-from-path"/>
<xsl:template match="text()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
</xsl:template>
<xsl:template match="comment()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
</xsl:template>
<xsl:template match="processing-instruction()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
</xsl:template>
<xsl:template match="@*" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.@', name())"/>
</xsl:template>
<xsl:template match="*" mode="generate-id-from-path" priority="-0.5">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
</xsl:template>
<!--MODE: GENERATE-ID-2 -->
<xsl:template match="/" mode="generate-id-2">U</xsl:template>
<xsl:template match="*" mode="generate-id-2" priority="2">
<xsl:text>U</xsl:text>
<xsl:number level="multiple" count="*"/>
</xsl:template>
<xsl:template match="node()" mode="generate-id-2">
<xsl:text>U.</xsl:text>
<xsl:number level="multiple" count="*"/>
<xsl:text>n</xsl:text>
<xsl:number count="node()"/>
</xsl:template>
<xsl:template match="@*" mode="generate-id-2">
<xsl:text>U.</xsl:text>
<xsl:number level="multiple" count="*"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="string-length(local-name(.))"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="translate(name(),':','.')"/>
</xsl:template>
<!--Strip characters-->
<xsl:template match="text()" priority="-1"/>
<!--SCHEMA SETUP-->
<xsl:template match="/">
<svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
title="XRechnung 1.0 - Schematron - UBL - CreditNote"
schemaVersion="">
<xsl:comment>
<xsl:value-of select="$archiveDirParameter"/>  
<xsl:value-of select="$archiveNameParameter"/>  
<xsl:value-of select="$fileNameParameter"/>  
<xsl:value-of select="$fileDirParameter"/>
</xsl:comment>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
prefix="cbc"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
prefix="cac"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
prefix="ext"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
prefix="cn"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
prefix="ubl"/>
<svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/2001/XMLSchema" prefix="xs"/>
<svrl:active-pattern>
<xsl:attribute name="document">
<xsl:value-of select="document-uri(/)"/>
</xsl:attribute>
<xsl:attribute name="id">UBL-model</xsl:attribute>
<xsl:attribute name="name">UBL-model</xsl:attribute>
<xsl:apply-templates/>
</svrl:active-pattern>
<xsl:apply-templates select="/" mode="M8"/>
</svrl:schematron-output>
</xsl:template>
<!--SCHEMATRON PATTERNS-->
<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">XRechnung 1.0 - Schematron - UBL - CreditNote</svrl:text>
<!--PATTERN UBL-model-->
<!--RULE -->
<xsl:template match="/cn:CreditNote" priority="1007" mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cac:PaymentMeans"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cac:PaymentMeans">
<xsl:attribute name="id">BR-DE-1</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-1] Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:BuyerReference"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:BuyerReference">
<xsl:attribute name="id">BR-DE-15</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-15] Das Element "Buyer reference" (BT-10) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="(cac:TaxRepresentativeParty, cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID)"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="(cac:TaxRepresentativeParty, cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID)">
<xsl:attribute name="id">BR-DE-16</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-16] Ein "Seller VAT identifier" (BT-31) ist anzugeben, wenn nicht ein "Seller tax registration identifier" (BT-32) oder eine eine "SELLER TAX REPRESENTATIVE PARTY" (BG-11) angegeben wurden.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:AccountingSupplierParty"
priority="1006"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cac:Party/cac:Contact"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cac:Party/cac:Contact">
<xsl:attribute name="id">BR-DE-2</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-2] Die Gruppe "SELLER CONTACT" (BG-6) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress"
priority="1005"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:CityName">
<xsl:attribute name="id">BR-DE-3</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-3] Das Element "Seller city" (BT-37) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:PostalZone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:PostalZone">
<xsl:attribute name="id">BR-DE-4</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-4] Das Element "Seller post code" (BT-38) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:Contact"
priority="1004"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:Name"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:Name">
<xsl:attribute name="id">BR-DE-5</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-5] Das Element "Seller contact point" (BT-41) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:Telephone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:Telephone">
<xsl:attribute name="id">BR-DE-6</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-6] Das Element "Seller contact telephone number" (BT-42) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:ElectronicMail"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:ElectronicMail">
<xsl:attribute name="id">BR-DE-7</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-7] Das Element "Seller contact email address" (BT-43) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress"
priority="1003"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:CityName">
<xsl:attribute name="id">BR-DE-8</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-8] Das Element "Buyer city" (BT-52) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:PostalZone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:PostalZone">
<xsl:attribute name="id">BR-DE-9</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-9] Das Element "Buyer post code" (BT-53) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:Delivery/cac:DeliveryLocation/cac:Address"
priority="1002"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:CityName">
<xsl:attribute name="id">BR-DE-10</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-10] Das Element "Deliver to city" (BT-77) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:PostalZone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:PostalZone">
<xsl:attribute name="id">BR-DE-11</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-11] Das Element "Deliver to post code" (BT-78) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="matches(cbc:PostalZone,'[0-9]{5}')"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="matches(cbc:PostalZone,'[0-9]{5}')">
<xsl:attribute name="id">BR-DE-12</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-12] Mit dem Element "Deliver to post code" (BT-78) wird eine Postleitzahl übermittelt.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:PaymentMeans" priority="1001" mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="(cac:PayeeFinancialAccount, cac:CardAccount, cac:PaymentMandate)"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="(cac:PayeeFinancialAccount, cac:CardAccount, cac:PaymentMandate)">
<xsl:attribute name="id">BR-DE-13</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-13] In der Rechnung müssen Angaben zu einer der drei Gruppen "CREDIT TRANSFER" (BG-17), "PAYMENT CARD INFORMATION" (BG-18) oder "DIRECT DEBIT"(BG-19) gemacht werden.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/cn:CreditNote/cac:TaxTotal/cac:TaxSubtotal"
priority="1000"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cac:TaxCategory/cbc:Percent"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="cac:TaxCategory/cbc:Percent">
<xsl:attribute name="id">BR-DE-14</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-14] Das Element "VAT category rate" (BT-119) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<xsl:template match="text()" priority="-1" mode="M8"/>
<xsl:template match="@*|node()" priority="-2" mode="M8">
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,508 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:saxon="http://saxon.sf.net/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:schold="http://www.ascc.net/xml/schematron"
xmlns:iso="http://purl.oclc.org/dsdl/schematron"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:cn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
version="2.0"><!--Implementers: please note that overriding process-prolog or process-root is
the preferred method for meta-stylesheets to use where possible. -->
<xsl:param name="archiveDirParameter"/>
<xsl:param name="archiveNameParameter"/>
<xsl:param name="fileNameParameter"/>
<xsl:param name="fileDirParameter"/>
<xsl:variable name="document-uri">
<xsl:value-of select="document-uri(/)"/>
</xsl:variable>
<!--PHASES-->
<!--PROLOG-->
<xsl:output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
method="xml"
omit-xml-declaration="no"
standalone="yes"
indent="yes"/>
<!--XSD TYPES FOR XSLT2-->
<!--KEYS AND FUNCTIONS-->
<!--DEFAULT RULES-->
<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->
<xsl:template match="*" mode="schematron-select-full-path">
<xsl:apply-templates select="." mode="schematron-get-full-path-2"/>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-->
<!--This mode can be used to generate an ugly though full XPath for locators-->
<xsl:template match="*" mode="schematron-get-full-path">
<xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:choose>
<xsl:when test="namespace-uri()=''">
<xsl:value-of select="name()"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>*:</xsl:text>
<xsl:value-of select="local-name()"/>
<xsl:text>[namespace-uri()='</xsl:text>
<xsl:value-of select="namespace-uri()"/>
<xsl:text>']</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:variable name="preceding"
select="count(preceding-sibling::*[local-name()=local-name(current()) and namespace-uri() = namespace-uri(current())])"/>
<xsl:text>[</xsl:text>
<xsl:value-of select="1+ $preceding"/>
<xsl:text>]</xsl:text>
</xsl:template>
<xsl:template match="@*" mode="schematron-get-full-path">
<xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
<xsl:text>/</xsl:text>
<xsl:choose>
<xsl:when test="namespace-uri()=''">@<xsl:value-of select="name()"/>
</xsl:when>
<xsl:otherwise>
<xsl:text>@*[local-name()='</xsl:text>
<xsl:value-of select="local-name()"/>
<xsl:text>' and namespace-uri()='</xsl:text>
<xsl:value-of select="namespace-uri()"/>
<xsl:text>']</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-2-->
<!--This mode can be used to generate prefixed XPath for humans-->
<xsl:template match="node() | @*" mode="schematron-get-full-path-2">
<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text>
<xsl:value-of select="name(.)"/>
<xsl:if test="preceding-sibling::*[name(.)=name(current())]">
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="not(self::*)">
<xsl:text/>/@<xsl:value-of select="name(.)"/>
</xsl:if>
</xsl:template>
<!--MODE: SCHEMATRON-FULL-PATH-3-->
<!--This mode can be used to generate prefixed XPath for humans
(Top-level element has index)-->
<xsl:template match="node() | @*" mode="schematron-get-full-path-3">
<xsl:for-each select="ancestor-or-self::*">
<xsl:text>/</xsl:text>
<xsl:value-of select="name(.)"/>
<xsl:if test="parent::*">
<xsl:text>[</xsl:text>
<xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
<xsl:text>]</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:if test="not(self::*)">
<xsl:text/>/@<xsl:value-of select="name(.)"/>
</xsl:if>
</xsl:template>
<!--MODE: GENERATE-ID-FROM-PATH -->
<xsl:template match="/" mode="generate-id-from-path"/>
<xsl:template match="text()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
</xsl:template>
<xsl:template match="comment()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
</xsl:template>
<xsl:template match="processing-instruction()" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
</xsl:template>
<xsl:template match="@*" mode="generate-id-from-path">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:value-of select="concat('.@', name())"/>
</xsl:template>
<xsl:template match="*" mode="generate-id-from-path" priority="-0.5">
<xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
</xsl:template>
<!--MODE: GENERATE-ID-2 -->
<xsl:template match="/" mode="generate-id-2">U</xsl:template>
<xsl:template match="*" mode="generate-id-2" priority="2">
<xsl:text>U</xsl:text>
<xsl:number level="multiple" count="*"/>
</xsl:template>
<xsl:template match="node()" mode="generate-id-2">
<xsl:text>U.</xsl:text>
<xsl:number level="multiple" count="*"/>
<xsl:text>n</xsl:text>
<xsl:number count="node()"/>
</xsl:template>
<xsl:template match="@*" mode="generate-id-2">
<xsl:text>U.</xsl:text>
<xsl:number level="multiple" count="*"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="string-length(local-name(.))"/>
<xsl:text>_</xsl:text>
<xsl:value-of select="translate(name(),':','.')"/>
</xsl:template>
<!--Strip characters-->
<xsl:template match="text()" priority="-1"/>
<!--SCHEMA SETUP-->
<xsl:template match="/">
<svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
title="XRechnung 1.0 - Schematron - UBL - Invoice"
schemaVersion="">
<xsl:comment>
<xsl:value-of select="$archiveDirParameter"/>  
<xsl:value-of select="$archiveNameParameter"/>  
<xsl:value-of select="$fileNameParameter"/>  
<xsl:value-of select="$fileDirParameter"/>
</xsl:comment>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
prefix="cbc"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
prefix="cac"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
prefix="ext"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"
prefix="cn"/>
<svrl:ns-prefix-in-attribute-values uri="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
prefix="ubl"/>
<svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/2001/XMLSchema" prefix="xs"/>
<svrl:active-pattern>
<xsl:attribute name="document">
<xsl:value-of select="document-uri(/)"/>
</xsl:attribute>
<xsl:attribute name="id">UBL-model</xsl:attribute>
<xsl:attribute name="name">UBL-model</xsl:attribute>
<xsl:apply-templates/>
</svrl:active-pattern>
<xsl:apply-templates select="/" mode="M8"/>
</svrl:schematron-output>
</xsl:template>
<!--SCHEMATRON PATTERNS-->
<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">XRechnung 1.0 - Schematron - UBL - Invoice</svrl:text>
<!--PATTERN UBL-model-->
<!--RULE -->
<xsl:template match="/ubl:Invoice" priority="1007" mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cac:PaymentMeans"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cac:PaymentMeans">
<xsl:attribute name="id">BR-DE-1</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-1] Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:BuyerReference"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:BuyerReference">
<xsl:attribute name="id">BR-DE-15</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-15] Das Element "Buyer reference" (BT-10) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="(cac:TaxRepresentativeParty, cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID)"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="(cac:TaxRepresentativeParty, cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID)">
<xsl:attribute name="id">BR-DE-16</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-16] Ein "Seller VAT identifier" (BT-31) ist anzugeben, wenn nicht ein "Seller tax registration identifier" (BT-32) oder eine eine "SELLER TAX REPRESENTATIVE PARTY" (BG-11) angegeben wurden.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:AccountingSupplierParty"
priority="1006"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cac:Party/cac:Contact"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cac:Party/cac:Contact">
<xsl:attribute name="id">BR-DE-2</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-2] Die Gruppe "SELLER CONTACT" (BG-6) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress"
priority="1005"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:CityName">
<xsl:attribute name="id">BR-DE-3</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-3] Das Element "Seller city" (BT-37) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:PostalZone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:PostalZone">
<xsl:attribute name="id">BR-DE-4</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-4] Das Element "Seller post code" (BT-38) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact"
priority="1004"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:Name"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:Name">
<xsl:attribute name="id">BR-DE-5</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-5] Das Element "Seller contact point" (BT-41) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:Telephone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:Telephone">
<xsl:attribute name="id">BR-DE-6</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-6] Das Element "Seller contact telephone number" (BT-42) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:ElectronicMail"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:ElectronicMail">
<xsl:attribute name="id">BR-DE-7</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-7] Das Element "Seller contact email address" (BT-43) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress"
priority="1003"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:CityName">
<xsl:attribute name="id">BR-DE-8</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-8] Das Element "Buyer city" (BT-52) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:PostalZone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:PostalZone">
<xsl:attribute name="id">BR-DE-9</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-9] Das Element "Buyer post code" (BT-53) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address"
priority="1002"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:CityName"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:CityName">
<xsl:attribute name="id">BR-DE-10</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-10] Das Element "Deliver to city" (BT-77) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cbc:PostalZone"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" test="cbc:PostalZone">
<xsl:attribute name="id">BR-DE-11</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-11] Das Element "Deliver to post code" (BT-78) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<!--ASSERT -->
<xsl:choose>
<xsl:when test="matches(cbc:PostalZone,'[0-9]{5}')"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="matches(cbc:PostalZone,'[0-9]{5}')">
<xsl:attribute name="id">BR-DE-12</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-12] Mit dem Element "Deliver to post code" (BT-78) wird eine Postleitzahl übermittelt.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:PaymentMeans" priority="1001" mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="(cac:PayeeFinancialAccount, cac:CardAccount, cac:PaymentMandate)"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="(cac:PayeeFinancialAccount, cac:CardAccount, cac:PaymentMandate)">
<xsl:attribute name="id">BR-DE-13</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-13] In der Rechnung müssen Angaben zu einer der drei Gruppen "CREDIT TRANSFER" (BG-17), "PAYMENT CARD INFORMATION" (BG-18) oder "DIRECT DEBIT"(BG-19) gemacht werden.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<!--RULE -->
<xsl:template match="/ubl:Invoice/cac:TaxTotal/cac:TaxSubtotal"
priority="1000"
mode="M8">
<!--ASSERT -->
<xsl:choose>
<xsl:when test="cac:TaxCategory/cbc:Percent"/>
<xsl:otherwise>
<svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
test="cac:TaxCategory/cbc:Percent">
<xsl:attribute name="id">BR-DE-14</xsl:attribute>
<xsl:attribute name="flag">fatal</xsl:attribute>
<xsl:attribute name="location">
<xsl:apply-templates select="." mode="schematron-select-full-path"/>
</xsl:attribute>
<svrl:text>[BR-DE-14] Das Element "VAT category rate" (BT-119) ist zwingend zu übermitteln.</svrl:text>
</svrl:failed-assert>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
<xsl:template match="text()" priority="-1" mode="M8"/>
<xsl:template match="@*|node()" priority="-2" mode="M8">
<xsl:apply-templates select="*|comment()|processing-instruction()" mode="M8"/>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rep="http://www.xoev.de/de/validator/varl/1"
xmlns:s="http://www.xoev.de/de/validator/framework/1/scenarios"
xmlns:in="http://www.xoev.de/de/validator/framework/1/createreportinput"
xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
exclude-result-prefixes="xs"
version="2.0">
<xsl:import href="../default-report.xsl"/>
<xsl:output method="xml" indent="yes"/>
<!-- Überschrieben (default-report.xsl) -->
<xsl:template name="documentData">
<rep:documentData>
<xsl:for-each select="
$input-document/*/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName,
$input-document/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name">
<seller>
<xsl:value-of select="."/>
</seller>
</xsl:for-each>
<xsl:for-each select="
$input-document/*/cbc:ID,
$input-document/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID">
<id>
<xsl:value-of select="."/>
</id>
</xsl:for-each>
<xsl:for-each select="$input-document/*/cbc:IssueDate,
$input-document/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString">
<issueDate>
<xsl:value-of select="."/>
</issueDate>
</xsl:for-each>
</rep:documentData>
</xsl:template>
<!-- Overridden from default-report.xsl -->
<xsl:template name="html:documentData" xmlns="http://www.w3.org/1999/xhtml" >
<dl>
<xsl:for-each select="/rep:report/rep:scenarioMatched/rep:documentData/seller">
<dt>Erkannter Rechnungssteller:</dt>
<dd>
<xsl:value-of select="."/>
</dd>
</xsl:for-each>
<xsl:for-each select="/rep:report/rep:scenarioMatched/rep:documentData/id">
<dt>Erkannte Rechnungsnummer:</dt>
<dd>
<xsl:value-of select="."/>
</dd>
</xsl:for-each>
<xsl:for-each select="/rep:report/rep:scenarioMatched/rep:documentData/issueDate">
<dt>Erkanntes Rechnungsdatum:</dt>
<dd>
<xsl:value-of select="."/>
</dd>
</xsl:for-each>
</dl>
</xsl:template>
</xsl:stylesheet>

View file

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<scenarios xmlns="http://www.xoev.de/de/validator/framework/1/scenarios" frameworkVersion="1.0.0">
<name>Prüftool-Konfiguration XRechnung (Entwurf)</name>
<author>KoSIT</author>
<date>2017-09-20</date>
<description>
<p>Prüfung von Dokumenten auf Konformität zum Standard XRechnung (www.xoev.de/de/xrechnung)</p>
</description>
<scenario>
<name>EN16931 CIUS XRechnung (UBL Invoice)</name>
<namespace prefix="cbc">urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2</namespace>
<namespace prefix="invoice">urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</namespace>
<match>/invoice:Invoice[starts-with(cbc:CustomizationID, 'urn:cen.eu:en16931:2017')]</match>
<validateWithXmlSchema>
<resource>
<name>XML Schema for UBL 2.1 Invoice</name>
<location>resources/xrechnung/ubl21/xsdrt/maindoc/UBL-Invoice-2.1.xsd</location>
</resource>
</validateWithXmlSchema>
<validateWithSchematron>
<resource>
<name>Schematron rules for EN16931 (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/EN16931-UBL-validation.xsl</location>
</resource>
</validateWithSchematron>
<validateWithSchematron>
<resource>
<name>Schematron rules for Invoice - CIUS XRechnung (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/XRechnung-UBL-validation-Invoice.xsl</location>
</resource>
</validateWithSchematron>
<createReport>
<resource>
<name>Prüfbericht für XRechnung</name>
<location>resources/xrechnung/xrechnung-report.xsl</location>
</resource>
</createReport>
</scenario>
<scenario>
<name>EN16931 CIUS XRechnung (UBL CreditNote)</name>
<namespace prefix="cbc">urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2</namespace>
<namespace prefix="creditnote">urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2</namespace>
<match>/creditnote:CreditNote[starts-with(cbc:CustomizationID, 'urn:cen.eu:en16931:2017')]</match>
<validateWithXmlSchema>
<resource>
<name>XML Schema for UBL 2.1 CreditNote</name>
<location>resources/xrechnung/ubl21/xsdrt/maindoc/UBL-CreditNote-2.1.xsd</location>
</resource>
</validateWithXmlSchema>
<validateWithSchematron>
<resource>
<name>Schematron rules for EN16931 (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/EN16931-UBL-validation.xsl</location>
</resource>
</validateWithSchematron>
<validateWithSchematron>
<resource>
<name>Schematron rules for CreditNote - CIUS XRechnung (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/XRechnung-UBL-validation-CreditNote.xsl</location>
</resource>
</validateWithSchematron>
<createReport>
<resource>
<name>Prüfbericht für XRechnung</name>
<location>resources/xrechnung/xrechnung-report.xsl</location>
</resource>
</createReport>
</scenario>
<scenario>
<name>EN16931 CIUS XRechnung (CII)</name>
<namespace prefix="rsm">urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100</namespace>
<namespace prefix="ram">urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100</namespace>
<match>/rsm:CrossIndustryInvoice[starts-with(rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID, 'urn:cen.eu:en16931:2017')]</match>
<validateWithXmlSchema>
<resource>
<name>XML Schema for UN/CEFACT XML (SCRDM - CII)</name>
<location>resources/xrechnung/cii/xsd/CrossIndustryInvoice_100pD16B.xsd</location>
</resource>
</validateWithXmlSchema>
<validateWithSchematron>
<resource>
<name>Schematron rules for EN16931 (CII)</name>
<location>resources/xrechnung/cii/xsl/EN16931-CII-validation.xsl</location>
</resource>
</validateWithSchematron>
<validateWithSchematron>
<resource>
<name>Schematron rules for CIUS XRechnung (CII)</name>
<location>resources/xrechnung/cii/xsl/XRechnung-CII-validation.xsl</location>
</resource>
</validateWithSchematron>
<createReport>
<resource>
<name>Prüfbericht für XRechnung</name>
<location>resources/xrechnung/xrechnung-report.xsl</location>
</resource>
</createReport>
</scenario>
<noScenarioReport>
<resource>
<name>Default Report</name>
<location>resources/default-report.xsl</location>
</resource>
</noScenarioReport>
</scenarios>

View file

@ -0,0 +1,32 @@
;;ubl001;ubl002;ubl003;ubl004;ubl005;ubl006;ubl007;ubl008;bin001;cii001
Report has status valid;rep:report/@valid = 'true';+;-;-;-;-;-;-;-;-;-
Timestamp is today;format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]');+;+;+;+;+;+;+;+;+;+
Document hash matches;rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=';+;-;-;-;-;-;-;-;-;-
Document reference matches;contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001');+;-;-;-;-;-;-;-;-;-
Scenario found;rep:report/rep:scenarioMatched;+;+;+;+;+;-;-;+;-;+
UBL Invoice scenario found;rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)';+;+;+;+;+;-;-;-;-;-
UBL CreditNote scenario found;rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)';-;-;-;-;-;-;-;+;-;-
CII Invoice scenario found;rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)';-;-;-;-;-;-;-;-;-;+
Document data found;rep:report/rep:scenarioMatched/rep:documentData/*;+;+;+;+;+;-;-;+;-;+
Schema validation performed;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd'];+;+;+;+;+;-;-;+;-;+
Schema validatation has status valid;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true';+;+;+;+;-;-;-;+;-;+
Schema validatation has error message;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'];-;-;-;-;+;-;-;-;-;-
Schema validatation has warning message;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'];-;-;-;-;-;-;-;-;-;-
Schema validatation has information message;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'];-;-;-;-;-;-;-;-;-;-
Schema validatation has message with line number;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber];-;-;-;-;+;-;-;-;-;-
Schema validatation has message with column number;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber];-;-;-;-;+;-;-;-;-;-
First schematron validation performed;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1'];+;+;+;+;-;-;-;+;-;+
First schematron validation has status valid;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true';+;-;-;+;-;-;-;-;-;-
First schematron validatation has error message;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'];-;+;+;-;-;-;-;+;-;+
First schematron validatation has warning message;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'];-;+;-;-;-;-;-;-;-;+
First schematron validatation has information message;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'];-;-;-;-;-;-;-;-;-;-
Schema validatation has message with xpath location;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation];-;+;+;-;-;-;-;+;-;+
Second schematron validation performed;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2'];+;+;+;+;-;-;-;+;-;+
Second schematron validation has status valid;rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true';+;+;+;-;-;-;-;-;-;-
WFR validation step exists for no scenario found ;rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'];-;-;-;-;-;+;+;-;+;-
WFR validation step for no scenario found has message (XML case);rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message;-;-;-;-;-;-;+;-;+;-
Assessment recommends acceptance;rep:report/rep:assessment/rep:accept;+;-;+;-;-;-;-;-;-;-
HTML explanation for acceptance exists;rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'];+;-;+;-;-;-;-;-;-;-
HTML explanation for acceptance recommends acceptance;rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')];+;-;+;-;-;-;-;-;-;-
HTML explanation for rejection exists;rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report'];-;+;-;+;+;+;+;+;+;+
HTML explanation for rejection recommends rejection;rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')];-;+;-;+;+;+;+;+;+;+
1 ubl001 ubl002 ubl003 ubl004 ubl005 ubl006 ubl007 ubl008 bin001 cii001
2 Report has status valid rep:report/@valid = 'true' + - - - - - - - - -
3 Timestamp is today format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]') + + + + + + + + + +
4 Document hash matches rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=' + - - - - - - - - -
5 Document reference matches contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001') + - - - - - - - - -
6 Scenario found rep:report/rep:scenarioMatched + + + + + - - + - +
7 UBL Invoice scenario found rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)' + + + + + - - - - -
8 UBL CreditNote scenario found rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)' - - - - - - - + - -
9 CII Invoice scenario found rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)' - - - - - - - - - +
10 Document data found rep:report/rep:scenarioMatched/rep:documentData/* + + + + + - - + - +
11 Schema validation performed rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd'] + + + + + - - + - +
12 Schema validatation has status valid rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true' + + + + - - - + - +
13 Schema validatation has error message rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'] - - - - + - - - - -
14 Schema validatation has warning message rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'] - - - - - - - - - -
15 Schema validatation has information message rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'] - - - - - - - - - -
16 Schema validatation has message with line number rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber] - - - - + - - - - -
17 Schema validatation has message with column number rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber] - - - - + - - - - -
18 First schematron validation performed rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1'] + + + + - - - + - +
19 First schematron validation has status valid rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true' + - - + - - - - - -
20 First schematron validatation has error message rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'] - + + - - - - + - +
21 First schematron validatation has warning message rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'] - + - - - - - - - +
22 First schematron validatation has information message rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'] - - - - - - - - - -
23 Schema validatation has message with xpath location rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation] - + + - - - - + - +
24 Second schematron validation performed rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2'] + + + + - - - + - +
25 Second schematron validation has status valid rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true' + + + - - - - - - -
26 WFR validation step exists for no scenario found rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'] - - - - - + + - + -
27 WFR validation step for no scenario found has message (XML case) rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message - - - - - - + - + -
28 Assessment recommends acceptance rep:report/rep:assessment/rep:accept + - + - - - - - - -
29 HTML explanation for acceptance exists rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'] + - + - - - - - - -
30 HTML explanation for acceptance recommends acceptance rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')] + - + - - - - - - -
31 HTML explanation for rejection exists rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report'] - + - + + + + + + +
32 HTML explanation for rejection recommends rejection rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurckzuweisen')] - + - + + + + + + +

Binary file not shown.

View file

@ -0,0 +1,604 @@
<?xml version="1.0" encoding="UTF-8"?>
<a:assertions xmlns:a="http://www.xoev.de/de/validator/framework/1/assertions">
<a:namespace prefix="rep">http://www.xoev.de/de/validator/varl/1</a:namespace>
<a:namespace prefix="s">http://www.xoev.de/de/validator/framework/1/scenarios</a:namespace>
<a:namespace prefix="html">http://www.w3.org/1999/xhtml</a:namespace>
<a:assertion report-doc="ubl001.xml" test="rep:report/@valid = 'true'">Report has status valid</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo='">Document hash matches</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001')">Document reference matches</a:assertion>
<a:assertion report-doc="ubl001.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)'">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true'">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true'">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'])">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation])">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true'">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl001.xml" test="rep:report/rep:assessment/rep:accept">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')]">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl001.xml"
test="not(rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')])">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl002.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl002.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)'">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true'">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error']">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning']">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation]">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true'">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl002.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl003.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl003.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)'">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true'">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error']">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation]">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true'">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl003.xml" test="rep:report/rep:assessment/rep:accept">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')]">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl003.xml"
test="not(rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')])">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl004.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl004.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)'">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true'">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true'">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'])">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation])">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl004.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl005.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl005.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)'">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true')">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error']">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber]">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber]">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1'])">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'])">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation])">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2'])">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl005.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl006.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl006.xml" test="not(rep:report/rep:scenarioMatched)">Scenario found</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)')">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:documentData/*)">Document data found</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd'])">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true')">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1'])">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'])">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation])">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2'])">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl006.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl007.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl007.xml" test="not(rep:report/rep:scenarioMatched)">Scenario found</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)')">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:documentData/*)">Document data found</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd'])">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true')">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1'])">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'])">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation])">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2'])">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl007.xml"
test="rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl007.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="ubl008.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="ubl008.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)')">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)'">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true'">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']">First schematron validation performed</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error']">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation]">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']">Second schematron validation performed</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="ubl008.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="bin001.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="bin001.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="bin001.xml" test="not(rep:report/rep:scenarioMatched)">Scenario found</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)')">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)')">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:documentData/*)">Document data found</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd'])">Schema validation performed</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true')">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1'])">First schematron validation performed</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error'])">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning'])">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation])">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2'])">Second schematron validation performed</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="bin001.xml"
test="rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="bin001.xml"
test="rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="bin001.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="bin001.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="bin001.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
<a:assertion report-doc="cii001.xml" test="not(rep:report/@valid = 'true')">Report has status valid</a:assertion>
<a:assertion report-doc="cii001.xml"
test="format-dateTime(rep:report/rep:timestamp, '[Y0001][M01][D01]') = format-date(current-date(),'[Y0001][M01][D01]')">Timestamp is today</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:documentIdentification/rep:documentHash/rep:hashValue = 'TfvPbPcDevSv5anZIbgsyLioTLdzjnLTSXRhMsBlCIo=')">Document hash matches</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(contains(rep:report/rep:documentIdentification/rep:documentReference, 'ubl001'))">Document reference matches</a:assertion>
<a:assertion report-doc="cii001.xml" test="rep:report/rep:scenarioMatched">Scenario found</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL Invoice)')">UBL Invoice scenario found</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (UBL CreditNote)')">UBL CreditNote scenario found</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/s:scenario/s:name = 'EN16931 CIUS XRechnung (CII)'">CII Invoice scenario found</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:documentData/*">Document data found</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']">Schema validation performed</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/@valid = 'true'">Schema validatation has status valid</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'error'])">Schema validatation has error message</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'warning'])">Schema validatation has warning message</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@level = 'information'])">Schema validatation has information message</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@lineNumber])">Schema validatation has message with line number</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-xsd']/rep:message[@columnNumber])">Schema validatation has message with column number</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']">First schematron validation performed</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/@valid = 'true')">First schematron validation has status valid</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'error']">First schematron validatation has error message</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'warning']">First schematron validatation has warning message</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@level = 'information'])">First schematron validatation has information message</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.1']/rep:message[@xpathLocation]">Schema validatation has message with xpath location</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']">Second schematron validation performed</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:scenarioMatched/rep:validationStepResult[@id = 'val-sch.2']/@valid = 'true')">Second schematron validation has status valid</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml'])">WFR validation step exists for no scenario found </a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:noScenarioMatched/rep:validationStepResult[@id = 'val-xml']/rep:message)">WFR validation step for no scenario found has message (XML case)</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:assessment/rep:accept)">Assessment recommends acceptance</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report'])">HTML explanation for acceptance exists</a:assertion>
<a:assertion report-doc="cii001.xml"
test="not(rep:report/rep:assessment/rep:accept/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument anzunehmen')])">HTML explanation for acceptance recommends acceptance</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']">HTML explanation for rejection exists</a:assertion>
<a:assertion report-doc="cii001.xml"
test="rep:report/rep:assessment/rep:reject/rep:explanation/html:html[@data-report-type = 'report']//*[contains(., 'Es wird empfohlen das Dokument zurückzuweisen')]">HTML explanation for rejection recommends rejection</a:assertion>
</a:assertions>

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="test-xrechnung" default="test-xrechnung">
<property name="prueftool.jar" value="${basedir}/../../validationtool-1.0.0-SNAPSHOT-standalone.jar"/>
<property name="schema.dir" value="${basedir}/../../xsd"/>
<property name="testfiles.dir" value="${basedir}/instances"/>
<property name="reports.dir" value="${basedir}/reports"/>
<property name="repository.dir" location="${basedir}/.."/>
<target name="test-xrechnung">
<echo>Creating reports ...</echo>
<java jar="${prueftool.jar}" failonerror="yes" fork="yes" dir="${basedir}">
<arg value="-s"/>
<arg value="${basedir}/scenarios.xml"/>
<arg value="-r"/>
<arg value="${repository.dir}"/>
<arg value="-h"/>
<arg value="--check-assertions"/>
<arg value="${basedir}/assertions.xml"/>
<arg value="-o"/>
<arg value="${reports.dir}"/>
<arg value="${testfiles.dir}/*.xml"/>
</java>
<echo>Schema validating reports ...</echo>
<schemavalidate fullchecking="yes" failonerror="yes">
<schema namespace="http://www.xoev.de/de/validator/varl/1" file="${schema.dir}/report.xsd"/>
<fileset dir="${reports.dir}" includes="*.xml"/>
</schemavalidate>
<echo>Schematron validating reports ...</echo>
<apply executable="java" failonerror="yes">
<arg value="-classpath"/>
<arg value="saxon9he.jar"/>
<arg value="net.sf.saxon.Transform"/>
<arg value="-xsl:${schema.dir}/report.sch.xsl"/>
<srcfile/>
<fileset dir="${reports.dir}" includes="*.xml"/>
</apply>
</target>
</project>

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:a="http://www.xoev.de/de/validator/framework/1/assertions" exclude-result-prefixes="xs" version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="/" name="generate-assertions">
<xsl:variable name="csv" select="unparsed-text('assertions.csv', 'iso-8859-1')"/>
<xsl:variable name="rows" as="element(row)+">
<xsl:analyze-string select="$csv" regex="\r\n?|\n">
<xsl:non-matching-substring>
<row>
<xsl:for-each select="tokenize(., ';')">
<cell>
<xsl:value-of select="."/>
</cell>
</xsl:for-each>
</row>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:variable>
<a:assertions>
<a:namespace prefix="rep">http://www.xoev.de/de/validator/varl/1</a:namespace>
<a:namespace prefix="s">http://www.xoev.de/de/validator/framework/1/scenarios</a:namespace>
<a:namespace prefix="html">http://www.w3.org/1999/xhtml</a:namespace>
<xsl:for-each select="$rows[1]/cell/position()[. ge 3]">
<xsl:variable name="column-index" as="xs:integer" select="current()"/>
<xsl:if test="string-length($rows[1]/cell[$column-index]) gt 0">
<xsl:for-each select="2 to count($rows)">
<xsl:variable name="row" as="element(row)" select="$rows[current()]"/>
<a:assertion>
<xsl:attribute name="report-doc">
<xsl:value-of select="$rows[1]/cell[$column-index]"/>
<xsl:text>.xml</xsl:text>
</xsl:attribute>
<xsl:variable name="test" as="xs:string" select="$row/cell[2]"/>
<xsl:attribute name="test">
<xsl:choose>
<xsl:when test="$row/cell[$column-index] = '+'">
<xsl:value-of select="$test"/>
</xsl:when>
<xsl:when test="$row/cell[$column-index] = '-'">
<xsl:text>not(</xsl:text>
<xsl:value-of select="$test"/>
<xsl:text>)</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:message>Incomplete csv file?</xsl:message>
<xsl:message select="$row"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="$row/cell[1]"/>
</a:assertion>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</a:assertions>
</xsl:template>
</xsl:stylesheet>

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

View file

@ -0,0 +1,638 @@
<!-- XML instance generated by Andreas Pelekies -->
<!-- Example 1: Invoice with multiple line items for EN16931 -->
<!-- Timestamp: 2017-08-24 00:00:00 +0200 -->
<rsm:CrossIndustryInvoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100"
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100">
<rsm:ExchangedDocumentContext>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
<rsm:ExchangedDocument>
<ram:ID>12115118</ram:ID>
<ram:TypeCode>380</ram:TypeCode>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20150109</udt:DateTimeString>
</ram:IssueDateTime>
<ram:IncludedNote>
<ram:Content>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85.</ram:Content>
<ram:SubjectCode>AAR</ram:SubjectCode>
</ram:IncludedNote>
</rsm:ExchangedDocument>
<rsm:SupplyChainTradeTransaction>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>1</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>166022</ram:SellerAssignedID>
<ram:Name>PATAT FRITES 10MM 10KG</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>9.95</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>19.9</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>2</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>661813</ram:SellerAssignedID>
<ram:Name>KAAS 50PL. JONG BEL. 1KG</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>9.85</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>9.85</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>3</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>438146</ram:SellerAssignedID>
<ram:Name>POT KETCHUP 3 LT</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>8.29</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>8.29</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>4</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>438103</ram:SellerAssignedID>
<ram:Name>FRITESSAUS 3 LRR</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>7.23</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>14.46</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>5</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>666955</ram:SellerAssignedID>
<ram:Name>KOFFIE BLIK 3,5KG SNELF </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>35</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>35</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>6</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>664871</ram:SellerAssignedID>
<ram:Name>KOFFIE 3.5 KG BLIK STAND </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>35</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>35</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>7</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>350257</ram:SellerAssignedID>
<ram:Name>SUIKERKLONT</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>10.65</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>10.65</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>8</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>350258</ram:SellerAssignedID>
<ram:Name>1 KG UL BLOKJES </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>1.55</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>1.55</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>9</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>999998</ram:SellerAssignedID>
<ram:Name>BLOCKNOTE A5 </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>4.79</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">3</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>14.37</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>10</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>740810</ram:SellerAssignedID>
<ram:Name>CHIPS NAT KLEIN ZAKJES</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>8.29</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>8.29</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>11</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>740829</ram:SellerAssignedID>
<ram:Name>CHIPS PAP KLEINE ZAKJES</ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>8.29</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>16.58</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>12</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>740828</ram:SellerAssignedID>
<ram:Name>TR KL PAKJES APPELSAP </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>9.95</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>9.95</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>13</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>740827</ram:SellerAssignedID>
<ram:Name>PK CHOCOLADEMELK </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>1.65</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>3.3</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>14</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>999996</ram:SellerAssignedID>
<ram:Name>KRAT BIER </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>10.8</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>21</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>10.8</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>15</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>999995</ram:SellerAssignedID>
<ram:Name>STATIEGELD </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>3.9</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>3.9</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>16</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>102172</ram:SellerAssignedID>
<ram:Name>BLEEK 3 X 750 ML </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>3.8</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>21</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>7.6</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>17</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>999994</ram:SellerAssignedID>
<ram:Name>WC PAPIER </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>4.67</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">2</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>21</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>9.34</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>18</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>999993</ram:SellerAssignedID>
<ram:Name>BALPENNEN 50 ST BLAUW </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>18.63</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>21</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>18.63</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>19</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>999992</ram:SellerAssignedID>
<ram:Name>EM FRITUURVET </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>17.02</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">6</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>102.12</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>20</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>175137</ram:SellerAssignedID>
<ram:Name>FRITUUR VET 10 KG RETOUR </ram:Name>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>18.33</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="H87">6</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>-109.98</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
<ram:ApplicableHeaderTradeAgreement>
<ram:SellerTradeParty>
<ram:Name>De Koksmaat</ram:Name>
<ram:SpecifiedLegalOrganization>
<ram:ID>57151520</ram:ID>
</ram:SpecifiedLegalOrganization>
<ram:PostalTradeAddress>
<ram:PostcodeCode>1950 AB</ram:PostcodeCode>
<ram:LineOne>Postbus 7l</ram:LineOne>
<ram:CityName>Velsen-Noord</ram:CityName>
<ram:CountryID>NL</ram:CountryID>
</ram:PostalTradeAddress>
<ram:SpecifiedTaxRegistration>
<ram:ID schemeID="VA">NL8200.98.395.B.01</ram:ID>
</ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
<ram:BuyerTradeParty>
<ram:ID>10202</ram:ID>
<ram:Name>ODIN 59</ram:Name>
<ram:DefinedTradeContact>
<ram:PersonName>Dhr. J BLOKKER</ram:PersonName>
</ram:DefinedTradeContact>
<ram:PostalTradeAddress>
<ram:PostcodeCode>1960 AJ</ram:PostcodeCode>
<ram:LineOne>POSTBUS 367</ram:LineOne>
<ram:CityName>HEEMSKERK</ram:CityName>
<ram:CountryID>NL</ram:CountryID>
</ram:PostalTradeAddress>
</ram:BuyerTradeParty>
</ram:ApplicableHeaderTradeAgreement>
<ram:ApplicableHeaderTradeDelivery/>
<ram:ApplicableHeaderTradeSettlement>
<ram:PaymentReference>Deb. 10202 / Fact. 12115118</ram:PaymentReference>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>30</ram:TypeCode>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>NL57 RABO 0107307510</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>30</ram:TypeCode>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>NL57 RABO 0107307510</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>10.99</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>183.23</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>6</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>9.74</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>46.37</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>21</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradePaymentTerms>
<ram:DueDateDateTime><udt:DateTimeString format="102">20150109</udt:DateTimeString></ram:DueDateDateTime>
</ram:SpecifiedTradePaymentTerms>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>229.6</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>229.6</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">20.73</ram:TaxTotalAmount>
<ram:GrandTotalAmount>250.33</ram:GrandTotalAmount>
<ram:DuePayableAmount>250.33</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>

View file

@ -0,0 +1,529 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>

View file

@ -0,0 +1,538 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<!-- Warning -->
<UBLExtensions xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2">
<UBLExtension>
<ExtensionContent>
<cbc:ElectronicMail>Test</cbc:ElectronicMail>
</ExtensionContent>
</UBLExtension>
</UBLExtensions>
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<!-- Error -->
<!-- <cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>-->
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>

View file

@ -0,0 +1,529 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>DM</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DM">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DM">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DM">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DM">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DM">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="DM">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="DM">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="DM">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="DM">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DM">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DM">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>

View file

@ -0,0 +1,530 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<!-- Error XRechung -->
<!--<cbc:CityName>Velsen-Noord</cbc:CityName>-->
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>

View file

@ -0,0 +1,530 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<!-- Schema error -->
<!--<cbc:IssueDate>2015-01-09</cbc:IssueDate>-->
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>

View file

@ -0,0 +1,530 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<!-- No scenario matches without CustomizationID -->
<!--<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>-->
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
</Invoice>

View file

@ -0,0 +1,530 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:DueDate>2015-01-09</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>Alle leveringen zijn franco. Alle prijzen zijn incl. BTW. Betalingstermijn: 14 dagen netto. Prijswijzigingen voorbehouden. Op al onze aanbiedingen, leveringen en overeenkomsten zijn van toepassing in de algemene verkoop en leveringsvoorwaarden. Gedeponeerd bij de K.v.K. te Amsterdam 25-04-'85##Delivery terms</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>A test buyer reference</cbc:BuyerReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">19.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PATAT FRITES 10MM 10KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>166022</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.85</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PKAAS 50PL. JONG BEL. 1KG</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>661813</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.85</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>3</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>POT KETCHUP 3 LT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438146</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>4</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.46</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITESSAUS 3 LRR</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>438103</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">7.23</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>5</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE BLIK 3,5KG SNELF </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>666955</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>6</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">35.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KOFFIE 3.5 KG BLIK STAND </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>664871</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">35.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>7</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.65</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>SUIKERKLONT</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350257</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>8</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1.55</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>1 KG UL BLOKJES </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>350258</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.55</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>9</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">14.37</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLOCKNOTE A5 </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999998</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.79</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>10</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">8.29</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS NAT KLEIN ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740810</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>11</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">16.58</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>CHIPS PAP KLEINE ZAKJES</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740829</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">8.29</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>12</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.95</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>TR KL PAKJES APPELSAP </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740828</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">9.95</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>13</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.30</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>PK CHOCOLADEMEL</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>740827</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">1.65</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>14</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">10.80</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>KRAT BIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999996</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">10.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>15</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.90</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>STATIEGELD</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999995</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.90</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>16</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">7.60</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BLEEK 3 X 750 ML </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>102172</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">3.80</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>17</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">9.34</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>WC PAPIER </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999994</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">4.67</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>18</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">18.63</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>BALPENNEN 50 ST BLAUW </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999993</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.63</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>19</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">102.12</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>EM FRITUURVET </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>999992</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">17.02</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>20</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">6</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">-109.98</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>FRITUUR VET 10 KG RETOUR </cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>175137</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">18.33</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
<!-- WFR violation -->
<!-- </Invoice> -->

View file

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<CreditNote xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2"
xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2" xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017</cbc:CustomizationID>
<cbc:ID>12115118</cbc:ID>
<cbc:IssueDate>2015-01-09</cbc:IssueDate>
<cbc:CreditNoteTypeCode>070</cbc:CreditNoteTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Postbus 7l</cbc:StreetName>
<cbc:CityName>Velsen-Noord</cbc:CityName>
<cbc:PostalZone>1950 AB</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>NL8200.98.395.B.01</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>De Koksmaat</cbc:RegistrationName>
<cbc:CompanyID>57151520</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Testname</cbc:Name>
<cbc:Telephone>Testname</cbc:Telephone>
<cbc:ElectronicMail>test@test.de</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>10202</cbc:ID>
</cac:PartyIdentification>
<cac:PostalAddress>
<cbc:StreetName>POSTBUS 367</cbc:StreetName>
<cbc:CityName>HEEMSKERK</cbc:CityName>
<cbc:PostalZone>1960 AJ</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>NL</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>ODIN 59</cbc:RegistrationName>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>Dhr. J BLOKKER</cbc:Name>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL57 RABO 0107307510</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
<cbc:PaymentID>Deb. 10202 / Fact. 12115118</cbc:PaymentID>
<cac:PayeeFinancialAccount>
<cbc:ID>NL03 INGB 0004489902</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">20.73</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">183.23</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">10.99</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>6</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">46.37</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">9.74</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">229.60</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">229.60</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">250.33</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">250.33</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:CreditNoteLine>
<cbc:ID>1</cbc:ID>
</cac:CreditNoteLine>
</CreditNote>

View file

@ -0,0 +1,20 @@
Dieses Verzeichnis enthält Tests für die Prüftool-Konfiguration XRechnung.
Die Tests können über das ANT-Skript build.xml ausgeführt werden.
Inhalt des Verzeichnisses:
- instances/*.xml - Test-Dokumente (Rechnungen)
- reports/*.xml|*.html - Die Prüfberichte für die Test-Dokumente
- scenarios.xml - Ein für Testzwecke angepasste Variante der
XRechnung-Konfigurationsdatei (customLevels ergänzt)
- assertions.xlsx - Eine tabellarische Darstellung der Eigenschaften
der Prüfberichte für die einzelnen Dokumente
- assertions.xml - maschinenlesbare Form für den Schalter --check-assertions.
- build.xml - Vollständiger Testlauf
- saxon9he.jar - Saxon-XSLT, wird nur für die Testauswertung benötigt.
Der vollständige Testlauf umfasst:
- Prüftool auf alle Testdateien anwenden
- Zusicherungen aus assertions.xml testen
- Testen, dass alle XML-Berichte konform zu report.xsd sind.
- Testen, dass alle XML-Berichte konform zu report.sch sind.

View file

@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:rep="http://www.xoev.de/de/validator/varl/1" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:in="http://www.xoev.de/de/validator/framework/1/createreportinput" xmlns:s="http://www.xoev.de/de/validator/framework/1/scenarios" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" data-report-type="report">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Prüfbericht</title><style>
body{
font-family: Calibri;
width: 230mm;
}
.metadata dt {
float: left;
width: 230px;
clear: left;
}
.metadata dd {
margin-left: 250px;
}
table{
border-collapse: collapse;
width: 100%;
}
table.tbl-errors{
font-size: smaller;
}
table.document{
font-size: smaller;
}
table.document td {vertical-align:top;}
.tbl-errors td{
border: 1px solid lightgray;
padding: 2px;
vertical-align: top;
}
thead{
font-weight: bold;
background-color: #f0f0f0;
padding-top: 6pt;
padding-bottom: 2pt;
}
.tbl-meta td{
padding-right: 1em;
}
td.pos{
padding-left: 3pt;
width: 5%;
color: gray
}
td.element{
width: 95%;
word-wrap: break-word;
}
td.element:before{
content: attr(title);
color: gray;
}
div.attribute{
display: inline;
font-style: italic;
color: gray;
}
div.attribute:before{
content: attr(title) '=';
}
div.val{
display: inline;
font-weight: bold;
}
td.level1{
padding-left: 2mm;
}
td.level2{
padding-left: 5mm;
}
td.level3{
padding-left: 10mm;
}
td.level4{
padding-left: 15mm;
}
td.level5{
padding-left: 20mm;
}
td.level6{
padding-left: 25mm;
}
tr{
vertical-align: bottom;
border-bottom: 1px solid #c0c0c0;
}
.error{
color: red;
}
.warning{
}
p.important{
font-weight: bold;
text-align: left;
background-color: #e0e0e0;
padding: 3pt;
}
td.right{
text-align: right
}</style></head>
<body>
<h1>Prüfbericht</h1>
<div class="metadata">
<p class="important">Angaben zum geprüften Dokument</p>
<dl>
<dt>Referenz:</dt>
<dd>c:\fb\svn\xoev\produkte\prueftool\trunk\xrechnung\test\instances\bin001.xml</dd>
<dt>Zeitpunkt der Prüfung:</dt>
<dd>21.9.2017 11:08:04</dd>
<dt>Erkannter Dokumenttyp:</dt>
<dd><b class="error">unbekannt</b></dd>
</dl>
</div>
<p class="important"><b>Konformitätsprüfung: </b>Das geprüfte Dokument entspricht keinen zulässigen Dokumenttyp und ist damit <b>nicht konform</b> zu den formalen Vorgaben.
</p>
<p>Übersicht der Validierungsergebnisse:</p>
<table class="tbl-errors">
<thead>
<tr>
<th>Prüfschritt</th>
<th>Fehler</th>
<th>Warnungen</th>
<th>Informationen</th>
</tr>
</thead>
<tbody>
<tr>
<td> (val-xml)</td>
<td style="width: 30mm;">1</td>
<td style="width: 30mm;">0</td>
<td style="width: 30mm;">0</td>
</tr>
</tbody>
</table>
<p>Validierungsergebnisse im Detail:</p>
<table class="tbl-errors">
<thead>
<tr>
<th style="width: 30mm;">Pos</th>
<th style="width: 25mm;">Code</th>
<th style="width: 25mm;">Adj. Grad (Grad)</th>
<th>Text</th>
</tr>
</thead>
<tbody>
<tr class="error">
<td rowspan="2">val-xml.1</td>
<td rowspan="2">generic-error</td>
<td rowspan="2">error</td>
<td>Content ist nicht zulässig in Prolog.</td>
</tr>
<tr class="error">
<td> Zeile: 1 Spalte: 1</td>
</tr>
</tbody>
</table>
<p class="important error">Bewertung: Es wird empfohlen das Dokument zurückzuweisen.</p>
<p class="info">Dieser Prüfbericht wurde erstellt mit KoSIT Prüftool.</p>
</body>
</html>

View file

@ -0,0 +1,230 @@
<?xml version="1.0" encoding="UTF-8"?>
<rep:report xmlns:rep="http://www.xoev.de/de/validator/varl/1"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:in="http://www.xoev.de/de/validator/framework/1/createreportinput"
xmlns:s="http://www.xoev.de/de/validator/framework/1/scenarios"
xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
valid="false"
varlVersion="1.0.0">
<rep:engine>
<rep:name>KoSIT Prüftool</rep:name>
</rep:engine>
<rep:timestamp>2017-09-21T11:08:04.311+02:00</rep:timestamp>
<rep:documentIdentification>
<rep:documentHash>
<rep:hashAlgorithm>SHA-256</rep:hashAlgorithm>
<rep:hashValue>fGsWeDjyK0xy/p2b0DmSP73UVY8p8ZZJxNM0WnjLZSs=</rep:hashValue>
</rep:documentHash>
<rep:documentReference>c:\fb\svn\xoev\produkte\prueftool\trunk\xrechnung\test\instances\bin001.xml</rep:documentReference>
</rep:documentIdentification>
<rep:noScenarioMatched>
<rep:validationStepResult id="val-xml" valid="false">
<rep:message code="generic-error"
columnNumber="1"
id="val-xml.1"
level="error"
lineNumber="1">Content ist nicht zulässig in Prolog.</rep:message>
</rep:validationStepResult>
</rep:noScenarioMatched>
<rep:assessment>
<rep:reject>
<rep:explanation>
<html xmlns="http://www.w3.org/1999/xhtml" data-report-type="report">
<head>
<title>Prüfbericht</title>
<style>
body{
font-family: Calibri;
width: 230mm;
}
.metadata dt {
float: left;
width: 230px;
clear: left;
}
.metadata dd {
margin-left: 250px;
}
table{
border-collapse: collapse;
width: 100%;
}
table.tbl-errors{
font-size: smaller;
}
table.document{
font-size: smaller;
}
table.document td {vertical-align:top;}
.tbl-errors td{
border: 1px solid lightgray;
padding: 2px;
vertical-align: top;
}
thead{
font-weight: bold;
background-color: #f0f0f0;
padding-top: 6pt;
padding-bottom: 2pt;
}
.tbl-meta td{
padding-right: 1em;
}
td.pos{
padding-left: 3pt;
width: 5%;
color: gray
}
td.element{
width: 95%;
word-wrap: break-word;
}
td.element:before{
content: attr(title);
color: gray;
}
div.attribute{
display: inline;
font-style: italic;
color: gray;
}
div.attribute:before{
content: attr(title) '=';
}
div.val{
display: inline;
font-weight: bold;
}
td.level1{
padding-left: 2mm;
}
td.level2{
padding-left: 5mm;
}
td.level3{
padding-left: 10mm;
}
td.level4{
padding-left: 15mm;
}
td.level5{
padding-left: 20mm;
}
td.level6{
padding-left: 25mm;
}
tr{
vertical-align: bottom;
border-bottom: 1px solid #c0c0c0;
}
.error{
color: red;
}
.warning{
}
p.important{
font-weight: bold;
text-align: left;
background-color: #e0e0e0;
padding: 3pt;
}
td.right{
text-align: right
}</style>
</head>
<body>
<h1>Prüfbericht</h1>
<div class="metadata">
<p class="important">Angaben zum geprüften Dokument</p>
<dl>
<dt>Referenz:</dt>
<dd>c:\fb\svn\xoev\produkte\prueftool\trunk\xrechnung\test\instances\bin001.xml</dd>
<dt>Zeitpunkt der Prüfung:</dt>
<dd>21.9.2017 11:08:04</dd>
<dt>Erkannter Dokumenttyp:</dt>
<dd>
<b class="error">unbekannt</b>
</dd>
</dl>
</div>
<p class="important">
<b>Konformitätsprüfung: </b>Das geprüfte Dokument entspricht keinen zulässigen Dokumenttyp und ist damit <b>nicht konform</b> zu den formalen Vorgaben.</p>
<p>Übersicht der Validierungsergebnisse:</p>
<table class="tbl-errors">
<thead>
<tr>
<th>Prüfschritt</th>
<th>Fehler</th>
<th>Warnungen</th>
<th>Informationen</th>
</tr>
</thead>
<tbody>
<tr>
<td> (val-xml)</td>
<td style="width: 30mm;">1</td>
<td style="width: 30mm;">0</td>
<td style="width: 30mm;">0</td>
</tr>
</tbody>
</table>
<p>Validierungsergebnisse im Detail:</p>
<table class="tbl-errors">
<thead>
<tr>
<th style="width: 30mm;">Pos</th>
<th style="width: 25mm;">Code</th>
<th style="width: 25mm;">Adj. Grad (Grad)</th>
<th>Text</th>
</tr>
</thead>
<tbody>
<tr class="error">
<td rowspan="2">val-xml.1</td>
<td rowspan="2">generic-error</td>
<td rowspan="2">error</td>
<td>Content ist nicht zulässig in Prolog.</td>
</tr>
<tr class="error">
<td> Zeile: 1 Spalte: 1</td>
</tr>
</tbody>
</table>
<p class="important error">Bewertung: Es wird empfohlen das Dokument zurückzuweisen.</p>
<p class="info">Dieser Prüfbericht wurde erstellt mit KoSIT Prüftool.</p>
</body>
</html>
</rep:explanation>
</rep:reject>
</rep:assessment>
</rep:report>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:rep="http://www.xoev.de/de/validator/varl/1" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:in="http://www.xoev.de/de/validator/framework/1/createreportinput" xmlns:s="http://www.xoev.de/de/validator/framework/1/scenarios" xmlns:svrl="http://purl.oclc.org/dsdl/svrl" xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" data-report-type="report">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Prüfbericht</title><style>
body{
font-family: Calibri;
width: 230mm;
}
.metadata dt {
float: left;
width: 230px;
clear: left;
}
.metadata dd {
margin-left: 250px;
}
table{
border-collapse: collapse;
width: 100%;
}
table.tbl-errors{
font-size: smaller;
}
table.document{
font-size: smaller;
}
table.document td {vertical-align:top;}
.tbl-errors td{
border: 1px solid lightgray;
padding: 2px;
vertical-align: top;
}
thead{
font-weight: bold;
background-color: #f0f0f0;
padding-top: 6pt;
padding-bottom: 2pt;
}
.tbl-meta td{
padding-right: 1em;
}
td.pos{
padding-left: 3pt;
width: 5%;
color: gray
}
td.element{
width: 95%;
word-wrap: break-word;
}
td.element:before{
content: attr(title);
color: gray;
}
div.attribute{
display: inline;
font-style: italic;
color: gray;
}
div.attribute:before{
content: attr(title) '=';
}
div.val{
display: inline;
font-weight: bold;
}
td.level1{
padding-left: 2mm;
}
td.level2{
padding-left: 5mm;
}
td.level3{
padding-left: 10mm;
}
td.level4{
padding-left: 15mm;
}
td.level5{
padding-left: 20mm;
}
td.level6{
padding-left: 25mm;
}
tr{
vertical-align: bottom;
border-bottom: 1px solid #c0c0c0;
}
.error{
color: red;
}
.warning{
}
p.important{
font-weight: bold;
text-align: left;
background-color: #e0e0e0;
padding: 3pt;
}
td.right{
text-align: right
}</style></head>
<body>
<h1>Prüfbericht</h1>
<div class="metadata">
<p class="important">Angaben zum geprüften Dokument</p>
<dl>
<dt>Referenz:</dt>
<dd>c:\fb\svn\xoev\produkte\prueftool\trunk\xrechnung\test\instances\ubl007.xml</dd>
<dt>Zeitpunkt der Prüfung:</dt>
<dd>21.9.2017 11:08:05</dd>
<dt>Erkannter Dokumenttyp:</dt>
<dd><b class="error">unbekannt</b></dd>
</dl>
</div>
<p class="important"><b>Konformitätsprüfung: </b>Das geprüfte Dokument entspricht keinen zulässigen Dokumenttyp und ist damit <b>nicht konform</b> zu den formalen Vorgaben.
</p>
<p>Übersicht der Validierungsergebnisse:</p>
<table class="tbl-errors">
<thead>
<tr>
<th>Prüfschritt</th>
<th>Fehler</th>
<th>Warnungen</th>
<th>Informationen</th>
</tr>
</thead>
<tbody>
<tr>
<td> (val-xml)</td>
<td style="width: 30mm;">1</td>
<td style="width: 30mm;">0</td>
<td style="width: 30mm;">0</td>
</tr>
</tbody>
</table>
<p>Validierungsergebnisse im Detail:</p>
<table class="tbl-errors">
<thead>
<tr>
<th style="width: 30mm;">Pos</th>
<th style="width: 25mm;">Code</th>
<th style="width: 25mm;">Adj. Grad (Grad)</th>
<th>Text</th>
</tr>
</thead>
<tbody>
<tr class="error">
<td rowspan="2">val-xml.1</td>
<td rowspan="2">generic-error</td>
<td rowspan="2">error</td>
<td>XML-Dokumentstrukturen müssen innerhalb derselben Entity beginnen und enden.</td>
</tr>
<tr class="error">
<td> Zeile: 531 Spalte: 1</td>
</tr>
</tbody>
</table>
<p class="important error">Bewertung: Es wird empfohlen das Dokument zurückzuweisen.</p>
<p class="info">Dieser Prüfbericht wurde erstellt mit KoSIT Prüftool.</p>
</body>
</html>

View file

@ -0,0 +1,230 @@
<?xml version="1.0" encoding="UTF-8"?>
<rep:report xmlns:rep="http://www.xoev.de/de/validator/varl/1"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:in="http://www.xoev.de/de/validator/framework/1/createreportinput"
xmlns:s="http://www.xoev.de/de/validator/framework/1/scenarios"
xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
valid="false"
varlVersion="1.0.0">
<rep:engine>
<rep:name>KoSIT Prüftool</rep:name>
</rep:engine>
<rep:timestamp>2017-09-21T11:08:05.929+02:00</rep:timestamp>
<rep:documentIdentification>
<rep:documentHash>
<rep:hashAlgorithm>SHA-256</rep:hashAlgorithm>
<rep:hashValue>j3mjlUm+6rbalED9U4bo+zEqm3nCIYAgOGImBP2IGhc=</rep:hashValue>
</rep:documentHash>
<rep:documentReference>c:\fb\svn\xoev\produkte\prueftool\trunk\xrechnung\test\instances\ubl007.xml</rep:documentReference>
</rep:documentIdentification>
<rep:noScenarioMatched>
<rep:validationStepResult id="val-xml" valid="false">
<rep:message code="generic-error"
columnNumber="1"
id="val-xml.1"
level="error"
lineNumber="531">XML-Dokumentstrukturen müssen innerhalb derselben Entity beginnen und enden.</rep:message>
</rep:validationStepResult>
</rep:noScenarioMatched>
<rep:assessment>
<rep:reject>
<rep:explanation>
<html xmlns="http://www.w3.org/1999/xhtml" data-report-type="report">
<head>
<title>Prüfbericht</title>
<style>
body{
font-family: Calibri;
width: 230mm;
}
.metadata dt {
float: left;
width: 230px;
clear: left;
}
.metadata dd {
margin-left: 250px;
}
table{
border-collapse: collapse;
width: 100%;
}
table.tbl-errors{
font-size: smaller;
}
table.document{
font-size: smaller;
}
table.document td {vertical-align:top;}
.tbl-errors td{
border: 1px solid lightgray;
padding: 2px;
vertical-align: top;
}
thead{
font-weight: bold;
background-color: #f0f0f0;
padding-top: 6pt;
padding-bottom: 2pt;
}
.tbl-meta td{
padding-right: 1em;
}
td.pos{
padding-left: 3pt;
width: 5%;
color: gray
}
td.element{
width: 95%;
word-wrap: break-word;
}
td.element:before{
content: attr(title);
color: gray;
}
div.attribute{
display: inline;
font-style: italic;
color: gray;
}
div.attribute:before{
content: attr(title) '=';
}
div.val{
display: inline;
font-weight: bold;
}
td.level1{
padding-left: 2mm;
}
td.level2{
padding-left: 5mm;
}
td.level3{
padding-left: 10mm;
}
td.level4{
padding-left: 15mm;
}
td.level5{
padding-left: 20mm;
}
td.level6{
padding-left: 25mm;
}
tr{
vertical-align: bottom;
border-bottom: 1px solid #c0c0c0;
}
.error{
color: red;
}
.warning{
}
p.important{
font-weight: bold;
text-align: left;
background-color: #e0e0e0;
padding: 3pt;
}
td.right{
text-align: right
}</style>
</head>
<body>
<h1>Prüfbericht</h1>
<div class="metadata">
<p class="important">Angaben zum geprüften Dokument</p>
<dl>
<dt>Referenz:</dt>
<dd>c:\fb\svn\xoev\produkte\prueftool\trunk\xrechnung\test\instances\ubl007.xml</dd>
<dt>Zeitpunkt der Prüfung:</dt>
<dd>21.9.2017 11:08:05</dd>
<dt>Erkannter Dokumenttyp:</dt>
<dd>
<b class="error">unbekannt</b>
</dd>
</dl>
</div>
<p class="important">
<b>Konformitätsprüfung: </b>Das geprüfte Dokument entspricht keinen zulässigen Dokumenttyp und ist damit <b>nicht konform</b> zu den formalen Vorgaben.</p>
<p>Übersicht der Validierungsergebnisse:</p>
<table class="tbl-errors">
<thead>
<tr>
<th>Prüfschritt</th>
<th>Fehler</th>
<th>Warnungen</th>
<th>Informationen</th>
</tr>
</thead>
<tbody>
<tr>
<td> (val-xml)</td>
<td style="width: 30mm;">1</td>
<td style="width: 30mm;">0</td>
<td style="width: 30mm;">0</td>
</tr>
</tbody>
</table>
<p>Validierungsergebnisse im Detail:</p>
<table class="tbl-errors">
<thead>
<tr>
<th style="width: 30mm;">Pos</th>
<th style="width: 25mm;">Code</th>
<th style="width: 25mm;">Adj. Grad (Grad)</th>
<th>Text</th>
</tr>
</thead>
<tbody>
<tr class="error">
<td rowspan="2">val-xml.1</td>
<td rowspan="2">generic-error</td>
<td rowspan="2">error</td>
<td>XML-Dokumentstrukturen müssen innerhalb derselben Entity beginnen und enden.</td>
</tr>
<tr class="error">
<td> Zeile: 531 Spalte: 1</td>
</tr>
</tbody>
</table>
<p class="important error">Bewertung: Es wird empfohlen das Dokument zurückzuweisen.</p>
<p class="info">Dieser Prüfbericht wurde erstellt mit KoSIT Prüftool.</p>
</body>
</html>
</rep:explanation>
</rep:reject>
</rep:assessment>
</rep:report>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<scenarios xmlns="http://www.xoev.de/de/validator/framework/1/scenarios" frameworkVersion="1.0.0">
<name>Prüftool-Konfiguration XRechnung (Entwurf)</name>
<author>KoSIT</author>
<date>2017-09-20</date>
<description>
<p>Prüfung von Dokumenten auf Konformität zum Standard XRechnung (www.xoev.de/de/xrechnung)</p>
</description>
<scenario>
<name>EN16931 CIUS XRechnung (UBL Invoice)</name>
<namespace prefix="cbc">urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2</namespace>
<namespace prefix="invoice">urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</namespace>
<match>/invoice:Invoice[starts-with(cbc:CustomizationID, 'urn:cen.eu:en16931:2017')]</match>
<validateWithXmlSchema>
<resource>
<name>XML Schema for UBL 2.1 Invoice</name>
<location>resources/xrechnung/ubl21/xsdrt/maindoc/UBL-Invoice-2.1.xsd</location>
</resource>
</validateWithXmlSchema>
<validateWithSchematron>
<resource>
<name>Schematron rules for EN16931 (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/EN16931-UBL-validation.xsl</location>
</resource>
</validateWithSchematron>
<validateWithSchematron>
<resource>
<name>Schematron rules for Invoice - CIUS XRechnung (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/XRechnung-UBL-validation-Invoice.xsl</location>
</resource>
</validateWithSchematron>
<createReport>
<resource>
<name>Prüfbericht für XRechnung</name>
<location>resources/xrechnung/xrechnung-report.xsl</location>
</resource>
<!-- For testing only! -->
<customLevel level="warning">BR-CL-04</customLevel>
</createReport>
</scenario>
<scenario>
<name>EN16931 CIUS XRechnung (UBL CreditNote)</name>
<namespace prefix="cbc">urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2</namespace>
<namespace prefix="creditnote">urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2</namespace>
<match>/creditnote:CreditNote[starts-with(cbc:CustomizationID, 'urn:cen.eu:en16931:2017')]</match>
<validateWithXmlSchema>
<resource>
<name>XML Schema for UBL 2.1 CreditNote</name>
<location>resources/xrechnung/ubl21/xsdrt/maindoc/UBL-CreditNote-2.1.xsd</location>
</resource>
</validateWithXmlSchema>
<validateWithSchematron>
<resource>
<name>Schematron rules for EN16931 (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/EN16931-UBL-validation.xsl</location>
</resource>
</validateWithSchematron>
<validateWithSchematron>
<resource>
<name>Schematron rules for CreditNote - CIUS XRechnung (UBL)</name>
<location>resources/xrechnung/ubl21/xsl/XRechnung-UBL-validation-CreditNote.xsl</location>
</resource>
</validateWithSchematron>
<createReport>
<resource>
<name>Prüfbericht für XRechnung</name>
<location>resources/xrechnung/xrechnung-report.xsl</location>
</resource>
</createReport>
</scenario>
<scenario>
<name>EN16931 CIUS XRechnung (CII)</name>
<namespace prefix="rsm">urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100</namespace>
<namespace prefix="ram">urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100</namespace>
<match>/rsm:CrossIndustryInvoice[starts-with(rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID, 'urn:cen.eu:en16931:2017')]</match>
<validateWithXmlSchema>
<resource>
<name>XML Schema for UN/CEFACT XML (SCRDM - CII)</name>
<location>resources/xrechnung/cii/xsd/CrossIndustryInvoice_100pD16B.xsd</location>
</resource>
</validateWithXmlSchema>
<validateWithSchematron>
<resource>
<name>Schematron rules for EN16931 (CII)</name>
<location>resources/xrechnung/cii/xsl/EN16931-CII-validation.xsl</location>
</resource>
</validateWithSchematron>
<validateWithSchematron>
<resource>
<name>Schematron rules for CIUS XRechnung (CII)</name>
<location>resources/xrechnung/cii/xsl/XRechnung-CII-validation.xsl</location>
</resource>
</validateWithSchematron>
<createReport>
<resource>
<name>Prüfbericht für XRechnung</name>
<location>resources/xrechnung/xrechnung-report.xsl</location>
</resource>
</createReport>
</scenario>
<noScenarioReport>
<resource>
<name>Default Report</name>
<location>resources/default-report.xsl</location>
</resource>
</noScenarioReport>
</scenarios>