[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
XML Quiz
- From: Roger L Costello <costello@mitre.org>
- To: "xml-dev@lists.xml.org" <xml-dev@lists.xml.org>
- 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]