elena       2003/07/23 11:19:03

  Modified:    java/src/org/apache/xerces/impl/dv/xs XSSimpleTypeDecl.java
               java/src/org/apache/xerces/impl/xs/traversers
                        XSDAbstractTraverser.java
  Log:
  Fix a small bug in exposing pattern annotation.
  
  Revision  Changes    Path
  1.42      +2 -1      
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java
  
  Index: XSSimpleTypeDecl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/XSSimpleTypeDecl.java,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- XSSimpleTypeDecl.java     23 Jul 2003 15:51:11 -0000      1.41
  +++ XSSimpleTypeDecl.java     23 Jul 2003 18:19:02 -0000      1.42
  @@ -725,6 +725,7 @@
               if ((allowedFacet & FACET_PATTERN) == 0) {
                   reportError("cos-applicable-facets", new Object[]{"pattern", 
fTypeName});
               } else {
  +                patternAnnotations = facets.patternAnnotations;
                   RegularExpression regex = null;
                   try {
                       regex = new RegularExpression(facets.pattern, "X");
  
  
  
  1.31      +9 -5      
xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser.java
  
  Index: XSDAbstractTraverser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDAbstractTraverser.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- XSDAbstractTraverser.java 23 Jul 2003 15:51:13 -0000      1.30
  +++ XSDAbstractTraverser.java 23 Jul 2003 18:19:02 -0000      1.31
  @@ -292,19 +292,22 @@
                       // ---------------------------------------------
                       fPattern.append("|");
                       fPattern.append((String)attrs[XSAttributeChecker.ATTIDX_VALUE]);
  -
  -                    Element child = DOMUtil.getFirstChildElement( content );
  -                    if (child != null) {
  +                }
  +                Element child = DOMUtil.getFirstChildElement( content );
  +                if (child != null) {
                            // traverse annotation if any
                            if 
(DOMUtil.getLocalName(child).equals(SchemaSymbols.ELT_ANNOTATION)) {
  +                             if (patternAnnotations == null){
  +                                 patternAnnotations = new XSObjectListImpl();
  +                             }
                                patternAnnotations.add(traverseAnnotationDecl(child, 
attrs, false, schemaDoc));
                                child = DOMUtil.getNextSiblingElement(child);
                            }
                            if (child !=null && 
DOMUtil.getLocalName(child).equals(SchemaSymbols.ELT_ANNOTATION)) {
                                reportSchemaError("s4s-elt-must-match.1", new 
Object[]{"pattern", "(annotation?)", DOMUtil.getLocalName(child)}, child);
                            }
  -                   }
                   }
  +                
               }
               else {
                   if (facet.equals(SchemaSymbols.ELT_MINLENGTH)) {
  @@ -444,6 +447,7 @@
           if (fPattern.length() != 0) {
               facetsPresent |= XSSimpleType.FACET_PATTERN;
               xsFacets.pattern = fPattern.toString();
  +            xsFacets.patternAnnotations = patternAnnotations;
           }
   
           fPattern.setLength(0);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to