-
Notifications
You must be signed in to change notification settings - Fork 0
/
tdCFDI.xsd
157 lines (157 loc) · 7.33 KB
/
tdCFDI.xsd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tdCFDI="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sat.gob.mx/sitio_internet/cfd/tipoDatos/tdCFDI" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:simpleType name="t_CURP">
<xs:annotation>
<xs:documentation>Tipo definido para expresar la Clave Única de Registro de Población (CURP)</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:length value="18"/>
<xs:pattern value="[A-Z][AEIOUX][A-Z]{2}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[MH]([ABCMTZ]S|[BCJMOT]C|[CNPST]L|[GNQ]T|[GQS]R|C[MH]|[MY]N|[DH]G|NE|VZ|DF|SP)[BCDFGHJ-NP-TV-Z]{3}[0-9A-Z][0-9]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Importe">
<xs:annotation>
<xs:documentation>Tipo definido para expresar importes numéricos con fracción hasta seis decimales. No se permiten valores negativos.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="6"/>
<xs:minInclusive value="0.000000"/>
<xs:pattern value="[0-9]{1,18}(.[0-9]{1,6})?"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Fecha">
<xs:annotation>
<xs:documentation>Tipo definido para la expresión de la fecha. Se expresa en la forma AAAA-MM-DD.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:date">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="((19|20)[0-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_ImporteMXN">
<xs:annotation>
<xs:documentation>Tipo definido para expresar importes monetarios en moneda nacional MXN con fracción hasta dos decimales. No se permiten valores negativos.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:fractionDigits value="2"/>
<xs:minInclusive value="0.00"/>
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[0-9]{1,18}(.[0-9]{1,2})?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_CuentaBancaria">
<xs:annotation>
<xs:documentation>Tipo definido para expresar la cuenta bancarizada.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:integer">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[0-9]{10,18}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_RFC">
<xs:annotation>
<xs:documentation>Tipo definido para expresar claves del Registro Federal de Contribuyentes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:minLength value="12"/>
<xs:maxLength value="13"/>
<xs:pattern value="[A-Z&Ñ]{3,4}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_RFC_PM">
<xs:annotation>
<xs:documentation>Tipo definido para la expresión de un Registro Federal de Contribuyentes de persona moral.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:minLength value="12"/>
<xs:pattern value="[A-Z&Ñ]{3}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_RFC_PF">
<xs:annotation>
<xs:documentation>Tipo definido para la expresión de un Registro Federal de Contribuyentes de persona física.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:minLength value="13"/>
<xs:pattern value="[A-Z&Ñ]{4}[0-9]{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])[A-Z0-9]{2}[0-9A]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_FechaHora">
<xs:annotation>
<xs:documentation>Tipo definido para la expresión de la fecha y hora. Se expresa en la forma AAAA-MM-DDThh:mm:ss</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:dateTime">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="((19|20)[0-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_FechaH">
<xs:annotation>
<xs:documentation>Tipo definido para la expresión de la fecha y hora. Se expresa en la forma AAAA-MM-DDThh:mm:ss</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:dateTime">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="(20[1-9][0-9])-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Descrip100">
<xs:annotation>
<xs:documentation>Tipo definido para expresar la calle en que está ubicado el domicilio del emisor del comprobante o del destinatario de la mercancía.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="100"/>
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[^|]{1,100}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_NumeroDomicilio">
<xs:annotation>
<xs:documentation>Tipo definido para expresar el número interior o el número exterior en donde se ubica el domicilio del emisor del comprobante o del destinatario de la mercancía.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="55"/>
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[^|]{1,55}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Referencia">
<xs:annotation>
<xs:documentation>Tipo definido para expresar la referencia geográfica adicional que permita una fácil o precisa ubicación del domicilio del emisor del comprobante o del destinatario de la mercancía, por ejemplo las coordenadas GPS.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="250"/>
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[^|]{1,250}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_Descrip120">
<xs:annotation>
<xs:documentation>Tipo definido para expresar la colonia, localidad o municipio en que está ubicado el domicilio del emisor del comprobante o del destinatario de la mercancía.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="120"/>
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[^|]{1,120}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="t_TipoCambio">
<xs:annotation>
<xs:documentation>Tipo definido para expresar el tipo de cambio. No se permiten valores negativos.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0.00"/>
<xs:fractionDigits value="6"/>
<xs:whiteSpace value="collapse"/>
<xs:pattern value="[0-9]{1,18}(.[0-9]{1,6})?"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>