با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته آموزش schema را با عنصر any ادامه دادیم. طبق آنچه که در این جلسه فرا گرفتیم عنصر <any> ما را قادر به گسترش سند XML با استفاده عناصری می سازد که در schema مشخص نشده اند. اما در ادامه علاقمندان این دوره را به آموزش کار با عنصر anyAttribute در schema فرا می خوانیم.
اگر عنصر <any> ما را قادر به گسترش سند XML با استفاده عناصری می سازد که در schema مشخص نشده اند؛ در آن صورت می توان گفت عنصر anyAttribute ما را قادر به گسترش سند XML با استفاده attributes می سازد که در schema مشخص نگردیده اند.
همان طور که اشاره شد :
عنصر anyAttribute ما را قادر به گسترش سند XML با استفاده attributes می سازد که در schema مشخص نگردیده اند.
مثال زیر یک قطعه از یک XML schema به نام “family.xsd” است.
این یک اعلام برای عنصر “person” را نشان می دهد.
با استفاده از عنصر <anyAttribute> می توانیم هر تعداد عناصر را به عنصر “person” اضافه کنیم:
1 2 3 4 5 6 7 8 9 | <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> |
اگر بخواهیم عنصر “person” را با attribute مورد نظر خود یعنی “eyecolor” گسترش دهیم، حتی اگر نویسنده schema فوق هرگز attribute ما یعنی «eyecolor» را اعلام نکند باز هم می توانیم این کار را انجام دهیم.
به این فایل schema، به نام “attribute.xsd” توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="https://www.w3schools.com" xmlns="https://www.w3schools.com" elementFormDefault="qualified"> <xs:attribute name="eyecolor"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="blue|brown|green|grey"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:schema> |
در این جلسه با آموزش کار با عنصر anyAttribute در schema همراهتان بودیم.
جلسه بعدی که آخرین جلسه از از این سر فصل آموزشی است به آموزش جایگزینی عناصر می پردازیم.
با پی وی لرن همراه باشید.