mmidy       00/08/24 13:27:43

  Modified:    java/src/org/apache/xalan/transformer TransformerImpl.java
  Log:
  Catch invalid attribute values for xsl:sort
  
  Revision  Changes    Path
  1.18      +14 -0     
xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- TransformerImpl.java      2000/08/17 20:13:46     1.17
  +++ TransformerImpl.java      2000/08/24 20:27:41     1.18
  @@ -1300,6 +1300,12 @@
                                           sourceNodeContext, 
                                           xslInstruction, 
                                           new StringBuffer());
  +        if (dataTypeString.indexOf(":") >= 0 )
  +          System.out.println("TODO: Need to write the hooks for QNAME sort 
data type");        
  +        else if 
(!(dataTypeString.equalsIgnoreCase(Constants.ATTRVAL_DATATYPE_TEXT)) && 
  +                           
!(dataTypeString.equalsIgnoreCase(Constants.ATTRVAL_DATATYPE_NUMBER)) )
  +                           
xslInstruction.error(XSLTErrorResources.ER_ILLEGAL_ATTRIBUTE_VALUE, new 
Object[] {Constants.ATTRNAME_DATATYPE, dataTypeString});   
  +                     
           boolean treatAsNumbers 
             = ((null != dataTypeString)&& 
                dataTypeString.equals(Constants.ATTRVAL_DATATYPE_NUMBER)) ? 
  @@ -1308,6 +1314,10 @@
             = sort.getOrder().evaluate(xctxt, sourceNodeContext, 
                                        xslInstruction, 
                                        new StringBuffer());
  +        if 
(!(orderString.equalsIgnoreCase(Constants.ATTRVAL_ORDER_ASCENDING)) && 
  +                           
!(orderString.equalsIgnoreCase(Constants.ATTRVAL_ORDER_DESCENDING)))
  +                           
xslInstruction.error(XSLTErrorResources.ER_ILLEGAL_ATTRIBUTE_VALUE, new 
Object[] {Constants.ATTRNAME_ORDER, orderString});   
  +                     
           boolean descending = ((null != orderString) &&  
                                 
orderString.equals(Constants.ATTRVAL_ORDER_DESCENDING))? 
                                true : false;
  @@ -1321,6 +1331,10 @@
                                    sourceNodeContext, 
                                    xslInstruction, 
                                    new StringBuffer());
  +          if 
(!(caseOrderString.equalsIgnoreCase(Constants.ATTRVAL_CASEORDER_UPPER)) && 
  +                           
!(caseOrderString.equalsIgnoreCase(Constants.ATTRVAL_CASEORDER_LOWER)))
  +                           
xslInstruction.error(XSLTErrorResources.ER_ILLEGAL_ATTRIBUTE_VALUE, new 
Object[] {Constants.ATTRNAME_CASEORDER, caseOrderString});   
  +                     
             caseOrderUpper = ((null != caseOrderString)&& 
                               
caseOrderString.equals(Constants.ATTRVAL_CASEORDER_UPPER)) ? 
                              true : false;
  
  
  

Reply via email to