Sobes.tech
Junior

Ի՞նչ տվյալների տեսակներ կան XSD-ում։

sobes.tech AI

Պատասխան AI-ից

  • Պարզ տեսակներ (Simple Types)
    • Տվյալների ներսից բխող տեսակներից՝
      • xs:boolean
      • xs:byte, xs:short, xs:int, xs:long
      • xs:unsignedByte, xs:unsignedShort, xs:unsignedInt, xs:unsignedLong
      • xs:decimal
      • xs:float, xs:double
      • xs:string
      • xs:date, xs:time, xs:dateTime
      • xs:duration
      • xs:gYearMonth, xs:gYear, xs:gMonthDay, xs:gDay, xs:gMonth
      • xs:anyURI
      • xs:QName
      • xs:NOTATION
      • xs:base64Binary
      • xs:hexBinary
      • xs:language
      • xs:normalizedString, xs:token ( xs:string-ից բխող տեսակներ)
      • xs:ID, xs:IDREF, xs:IDREFS, xs:ENTITY, xs:ENTITIES, xs:NMTOKEN, xs:NMTOKENS (XML-հատուկ տեսակներ)
    • Սահմանափակված տեսակներ (restriction)
    • Ցանկային տեսակներ (list)
    • Միացյալ տեսակներ (union)
  • Ազդեցիկ տեսակներ (Complex Types)
    • Ունեն տարրեր և ատրիբուտներ
    • Կարող են ունենալ պարունակության մոդելներ՝
      • empty (միայն ատրիբուտներ)
      • element-only (միայն տարրեր)
      • mixed (տարրեր և տեքստային պարունակություն)
      • simpleContent (միայն ատրիբուտներ և պարզ տեքստային պարունակություն)
    • Կարող են օգտագործել՝
      • xs:sequence (տարրերի հաջորդականություն)
      • xs:choice (առաջարկվող տարրերից մեկը)
      • xs:all (բոլոր նշված տարրերը ցանկացած կարգով, յուրաքանչյուրը ոչ ավել մեկ անգամ)

Օրինակ՝ պարզ սահմանափակված տեսակ սահմանելու համար՝

<!-- նոր PositiveInteger տեսակ սահմանում, որը դրական ամբողջ թիվ է -->
<xs:simpleType name="PositiveInteger">
  <xs:restriction base="xs:int">
    <xs:minInclusive value="1"/>
  </xs:restriction>
</xs:simpleType>

Օրինակ՝ բարդ տեսակ սահմանելու համար՝

<!-- Person բարդ տեսակ սահմանում, որը պարունակում է name և age տարրերը -->
<xs:complexType name="Person">
  <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="age" type="xs:int"/>
  </xs:sequence>
</xs:complexType>