Höchstens eine Unterregion in der Anschrift der Versandorganisation

Fehler FX-SCH-A-000808 Factur-X

Das Element 'ram:CountrySubDivisionName' darf höchstens einmal vorkommen.

Pflichtregel: Solange sie verletzt ist, ist die Rechnung ungültig und wird von Validatoren abgewiesen.
Was nicht stimmt

ram:CountrySubDivisionName kommt in ram:PostalTradeAddress mehr als einmal vor.

Was die Regel bedeutet

Die Anschrift darf höchstens eine Angabe zur Unterregion enthalten. Mehrere Angaben dieses Elements entsprechen nicht der festgelegten Struktur.

Bitte führen Sie in der Anschrift der Versandorganisation höchstens eine Unterregion auf

ram:CountrySubDivisionName steht mehrfach in der Anschrift der Versandorganisation. Sie können die mehrfachen Angaben auf höchstens ein Element begrenzen.

Was ist zu tun?
  1. Suchen Sie ram:PostalTradeAddress in ram:SpecifiedLegalOrganization des Versandorts.
  2. Prüfen Sie, wie oft ram:CountrySubDivisionName darin vorkommt.
  3. Entfernen Sie überzählige Vorkommen, sodass höchstens eines verbleibt.
  4. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName>Nord</ram:CountrySubDivisionName>
  <ram:CountrySubDivisionName>Est</ram:CountrySubDivisionName>
</ram:PostalTradeAddress>
✓ In Ordnung
<ram:PostalTradeAddress>
  <ram:CountrySubDivisionName>Nord</ram:CountrySubDivisionName>
</ram:PostalTradeAddress>
Technische Details

Die Regel prüft, ob die Anzahl der direkten ram:CountrySubDivisionName-Kinderelemente von ram:PostalTradeAddress kleiner oder gleich eins ist.

Wo die Regel greift

Die Regel gilt für ram:PostalTradeAddress innerhalb von ram:SpecifiedLegalOrganization des Versandorts (ram:ShipFromTradeParty).

Originalmeldung aus dem Schematron
Element 'ram:CountrySubDivisionName' may occur at maximum 1 times.
Kontext (rule/@context)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ ram:ShipFromTradeParty/ram:SpecifiedLegalOrganization/ram:PostalTradeAddress
Prüfausdruck (assert/@test)
count(ram:CountrySubDivisionName)<=1