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>