[Home] [By Thread] [By Date] [Recent Entries]

  • From: Roger L Costello <costello@m...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Sun, 26 Mar 2023 14:40:01 +0000

Scenario: an XML Schema has this top-level element declaration:

<xs:element name="num" type="xs:integer"/>

An XML Schema validator is provided two files:

1. An XML Schema file that contains the above element declaration.
2. An XML file containing this:

<num>44</num>

The XML Schema validator is "executed". It proceeds to determine whether the XML conforms to the XML Schema. 

Within the <num> element the validator sees this sequence of characters '4' '4'. 

Is '4' '4' an integer? 

Clearly it is not. It is a string that consists of two characters. 

So how does the validator decide that 44 **represents** an integer?

Scroll down to see the answer ...














Answer: the XML Schema validator determines that the content (44) of the <num> element is an xs:integer because the content obeys the syntax of xs:integer. That is, the string within the <num> element obeys this regular expression:  [+-]?[0-9]+ 

Recap:
1. 44 is not an integer. It is a string.
2. XML does not contain integers (or floats or booleans or URLs or anything else). XML only contains a sequence of characters.
3. An application -- such as an XML Schema validator -- determines that 44 is an integer by checking 44 against a regular expression for integers. That is, the validator sees if 44 obeys the syntax of xs:integer.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member