When it says "the pattern", it is referring to the dfdl:calendarPattern
property.

For your second question, that pattern is allowed to have pattern
letters than can represent parts of a date/time as a string. One example
of this is the M pattern letter. If your pattern contains three or four
M's, then Daffodil parses three letter months (e.g. Jan) or full months
(e.g. January), respectively.

So the calendarPattern of "dd MMMM yyyy" parse/unparse data like this:

  01 January 1970

with an infoset like this:

  <date>1970-01-01</date>

For these pattern letters that have textual representations,
calendarLanguage will parse/unparse only those strings in that language.
So for the same pattern above but with a calendarLanguage="es"
(spanish), it would parse/unparse data like this:

 01 Enero 1970

with the same infoset as bove.

Note that we don't translate quoted strings in the pattern. So if you
have the pattern:

  'The 'dd' day of 'MMMM' in year '1970

only the MMMM here follows the calenadrLanguage. So data that would be
parsed/unparsed would look something like:

  The 01 day of Enero in year 1970

So it's important that quoted strings used in calendarPattern match the
language defined in calendarLanguage, since they aren't automatically
translated.

- Steve


On 8/19/20 2:55 PM, Roger L Costello wrote:
> Hi Folks,
> 
> The spec says this about calendarLanguage:
> 
>       The language that is used when the
>       pattern produces a presentation in
>       text.   
> 
> Huh? 
> 
> "the pattern" ... Huh? What pattern? calendarPattern?
> 
> "the pattern produces a presentation in text" ... Huh? I don't even know what 
> question to ask. 
> 
> Let me guess what the spec is saying:
> 
> Suppose:
> 
> calendarPattern=" 'The executable was created on 'MMMM dd',' yyyy 'at' 
> hh:mm:ss"
>  
> and 
> 
> calendarLanguage="German"
> 
> Then the parser should convert the English text in calendarPattern to German. 
> Is that it? Is that what calendarLanguage directs the parser to do?
> 
> /Roger
> 

Reply via email to