XML Schema anyAttribute ÔªËØ

¶¨ÒåºÍÓ÷¨

anyAttribute ÔªËØÊ¹´´×÷Õß¿ÉÒÔͨ¹ýδ±» schema ¹æ¶¨µÄÊôÐÔÀ´À©Õ¹ XML Îĵµ¡£

ÔªËØÐÅÏ¢

ÏîÄ¿ ˵Ã÷
³öÏÖ´ÎÊý ÎÞÏÞÖÆ
¸¸ÔªËØ complexType¡¢restriction (simpleContent)¡¢extension (simpleContent)¡¢restriction (complexContent)¡¢extension (complexContent)¡¢attributeGroup
ÄÚÈÝ annotation

Óï·¨

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
any attributes
>

(annotation?)

</anyAttribute>

£¨? ·ûºÅÉùÃ÷¸ÃÔªËØ¿ÉÔÚ anyAttribute ÔªËØÄÚ³öÏÖÁã´Î»òÒ»´Î¡££©

ÊôÐÔ

id

¿ÉÑ¡¡£¹æ¶¨¸ÃÔªËØµÄΨһµÄ ID¡£

namespace

¿ÉÑ¡¡£¹æ¶¨°üº¬¿ÉÒÔʹÓõÄÔªËØµÄÃüÃû¿Õ¼ä¡£Èç¹ûûÓÐÖ¸¶¨ÃüÃû¿Õ¼ä£¬Ôò ##any ΪĬÈÏÖµ¡£Èç¹ûÖ¸¶¨ÃüÃû¿Õ¼ä£¬Ôò±ØÐëÊÇÒÔÏÂÖµÖ®Ò»¡£

  • ##any - À´×ÔÈκÎÃüÃû¿Õ¼äµÄÔªËØ¶¼¿ÉÒÔ³öÏÖ£¨Ä¬ÈÏ£©¡£
  • ##other - À´×Ô¸ÃÔªËØµÄ¸¸ÔªËصÄÄ¿±êÃüÃû¿Õ¼äÖ®ÍâµÄÈκÎÃüÃû¿Õ¼äµÄÔªËØ¶¼¿ÉÒÔ³öÏÖ¡£
  • ##local - δÓÉÃüÃû¿Õ¼äÏÞ¶¨µÄÔªËØ¿ÉÒÔ³öÏÖ¡£
  • ##targetNamespace - À´×Ô°üº¬¸ÃÔªËØµÄ¸¸ÔªËصÄÄ¿±êÃüÃû¿Õ¼äµÄÔªËØ¿ÉÒÔ³öÏÖ¡£
  • {URI references of namespaces, ##targetNamespace, ##local} µÄÁбí - À´×Ôͨ¹ý¿Õ¸ñ·Ö¸ôµÄÃüÃû¿Õ¼äÁбíµÄÔªËØ¿ÉÒÔ³öÏÖ¡£ ¸ÃÁбí¿ÉÒÔ°üº¬ÒÔÏÂÄÚÈÝ£º ÃüÃû¿Õ¼ä ##targetNamespace ºÍ ##local µÄ URI ÒýÓá£

processContents

¿ÉÑ¡¡£Ò»¸öָʾ·û£¬Ö¸Ê¾Ó¦ÓóÌÐò»ò XML ´¦ÀíÆ÷Ó¦ÈçºÎ¸ù¾ÝÓɸà any ÔªËØÖ¸¶¨µÄÔªËØ´¦Àí XML ÎĵµµÄÑéÖ¤¡£ Èç¹ûûÓÐÖ¸¶¨ processContents ÊôÐÔ£¬ÔòĬÈÏΪ strict¡£ Èç¹ûÖ¸¶¨ÁË processContents£¬±ØÐëÊÇÒÔÏÂÖµÖ®Ò»¡£

  • strict - XML ´¦ÀíÆ÷±ØÐë»ñµÃËùÐèÃüÃû¿Õ¼äµÄ¼Ü¹¹£¬²¢ÇÒ±ØÐëÑéÖ¤À´×ÔÕâЩÃüÃû¿Õ¼äµÄËùÓÐÔªËØ¡££¨Ä¬ÈÏ£©
  • lax - Óë strict Ïàͬ£»µ«ÊÇ£¬¼´Ê¹²»ÄÜ»ñÈ¡¸Ã¼Ü¹¹£¬Ò²²»»á·¢ÉúÈκδíÎó¡£
  • skip - XML ´¦ÀíÆ÷²»³¢ÊÔÑéÖ¤À´×ÔÖ¸¶¨ÃüÃû¿Õ¼äµÄËùÓÐÔªËØ¡£

any attributes

¿ÉÑ¡¡£¹æ¶¨´øÓÐ non-schema ÃüÃû¿Õ¼äµÄÈÎºÎÆäËûÊôÐÔ¡£

ʵÀý

ÏÂÃæµÄÀý×ÓչʾÁËÕë¶Ô "person" ÔªËØµÄÒ»¸öÉùÃ÷¡£Í¨¹ýʹÓà <anyAttribute> ÔªËØ£¬´´×÷ÕßÄܹ»Ïò "person" ÔªËØÌí¼ÓÈÎÒâÊýÁ¿µÄÊôÐÔ£º

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    <xs:anyAttribute/>
  </xs:complexType>
</xs:element>
VUE