2016-07-04 10 views
1

内の属性の使用を強制こんにちは私はこれが私のXSD
に属性を使用するように強制したいことは今、この属性XSD

属性はオプションです:

<xs:attribute name="namespace" type="xs:string"/> 
<xs:attribute name="uri" type="xs:string"/> 
<xs:attribute name="beforeMiddleware" type="xs:string"/> 
<xs:attribute name="afterMiddleware" type="xs:string"/> 
<xs:attribute name="accessLevel" type="xs:string"/> 

そして、私のXSDファイル:

<?xml version="1.0"?> 
<xs:schema 
     xmlns:xs="http://www.w3.org/2001/XMLSchema" 
     version="1.0" 
     elementFormDefault="qualified" 
     targetNamespace="grif:route" 
> 

    <xs:element name="routes"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="group" minOccurs="0" maxOccurs="unbounded"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element name="route" minOccurs="0" maxOccurs="unbounded"> 
           <xs:complexType> 
            <xs:complexContent> 
             <xs:restriction base="xs:string"> 
              <xs:attribute name="action" type="xs:string"/> 
              <xs:attribute name="uri" type="xs:string"/> 
              <xs:attribute name="method" type="methodList" default="GET"/> 
             </xs:restriction> 
            </xs:complexContent> 
           </xs:complexType> 
          </xs:element> 
         </xs:sequence> 

         <xs:attribute name="namespace" type="xs:string"/> 
         <xs:attribute name="uri" type="xs:string"/> 
         <xs:attribute name="beforeMiddleware" type="xs:string"/> 
         <xs:attribute name="afterMiddleware" type="xs:string"/> 
         <xs:attribute name="accessLevel" type="xs:string"/> 
        </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 


    <xs:simpleType name="methodList"> 
     <xs:restriction base="xs:string"> 
      <xs:enumeration value="GET" /> 
      <xs:enumeration value="POST" /> 
      <xs:enumeration value="PUT" /> 
      <xs:enumeration value="HEAD" /> 
      <xs:enumeration value="DELETE" /> 
      <xs:enumeration value="CONNECT" /> 
      <xs:enumeration value="OPTIONS" /> 
      <xs:enumeration value="TRACE" /> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:schema> 

私の例のXMLファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?> 
<routes xmlns="grif:route"> 
    <group uri="/magazine" namespace="\Grif\Beans\BlogBeans" beforeMiddleware="LoginAuth"> 
     <route method="POST" action="[email protected]" uri="/showNews" /> 
     <route method="GET" action="[email protected]" uri="/news" /> 
    </group> 


    <group uri="/magazine/gallery" namespace="\Grif\Beans\MagazineBeans" accessLevel="ADMIN_ROLE"> 
     <route action="[email protected]" uri="/showGallery" /> 
    </group> 
</routes> 

属性を強制的に使用するように変更するにはどうすればよいですか?
属性を強制的に使用するように変更するにはどうすればいいですか?
属性を強制的に使用するように変更するにはどうすればいいですか?

答えて

関連する問題