XSD schema problem

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mahmoud

    XSD schema problem

    Hi all,
    I have a problem with xml that output from application I need to
    validate one of the values by using XSD schema
    The xml output like this

    <?xml version="1.0" encoding="UTF-8"?>
    <csv:csv xmlns:csv="http ://xmlns.myapplica tion.com/2007/message-format/
    csv"
    xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocat ion="http://xmlns.myapplica tion.com/2007/
    message-format/csv right.xsd" >
    <csv:line>
    <csv:field>I</csv:field>
    <csv:field>3871 </csv:field>
    <csv:field>0</csv:field"i want to check this value"
    <csv:field>2504 2008</csv:field>
    <csv:field>0</csv:field>
    <csv:field>4233 </csv:field>
    </csv:line>
    <csv:line>
    <csv:field>I</csv:field>
    <csv:field>3871 </csv:field>
    <csv:field>2904 2008</csv:field>
    <csv:field>2504 2008</csv:field>
    <csv:field>6600 183376</csv:field>
    <csv:field>4233 </csv:field>
    <csv:field/>
    </csv:line>
    <csv:line>
    <csv:field>I</csv:field>
    <csv:field>3871 </csv:field>
    <csv:field>2904 2008</csv:field>
    <csv:field>2504 2008</csv:field>
    </csv:line>
    </csv:csv>

    I get the XSD schema like this

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema xmlns:csv="http ://xmlns.myapplica tion.com/2007/message-
    format/csv" xmlns:xsi="http ://www.w3.org/2001/XMLSchema-instance"
    attributeFormDe fault="unqualif ied"
    elementFormDefa ult="qualified" targetNamespace ="http://
    xmlns.myapplica tion.com/2007/message-format/csv"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:element name="csv">
    <xs:complexType >
    <xs:sequence>
    <xs:element maxOccurs="unbo unded" name="line">
    <xs:complexType >
    <xs:sequence>
    <xs:element maxOccurs="unbo unded" name="field"
    type="xs:string " minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>


    But the problem that I want to check the value of the third tag
    <csv:fieldto know if it contain 0 or 1
    Can anyone help me on this
  • Martin Honnen

    #2
    Re: XSD schema problem

    Mahmoud wrote:
    But the problem that I want to check the value of the third tag
    <csv:fieldto know if it contain 0 or 1
    Can anyone help me on this
    You would need to change your schema substantially to use e.g.
    <xs:element name="field3">
    <xs:simpleTyp e>
    <xs:restricti on base="xs:int">
    <xs:maxInclusiv e value="1"/>
    <xs:minInclusiv e value="0"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:element>
    That is only possible if you choose different element names and types
    for the fields, that is not possible with one field element of type
    xs:string.


    --

    Martin Honnen --- MVP XML

    Comment

    • Mahmoud

      #3
      Re: XSD schema problem

      On May 6, 5:37 pm, Martin Honnen <mahotr...@yaho o.dewrote:
      Mahmoud wrote:
      But the problem that I want to check the value of the third tag
      <csv:fieldto know if it contain 0 or 1
      Can anyone help me on this
      >
      You would need to change your schema substantially to use e.g.
         <xs:element name="field3">
           <xs:simpleTyp e>
             <xs:restricti on base="xs:int">
               <xs:maxInclusiv e value="1"/>
               <xs:minInclusiv e value="0"/>
             </xs:restriction>
           </xs:simpleType>
         </xs:element>
      That is only possible if you choose different element names and types
      for the fields, that is not possible with one field element of type
      xs:string.
      >
      --
      >
              Martin Honnen --- MVP XML
             http://JavaScript.FAQTs.com/
      Thanks Martin for your reply
      But the problem that the xml doesn’t contain fields names as you see
      so I do not have element name “field3" so if you have any idea to get
      the third element it will be helpful

      Comment

      • Martin Honnen

        #4
        Re: XSD schema problem

        Mahmoud wrote:
        But the problem that the xml doesn’t contain fields names as you see
        so I do not have element name “field3" so if you have any idea to get
        the third element it will be helpful
        If you want to use the XSD schema language then you will need to change
        the schema you have and the XML you have.
        As an alternative you could use a language like Schematron to formulate
        the condition you have: http://www.schematron.com/

        --

        Martin Honnen --- MVP XML

        Comment

        Working...