<?xml version="1.0"?> <xsd:schema targetNamespace="http://www.w3.org/2001/02/xforms" xmlns:xform="http://www.w3.org/2001/02/xforms" xmlns="http://www.w3.org/2001/02/xforms" xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="qualified"> <!-- <xsd:schema> �G�������g���g�����߂ɂ́AXMLSchema�̂��߂̃X�L�[�}���C���|�[�g���邱�ƁB --> <xsd:import namespace="http://www.w3.org/2000/10/XMLSchema"/> <!-- XForms��<model>�G�������g�A����т��̒��Ɋ܂܂�� �S�Ă̂��߂̃X�L�[�}���`����B����ɂ�XForms�Œ�`���ꂽ �f�[�^�^�ƁA���I�Ȓl�������A���s���ɕω�������XForms�d�l�v���p�e�B ���܂܂��B�����ɂ͂���1��XML�V���^�b�N�X�Ƃ��āA XForms���f���̃G�������g�̒�`�ɗp���邱�Ƃ��ł��� XForms��simple�V���^�b�N�X�̒�`���܂܂��B --> <!-- XForms�\���G�������g��` --> <!-- xform�R���e�i�G�������g�̒�` --> <xsd:element name="xform"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="model"/> <xsd:element ref="instance"/> <xsd:element ref="submit"/> <xsd:element ref="bind"/> </xsd:choice> <xsd:attribute name="id" type="xsd:ID" use="optional"/> </xsd:complexType> </xsd:element> <!-- �g�b�v���x����model�G�������g�̒�` --> <xsd:element name="model"> <xsd:complexType> <xsd:choice> <xsd:element ref="xsd:schema"/> <xsd:element ref="simple"/> <xsd:sequence> <xsd:element ref="xsd:schema"/> <xsd:element ref="simple"/> </xsd:sequence> </xsd:choice> <xsd:attribute name="id" type="xsd:ID" use="optional"/> <xsd:attribute name="name" type="xsd:NCName" use="optional"/> <xsd:attribute name="href" type="xsd:uriReference" use="optional"/> </xsd:complexType> </xsd:element> <!-- �g�b�v���x����instance�G�������g�̒�` --> <xsd:element name="instance"> <xsd:complexType> <xsd:sequence> <xsd:any namespace="##other" processContents="skip" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> <xsd:attribute name="model" type="xsd:IDREF" use="optional"/> <xsd:attribute name="href" type="xsd:uriReference" use="optional"/> </xsd:complexType> </xsd:element> <!-- submitExtension �G�������g�̒�`�B SubmitExtension �Ɋ܂܂��G�������g�̓l�[���X�y�[�X��qualify����Ă��Ȃ���Ȃ�Ȃ��B �͎��l�[���X�y�[�X���������ꂸ�A����mustUnderstand ������true�ɃZ�b�g����Ă���A����Submit �̓��e�͎g�p�����ׂ��ł͂Ȃ��B --> <!-- --> <xsd:element name="submitExtension"> <xsd:complexType> <xsd:sequence> <xsd:any namespace="##other" processContents="skip"/> </xsd:sequence> <xsd:attribute name="mustUnderstand" type="xsd:boolean" use="optional" value="true"/> </xsd:complexType> </xsd:element> <!-- �g�b�v���x����submit�G�������g�̒�` --> <xsd:element name="submit"> <xsd:complexType> <xsd:sequence> <xsd:element ref="submitExtension" minOccurs="0" maxOccurs="unbounded"/> <!-- allow zero or more submitExtension elements --> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> <xsd:attribute name="target" type="xsd:uriReference" use="required"/> <xsd:attribute name="method" type="xsd:string" use="optional"/> </xsd:complexType> </xsd:element> <!-- �g�b�v���x����bind�G�������g�̒�` --> <xsd:element name="bind"> <xsd:complexType> <xsd:attribute name="id" type="xsd:ID" use="optional"/> <xsd:attribute name="ref" type="xsd:string" use="optional"/> </xsd:complexType> </xsd:element> <!-- XForms���^�̒�`�B ���l: ����XML Schema��p���Ď���������@���������ꍇ�� �i�����炭������������ƃp�^�[���̑g�ݍ��킹�ʼn\�ł���j�A ��X��������(expression language)�Ƀt�B�b�g������̂��`����ۂɂ́A ����͖{����XForm���^�ɒu��������K�v������B --> <xsd:simpleType name="xfmExpr"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <!-- �����O���[�v��`�ŗp������XForms�^�B ���l: �����͑S��xfmExpr����̒P���Ȕh���^�ł���B ����XML Schema��p���Ă���������������@���������ꍇ�ɂ́A ��X�͖]�܂ꂽ�^�̌��ʂɋ�������悤�ɕύX���Ȃ���Ȃ�Ȃ��B --> <!-- String�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AstringExpr�^�̒�` --> <xsd:simpleType name="stringExpr"> <xsd:union memberTypes="xsd:string xfmExpr" /> </xsd:simpleType> <!-- Boolean�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AboolExpr�^�̒�` --> <xsd:simpleType name="boolExpr"> <xsd:union memberTypes="xsd:boolean xfmExpr" /> </xsd:simpleType> <!-- Number�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AnumberExpr�^�̒�` --> <xsd:simpleType name="numberExpr"> <xsd:union memberTypes="xsd:decimal xfmExpr" /> </xsd:simpleType> <!-- ���̐����l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������ApositiveIntExpr�^�̒�` --> <xsd:simpleType name="positiveIntExpr"> <xsd:union memberTypes="xsd:positiveInteger xfmExpr" /> </xsd:simpleType> <!-- Date�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AdateExpr�^�̒�` --> <xsd:simpleType name="dateExpr"> <xsd:union memberTypes="xsd:date xfmExpr" /> </xsd:simpleType> <!-- Time�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AtimeExpr�^�̒�` --> <xsd:simpleType name="timeExpr"> <xsd:union memberTypes="xsd:time xfmExpr" /> </xsd:simpleType> <!-- Duration�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AdurationExpr�^�̒�` --> <xsd:simpleType name="durationExpr"> <xsd:union memberTypes="xsd:timeDuration xfmExpr" /> </xsd:simpleType> <!-- �C�ӂ̐���scheme�l�������X�g��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������A schemeExpr�^�̒�`�B �X�L�[����URI�̒l��Ԃ�����URI�X�L�[���Ɍ��肷�邽�߂ɗp����B --> <xsd:simpleType name="schemeType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-z]+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="schemeExpr"> <xsd:union memberTypes="schemeType xfmExpr" /> </xsd:simpleType> <!-- URI�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AuriExpr�^�̒�` --> <xsd:simpleType name="uriExpr"> <xsd:union memberTypes="xsd:uriReference xfmExpr" /> </xsd:simpleType> <!-- �C�ӂ̐���mediaType�l�������X�g��Ԃ��Ȃ���Ȃ�Ȃ����� �p������AmediaTypeExpr�^�̒�`�B ���f�B�A�^�C�v�̓o�C�i���G�������g�̒l��Ԃ�1�ȏ��MIME ���f�B�A�^�C�v�Ɍ��肷�邽�߂ɗp����B --> <xsd:simpleType name="mediaTypeType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-z]+/[a-z]+"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="mediaTypeExpr"> <xsd:union memberTypes="mediaTypeType xfmExpr" /> </xsd:simpleType> <!-- Binary�l��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������AbinaryExpr�^�̒�` --> <xsd:simpleType name="binaryExpr"> <xsd:union memberTypes="xsd:binary xfmExpr" /> </xsd:simpleType> <!-- 3��������Ȃ�P��̒ʉ݃R�[�h��Ԃ��Ȃ���Ȃ�Ȃ����ŗp������A currencyType�^�̒�` --> <xsd:simpleType name="currencyType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[A-Z]{3}"/> </xsd:restriction> </xsd:simpleType> <!-- �C�ӂ̐���3��������Ȃ�ʉ݃R�[�h�������X�g��Ԃ��Ȃ���� �Ȃ�Ȃ����ŗp������AcurrencyExpr�^�̒�` --> <xsd:simpleType name="currencyExpr"> <xsd:union memberTypes="currencyType xfmExpr" /> </xsd:simpleType> <!-- XForms�d�l�v���p�e�B�����O���[�v --> <xsd:attributeGroup name="XFSPcommonMinusEnum"> <xsd:attribute name="id" type="xsd:ID" use="optional"/> <xsd:attribute name="required" type="boolExpr" use="default" value="false"/> <xsd:attribute name="readOnly" type="boolExpr" use="default" value="false"/> <xsd:attribute name="relevant" type="boolExpr" use="default" value="true"/> <xsd:attribute name="validate" type="boolExpr" use="default" value="true"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcommon"> <xsd:attributeGroup ref="XFSPcommonMinusEnum"/> <xsd:attribute name="enum" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="open"/> <xsd:enumeration value="closed"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPname"> <xsd:attribute name="name" type="xsd:NCName" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcommonMinusEnumSimple"> <xsd:attributeGroup ref="XFSPname"/> <xsd:attributeGroup ref="XFSPcommonMinusEnum"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcommonSimple"> <xsd:attributeGroup ref="XFSPname"/> <xsd:attributeGroup ref="XFSPcommon"/> </xsd:attributeGroup> <!-- @calculate��@choices���`���鑮���O���[�v�B choices�͗��ꂽ�A���s���̓K�Ɍ^�t�����ꂽ�l�̃��X�g��Ԃ����B calculate�͎��s���̐������^�̒l��1�Ԃ��B --> <xsd:attributeGroup name="XFSPcalcAndChoices"> <xsd:attribute name="calculate" type="xfmExpr" use="optional"/> <xsd:attribute name="choices" type="xfmExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesString"> <xsd:attribute name="calculate" type="stringExpr" use="optional"/> <xsd:attribute name="choices" type="stringExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesBoolean"> <xsd:attribute name="calculate" type="boolExpr" use="optional"/> <xsd:attribute name="choices" type="boolExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesNumber"> <xsd:attribute name="calculate" type="numberExpr" use="optional"/> <xsd:attribute name="choices" type="numberExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesDate"> <xsd:attribute name="calculate" type="dateExpr" use="optional"/> <xsd:attribute name="choices" type="dateExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesTime"> <xsd:attribute name="calculate" type="timeExpr" use="optional"/> <xsd:attribute name="choices" type="timeExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesDuration"> <xsd:attribute name="calculate" type="durationExpr" use="optional"/> <xsd:attribute name="choices" type="durationExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesURI"> <xsd:attribute name="calculate" type="uriExpr" use="optional"/> <xsd:attribute name="choices" type="uriExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesBinary"> <xsd:attribute name="calculate" type="binaryExpr" use="optional"/> <xsd:attribute name="choices" type="binaryExpr" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="XFSPcalcAndChoicesCurrency"> <xsd:attribute name="calculate" type="currencyExpr" use="optional"/> <xsd:attribute name="choices" type="currencyExpr" use="optional"/> </xsd:attributeGroup> <!-- Number�����Money�ɓK�p --> <xsd:attributeGroup name="XFSPmmNumber"> <xsd:attribute name="minInclusive" type="numberExpr" use="optional"/> <xsd:attribute name="minExclusive" type="numberExpr" use="optional"/> <xsd:attribute name="maxInclusive" type="numberExpr" use="optional"/> <xsd:attribute name="maxExclusive" type="numberExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <xsd:attributeGroup name="XFSPmmNumberSimple"> <xsd:attribute name="min" type="numberExpr" use="optional"/> <xsd:attribute name="max" type="numberExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <!-- Date�ɓK�p --> <xsd:attributeGroup name="XFSPmmDate"> <xsd:attribute name="minInclusive" type="dateExpr" use="optional"/> <xsd:attribute name="minExclusive" type="dateExpr" use="optional"/> <xsd:attribute name="maxInclusive" type="dateExpr" use="optional"/> <xsd:attribute name="maxExclusive" type="dateExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <xsd:attributeGroup name="XFSPmmDateSimple"> <xsd:attribute name="min" type="dateExpr" use="optional"/> <xsd:attribute name="max" type="dateExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <!-- Duration�ɓK�p --> <xsd:attributeGroup name="XFSPmmDuration"> <xsd:attribute name="minInclusive" type="durationExpr" use="optional"/> <xsd:attribute name="minExclusive" type="durationExpr" use="optional"/> <xsd:attribute name="maxInclusive" type="durationExpr" use="optional"/> <xsd:attribute name="maxExclusive" type="durationExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <xsd:attributeGroup name="XFSPmmDurationSimple"> <xsd:attribute name="min" type="durationExpr" use="optional"/> <xsd:attribute name="max" type="durationExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <!-- Time�ɓK�p --> <xsd:attributeGroup name="XFSPmmTime"> <xsd:attribute name="minInclusive" type="timeExpr" use="optional"/> <xsd:attribute name="minExclusive" type="timeExpr" use="optional"/> <xsd:attribute name="maxInclusive" type="timeExpr" use="optional"/> <xsd:attribute name="maxExclusive" type="timeExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <xsd:attributeGroup name="XFSPmmTimeSimple"> <xsd:attribute name="min" type="timeExpr" use="optional"/> <xsd:attribute name="max" type="timeExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <!-- String, Binary, URI�ɓK�p --> <xsd:attributeGroup name="XFSPlengthNumber"> <xsd:attribute name="length" type="positiveIntExpr" use="optional"/> <xsd:attribute name="minLength" type="positiveIntExpr" use="optional"/> <xsd:attribute name="maxLength" type="positiveIntExpr" use="optional"/> </xsd:attributeGroup> <!-- --> <!-- Number�����Money�ɓK�p --> <xsd:attributeGroup name="XFSPspNumber"> <xsd:attribute name="scale" type="positiveIntExpr" use="optional"/> <xsd:attribute name="precision" type="positiveIntExpr" use="optional"/> </xsd:attributeGroup> <!-- �X�L�[�}�V���^�b�N�X�ɂ��A���f���̂��߂�XForms��{�f�[�^�^ --> <!-- string�^�̒�` --> <xsd:complexType name="string"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPlengthNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesString"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- boolean�^�̒�` --> <xsd:complexType name="boolean"> <xsd:simpleContent> <xsd:extension base="xsd:boolean"> <xsd:attributeGroup ref="XFSPcommonMinusEnum"/> <xsd:attribute name="calculate" type="boolExpr" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- number�^�̒�` --> <xsd:complexType name="number"> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPmmNumber"/> <xsd:attributeGroup ref="XFSPspNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesNumber"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- currency�^�̒�` --> <xsd:complexType name="currency"> <xsd:simpleContent> <xsd:extension base="currencyType"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesCurrency"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- money�^�̒�` �I���� B: �����f�[�^�^ --> <xsd:complexType name="money"> <xsd:sequence> <xsd:element name="value"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="calculate" type="numberExpr"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="currency"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="currencyType"> <xsd:attribute name="calculate" type="currencyExpr"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="allowCurrency" type="currencyExpr" minOccurs="0" maxOccurs="unbounded"/> <!-- money�̒l��Ԃ𐧌�����C�ӂ̐���allowCurrency�G�������g --> </xsd:sequence> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPmmNumber"/> <xsd:attributeGroup ref="XFSPspNumber"/> </xsd:complexType> <!-- date�^�̒�` --> <xsd:complexType name="date"> <xsd:simpleContent> <xsd:extension base="xsd:date"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPmmDate"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesDate"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- time�^�̒�` --> <xsd:complexType name="time"> <xsd:simpleContent> <xsd:extension base="xsd:time"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPmmTime"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesTime"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- duration�^�̒�` --> <xsd:complexType name="duration"> <xsd:simpleContent> <xsd:extension base="xsd:timeDuration"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPmmDuration"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesDuration"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- --> <!-- uri�^�̒�` --> <xsd:complexType name="uri"> <xsd:simpleContent> <xsd:extension base="xsd:uriReference"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPlengthNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesURI"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- binary�^�̒�` --> <xsd:complexType name="binary"> <xsd:simpleContent> <xsd:extension base="xsd:binary"> <xsd:attributeGroup ref="XFSPcommon"/> <xsd:attributeGroup ref="XFSPlengthNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesBinary"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <!-- XForms simple�V���^�b�N�X�̃G�������g��` �\���G�������g�A�f�[�^�^�G�������g�Ƒ��� --> <!-- simple�V���^�b�N�X�G�������g�̒�`���܂�simple�G�������g�̒�` --> <xsd:element name="simple"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="string"/> <xsd:element ref="boolean"/> <xsd:element ref="number"/> <xsd:element ref="currency"/> <xsd:element ref="money"/> <xsd:element ref="date"/> <xsd:element ref="time"/> <xsd:element ref="duration"/> <xsd:element ref="uri"/> <xsd:element ref="binary"/> <xsd:element ref="element"/> <xsd:element ref="array"/> <xsd:element ref="group"/> <xsd:element ref="switch"/> <xsd:element ref="union"/> </xsd:choice> <xsd:attribute name="id" type="xsd:ID" use="optional"/> <xsd:attribute name="name" type="xsd:NCName" use="optional"/> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����group�G�������g�̒�` --> <xsd:element name="group"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="string"/> <xsd:element ref="boolean"/> <xsd:element ref="number"/> <xsd:element ref="currency"/> <xsd:element ref="money"/> <xsd:element ref="date"/> <xsd:element ref="time"/> <xsd:element ref="duration"/> <xsd:element ref="uri"/> <xsd:element ref="binary"/> <xsd:element ref="element"/> <xsd:element ref="switch"/> <xsd:element ref="union"/> </xsd:choice> <xsd:attributeGroup ref="XFSPname"/> </xsd:complexType> </xsd:element> <!-- array�ŗp������occurs�����O���[�v --> <xsd:attributeGroup name="occurs"> <xsd:attribute name="minOccurs" use="default" value="1"> <xsd:simpleType> <xsd:union memberTypes="xfmExpr xsd:nonNegativeInteger"/> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="maxOccurs" use="default" value="1"> <xsd:simpleType> <xsd:union memberTypes="xfmExpr xsd:nonNegativeInteger"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="unbounded"/> </xsd:restriction> </xsd:simpleType> </xsd:union> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <!-- simple�V���^�b�N�X�ɂ�����array�G�������g�̒�` ���_: switch��union�������ׂ���? --> <xsd:element name="array"> <xsd:complexType> <xsd:choice> <xsd:element ref="string"/> <xsd:element ref="boolean"/> <xsd:element ref="number"/> <xsd:element ref="currency"/> <xsd:element ref="money"/> <xsd:element ref="date"/> <xsd:element ref="time"/> <xsd:element ref="duration"/> <xsd:element ref="uri"/> <xsd:element ref="binary"/> <xsd:element ref="element"/> </xsd:choice> <xsd:attribute name="name" type="xsd:NCName" use="optional"/> <xsd:attributeGroup ref="occurs"/> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����union�G�������g�̒�` ���l: <union> �̂��߂̃X�L�[�}�́A���̎q�f�[�^�^��name������v������B ���̃X�L�[�}���A�P�ɂ�����`���邽�߂ɍė��p���邽�߂ł���B ���̎w��ł�name�͎q�f�[�^�^�ɂ͕K�{�łȂ��Ƃ��Ă���B ����͏����̃o�[�W�����ŏC�������\��́A�F������Ă���s��ł���B --> <xsd:element name="union"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="string"/> <xsd:element ref="boolean"/> <xsd:element ref="number"/> <xsd:element ref="currency"/> <xsd:element ref="money"/> <xsd:element ref="date"/> <xsd:element ref="time"/> <xsd:element ref="duration"/> <xsd:element ref="uri"/> <xsd:element ref="binary"/> </xsd:choice> <xsd:attributeGroup ref="XFSPname"/> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����switch�G�������g�̒�` --> <xsd:element name="switch"> <xsd:complexType> <xsd:sequence> <xsd:element name="case" maxOccurs="unbounded"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element ref="string"/> <xsd:element ref="boolean"/> <xsd:element ref="number"/> <xsd:element ref="currency"/> <xsd:element ref="money"/> <xsd:element ref="date"/> <xsd:element ref="time"/> <xsd:element ref="duration"/> <xsd:element ref="uri"/> <xsd:element ref="binary"/> <xsd:element ref="element"/> <xsd:element ref="group"/> <xsd:element ref="array"/> </xsd:choice> <xsd:attributeGroup ref="XFSPname"/> <xsd:attribute name="condition" type="xfmExpr" use="optional"/> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attributeGroup ref="XFSPname"/> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����element�G�������g�̒�` --> <xsd:element name="element" id="element"> <xsd:complexType> <xsd:attribute name="type" type="xsd:QName" use="required"/> <xsd:attributeGroup ref="XFSPcommonMinusEnumSimple"/> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ł̂�string�����currency�ɗp������ mask�t�@�Z�b�g�̒�`�B WAP/WML��format���������f���ɂ��Ă���B --> <xsd:simpleType name="maskType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="((A|a|X|x|N|n|M|m)|(\\.))*([0-9\*](A|a|X|x|N|n|M|m))?"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="maskExpr"> <xsd:union memberTypes="maskType xfmExpr"/> </xsd:simpleType> <!-- simple�V���^�b�N�X�ɂ�����string�G�������g�̒�` --> <xsd:element name="string" id="string"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPlengthNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesString"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����boolean�G�������g�̒�` --> <xsd:element name="boolean"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:boolean"> <xsd:attributeGroup ref="XFSPcommonMinusEnumSimple"/> <xsd:attribute name="calculate" type="boolExpr" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����number�G�������g�̒�` --> <xsd:element name="number"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPmmNumberSimple"/> <xsd:attributeGroup ref="XFSPspNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesNumber"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- TBD: mask��currency�G�������g�őO��Ƃ��ċ�����Ă��邪�Acurrency�G�������g��money�̈ꕔ�ł���ꍇ�ɂ���������ׂ����낤��? --> <!-- simple�V���^�b�N�X�ɂ�����currency�G�������g�̒�` --> <xsd:element name="currency"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="currencyType"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPcalcAndChoices"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����money�G�������g�̒�` �I���� B: �����f�[�^�^ --> <xsd:element name="money"> <xsd:complexType> <xsd:sequence> <xsd:element name="value"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:decimal"> <xsd:attribute name="calculate" type="numberExpr"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="currency"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="currencyType"> <xsd:attribute name="calculate" type="currencyExpr"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="allowCurrency" type="currencyExpr" minOccurs="0" maxOccurs="unbounded"/> <!-- allow zero or more allowCurrency elements to restrict the value space of money. --> </xsd:sequence> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPmmNumberSimple"/> <xsd:attributeGroup ref="XFSPspNumber"/> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����date�G�������g�̒�` --> <xsd:element name="date"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:date"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPmmDateSimple"/> <xsd:attribute name="precision" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="years"/> <xsd:enumeration value="months"/> <xsd:enumeration value="days"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attributeGroup ref="XFSPcalcAndChoicesDate"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����time�G�������g�̒�` --> <xsd:element name="time"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:time"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPmmTimeSimple"/> <xsd:attribute name="precision" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="hours"/> <xsd:enumeration value="minutes"/> <xsd:enumeration value="seconds"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attributeGroup ref="XFSPcalcAndChoicesTime"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����duration�G�������g�̒�` --> <xsd:element name="duration"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:timeDuration"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPmmDurationSimple"/> <xsd:attribute name="precision" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="years"/> <xsd:enumeration value="months"/> <xsd:enumeration value="days"/> <xsd:enumeration value="hours"/> <xsd:enumeration value="minutes"/> <xsd:enumeration value="seconds"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attributeGroup ref="XFSPcalcAndChoicesDuration"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����uri�G�������g�̒�` --> <xsd:element name="uri"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:uriReference"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPlengthNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesURI"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <!-- simple�V���^�b�N�X�ɂ�����binary�G�������g�̒�` --> <xsd:element name="binary"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:binary"> <xsd:attributeGroup ref="XFSPcommonSimple"/> <xsd:attributeGroup ref="XFSPlengthNumber"/> <xsd:attributeGroup ref="XFSPcalcAndChoicesBinary"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:schema> |