OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

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


Subject: Re: [xri] Bug in pseudocode?


I think you are saying that you need a Foreach X in Type, MediaType, Path, right?

    - Gabe

On Sun, Feb 24, 2008 at 10:39 PM, Drummond Reed <drummond.reed@cordance.net> wrote:

From: gwachob@gmail.com [mailto:gwachob@gmail.com] On Behalf Of Gabe Wachob
Sent: Sunday, February 24, 2008 4:46 PM
To: XRI TC
Subject: [xri] Bug in pseudocode?

 

Can't quite figure out the pseudocode here (in sec 13.6):

 IF Present.x=FALSE     ;see 12.3.3
2668   IF nodefault_x != TRUE   ;see 10.3.2
2669    SET Default.x=TRUE
2670   ENDIF
2671  ENDIF

It looks like maybe this stuff should be INSIDE the initial FOR loop? Otherwise x is not defined?

I'm trying to implement this stuff...

   -Gabe

[=Drummond] Gabe, good catch nobody noticed that since we added section 7 right at the end of the CD02 cycle, we needed to update all the section references in the pseudocode (they are hand-coded references and not bookmarks).

 

Below is an update to the pseudocode text with all the references updated.

 

RE the Present.x and nodefault_x references you cite above, the "x" just stands for "Type, Path, or Mediatype" as was defined above nobody thought we needed to redefine it. Maybe we need to take that definition out of the previous FOR loop and put it at the very start so it's clear it's a global definition? We just used "x" because it made the code much more compact than calling out three separate loops, one for Type, one for Path, and one for Mediatype.

 

I'm wide open to your suggestions for how best to improve this.

 

=Drummond

 

FOR EACH SEP

  CREATE set of SEL match flags

  SET all flags to FALSE

  FOR EACH SEL of category x (where x=Type, Path, or Mediatype)

         SET Present.x=TRUE

         IF match on this SEL is POSITIVE

               IF select="true"                  ;see 13.4.2

                      ADD SEP TO SELECTED SET

                      NEXT SEP

               ELSE

                      SET Positive.x=TRUE

               ENDIF

         ELSEIF match on this SEL is DEFAULT      ;see 13.3.2

               IF Positive.x != TRUE AND

               nodefault != x                    ;see 13.3.5

                      SET Default.x=TRUE

               ENDIF

         ENDIF

  ENDFOR

  IF Present.x=FALSE                              ;see 13.3.3

         IF nodefault_x != TRUE                   ;see 13.3.2

               SET Default.x=TRUE

         ENDIF

  ENDIF

  IF Positive.Type=TRUE AND

     Positive.Path=TRUE AND

     Positive.Mediatype=TRUE                      ;see 13.4.3

         ADD SEP TO SELECTED SET

         NEXT SEP

  ELSEIF SELECTED SET != EMPTY                    ;see 13.5.1

         NEXT SEP

  ELSEIF (Positive.Type=TRUE OR Default.Type=TRUE) AND

         (Positive.Path=TRUE OR Default.Path=TRUE) AND

         (Positive.MediaType=TRUE OR Default.MediaType=TRUE)

         ADD SEP TO DEFAULT SET                   ;see 13.4.4

  ENDIF

ENDFOR

IF SELECTED SET = EMPTY                           ;see 13.5.1

  FOR EACH SEP IN DEFAULT SET              ;see 13.5.2

         IF (Positive.Type=TRUE AND Positive.Path=TRUE) OR

         (Positive.Type=TRUE AND Positive.MediaType=TRUE) OR

         (Positive.Path=TRUE AND Positive.MediaType=TRUE)

               ADD SEP TO SELECTED SET

         ENDIF

  ENDFOR

  IF SELECTED SET = EMPTY

         FOR EACH SEP IN DEFAULT SET       ;see 13.5.2

               IF Positive.Type=TRUE OR

                Positive.Path=TRUE OR

                Positive.MediaType=TRUE

                      ADD SEP TO SELECTED SET

               ENDIF

         ENDFOR

  ENDIF

ENDIF

IF SELECTED SET != EMPTY

  RETURN SELECTED SET

ELSE

  RETURN DEFAULT SET

ENDIF

 




--
Gabe Wachob / gwachob@wachob.com \ http://blog.wachob.com


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