XML Schema any elemento

Pangakala at paggamit

Ang 'any' elemento ay nagbibigay sa anumang elemento na galing sa tinukoy na namespace na maaaring lumabas sa kasangkapang kasama ang 'sequence' o 'choice'.

Ang elemento na ito ay nagbibigay sa tagapaglikha ng kapasidad na palakasin ang XML dokumento gamit ang mga elemento na hindi tinukoy ng schema.

Impormasyon ng elemento

Proyekto Paliwanag
Bilang na lumalabas Walang limitasyon
Pangunahing elemento choice, sequence
nilalaman annotation

Pangangatwiran

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
any attributes
>
(annotation?)
</any>

(? Simbolo ng deklarasyon ng elemento ay maaaring lumagay sa anumang elemento nang walang pagpipilian o isang beses.).

Atributo

id

Piliin. Tukuyin ang natatanging ID ng elemento.

maxOccurs

Piliin. Tukuyin ang pinakamataas na bilang ng pagkalagay ng 'any' sa pangunahing elemento. Ang halaga ay maaaring maging integer na mas malaki o katumbas ng 0. Kung ayaw mong magset ng anumang limitasyon sa pinakamataas na bilang, gamitin ang string 'unbounded'. Ang default na halaga ay 1.

minOccurs

Opisyon. Tinutukoy ang pinakamaliit na bilang na kailangan ng any na elemento sa maglalarong elemento. Ang halaga ay dapat maging integer na mas malaki o katumbas ng isang. Upang itukoy na ang any na grupo ay opisyon, ilagay ang attribute na ito sa zero. Ang default ay 1.

namespace

Opisyon. Tinutukoy ang namespace na mayroon ang mga elemento na puwedeng gamitin. Kung hindi tinukoy ang namespace, ang default ay ##any. Kung tinukoy ang namespace, dapat maging isa sa sumusunod na halaga:

  • ##any - Ang mga elemento mula sa anumang namespace ay maaaring lumitaw (default).
  • ##other - Ang mga elemento mula sa anumang namespace kung saan ang maglalarong elemento ay walang target namespace ay maaaring lumitaw.
  • ##local - Ang mga elemento na hindi tinukoy ng namespace ay maaaring lumitaw.
  • ##targetNamespace - Ang mga elemento mula sa target namespace ng maglalarong elemento na naglalagay ng ito ay maaaring lumitaw.
  • {URI references of namespaces, ##targetNamespace, ##local} list - Ang mga elemento mula sa listahan ng namespace na nagsasagawa ng paghahati ng espasyo ay maaaring lumitaw. Ang listahan ay maaaring magkaroon ng sumusunod na nilalaman: URI reference ng namespace na ##targetNamespace at ##local.

processContents

Opisyon. Ang tagapagpahintulot na nagtutukoy kung paano ang application o XML processor ay dapat suriin ang validation ng XML dokumento sa pamamagitan ng mga elemento na tinukoy ng any na elemento. Kung hindi tinukoy ang attribute ng processContents, ang default ay strict. Kung tinukoy ang processContents, dapat maging isa sa mga sumusunod na halaga:

  • strict - Ang XML processor ay dapat makakuha ng kinakailangang arkitektura ng namespace, at dapat suriin ang lahat ng mga elemento mula sa mga namespace na ito. (Default)
  • lax - Katulad sa strict; ngunit, kahit na hindi makuha ang arkitektura, walang maling mangyari.
  • skip - Ang XML processor ay hindi magsusuri ng lahat ng mga elemento mula sa tinukoy na namespace.

any attributes

Opisyon. Tinutukoy ang kahit anong ibang mga attribute na may non-schema na pangalan ng namespace.

Eksemplo

Ang eksemplo ay nagpapakita ng isang pagdeklara ng "person" na elemento. Sa pamamagitan ng paggamit ng <any> na elemento, ang tagapaglikha ay maaaring magdagdag ng kahit anong elemento sa nilalaman ng "person" (pagkatapos ng <lastname>):

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>