Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 135626 Details for
Bug 276134
[xpath2] improvements to schema aware primitive type support for attribute/element nodes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
test case patch file for the bug
bug276134_testcase.txt (text/plain), 20.33 KB, created by
Mukul Gandhi
on 2009-05-13 13:10:59 EDT
(
hide
)
Description:
test case patch file for the bug
Filename:
MIME Type:
Creator:
Mukul Gandhi
Created:
2009-05-13 13:10:59 EDT
Size:
20.33 KB
patch
obsolete
>Index: src/org/eclipse/wst/xml/xpath2/processor/test/AbstractPsychoPathTest.java >=================================================================== >RCS file: /cvsroot/webtools/sourceediting/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/AbstractPsychoPathTest.java,v >retrieving revision 1.2 >diff -u -r1.2 AbstractPsychoPathTest.java >--- src/org/eclipse/wst/xml/xpath2/processor/test/AbstractPsychoPathTest.java 27 Apr 2009 15:07:18 -0000 1.2 >+++ src/org/eclipse/wst/xml/xpath2/processor/test/AbstractPsychoPathTest.java 13 May 2009 17:10:18 -0000 >@@ -7,11 +7,25 @@ > * > * Contributors: > * David Carver (STAR) - initial API and implementation >+ * Jin Mingjan - bug 262765 - extractXPathExpression and getExpectedResults >+ * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types >+ * Mukul Gandhi - bug 276134 - improvements to schema aware support for attribute nodes > *******************************************************************************/ > package org.eclipse.wst.xml.xpath2.processor.test; > >+ >+ > import java.io.*; > import java.net.URL; >+import java.util.HashMap; >+import java.util.Iterator; >+import java.util.regex.Matcher; >+import java.util.regex.Pattern; >+ >+import javax.xml.XMLConstants; >+import javax.xml.transform.stream.StreamSource; >+import javax.xml.validation.Schema; >+import javax.xml.validation.SchemaFactory; > > import org.apache.xerces.xs.ElementPSVI; > import org.apache.xerces.xs.XSModel; >@@ -19,9 +33,12 @@ > import org.eclipse.wst.xml.xpath2.processor.*; > import org.eclipse.wst.xml.xpath2.processor.ast.*; > import org.eclipse.wst.xml.xpath2.processor.function.*; >-import org.eclipse.wst.xml.xpath2.processor.internal.function.XDTCtrLibrary; >+import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType; >+import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType; >+import org.eclipse.wst.xml.xpath2.processor.internal.types.QName; > import org.osgi.framework.Bundle; > import org.w3c.dom.Document; >+import org.xml.sax.SAXException; > > import junit.framework.TestCase; > >@@ -29,6 +46,17 @@ > > protected Document domDoc = null; > protected Bundle bundle = null; >+ >+ private static final String INPUT_CONTEXT = "input-context"; >+ private static final String INPUT_CONTEXT1 = "input-context1"; >+ private static final String INPUT_CONTEXT2 = "input-context2"; >+// private static final String S_COMMENT1 = "(:"; >+ private static final String S_COMMENT2 = ":)"; >+ private static final String DECLARE_NAMESPACE = "declare namespace"; >+ private static final String DECLARE_VARIABLE = "declare variable"; >+ private static final String REGEX_DN = "declare namespace\\s+(\\w[-_\\w]*)\\s*=\\s*['\"]([^;]*)['\"];"; >+ private static HashMap<String, String> namespaceMap = new HashMap<String, String>(3); >+ private static HashMap<String, String> inputMap = new HashMap<String, String>(3); > > @Override > protected void setUp() throws Exception { >@@ -44,6 +72,21 @@ > domloader.set_validating(false); > domDoc = domloader.load(is); > } >+ >+ protected void loadDOMDocument(URL fileURL, URL schemaURL) throws IOException, >+ DOMLoaderException, SAXException { >+ InputStream is = fileURL.openStream(); >+ InputStream schemaIs = schemaURL.openStream(); >+ DOMLoader domloader = new XercesLoader(getSchema(schemaIs)); >+ domDoc = domloader.load(is); >+ } >+ >+ private Schema getSchema(InputStream schemaIs) throws SAXException { >+ SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); >+ Schema schema = sf.newSchema(new StreamSource(schemaIs)); >+ >+ return schema; >+ } > > @Override > protected void tearDown() throws Exception { >@@ -59,12 +102,11 @@ > > protected DynamicContext setupDynamicContext(XSModel schema) { > DynamicContext dc = new DefaultDynamicContext(schema, domDoc); >- dc.add_namespace("xsd", "http://www.w3.org/2001/XMLSchema"); >- dc.add_namespace("xdt", "http://www.w3.org/2004/10/xpath-datatypes"); >+ dc.add_namespace("xs", "http://www.w3.org/2001/XMLSchema"); >+ dc.add_namespace("fn", "http://www.w3.org/2005/xpath-functions"); > > dc.add_function_library(new FnFunctionLibrary()); > dc.add_function_library(new XSCtrLibrary()); >- dc.add_function_library(new XDTCtrLibrary()); > return dc; > } > >@@ -77,5 +119,118 @@ > name_check.check(path); > return path; > } >+ >+ protected String getExpectedResult(String xqFile){ >+ String resultFile = xqFile; >+ // >+ if (resultFile.length()<10) { //<9 enough? like XPST0001 >+ return resultFile; >+ } >+ String content=""; >+ // >+ InputStream isrf; >+ try { >+ isrf = bundle.getEntry(resultFile).openStream(); >+ BufferedReader rfreader = new BufferedReader(new InputStreamReader(isrf)); >+ //XXX:assume char buffer 2048 is long enough;1024 maybe enough >+ //Exception: Axes085, NodeTest003/04/05,... >+ int bufferLength = 2048; >+ if ((resultFile.indexOf("Axes085") != -1) >+ || (resultFile.indexOf("NodeTest003") != -1) >+ || (resultFile.indexOf("NodeTest004") != -1) >+ || (resultFile.indexOf("NodeTest005") != -1)) { >+ bufferLength = 40000; >+ }else if(resultFile.indexOf("ForExpr013") != -1) { >+ bufferLength = 433500; >+ }else if(resultFile.indexOf("ForExpr016") != -1 >+ || (resultFile.indexOf("ReturnExpr011") != -1) >+ || (resultFile.indexOf("sgml-queries-results-q1") != -1) >+ || (resultFile.indexOf("sgml-queries-results-q2") != -1)) { >+ bufferLength = 10240; >+ } >+ char[] cbuf = new char[bufferLength]; >+ int nByte = rfreader.read(cbuf); >+ assertTrue(resultFile,nByte<bufferLength);//assert nice buffer length >+ >+ content = new String(cbuf).trim(); >+ rfreader.close(); >+ isrf.close(); >+ >+ } catch (IOException e) { >+// e.printStackTrace(); >+ content = "XPST0003"; >+ } >+ return content; >+ } >+ >+ public String extractXPathExpression(String xqFile, String inputFile) { >+ // get the xpath2 expr from xq file, first >+ char[] cbuf = new char[2048];// >+ String content = null; >+ String xpath2Expr = null; >+ >+ try { >+ InputStream isxq = bundle.getEntry(xqFile).openStream(); >+ BufferedReader xqreader = new BufferedReader(new InputStreamReader(isxq)); >+ int nByte = xqreader.read(cbuf); >+ assertTrue(xqFile,nByte<2048); >+ content = new String(cbuf).trim(); >+ // >+ if (content.indexOf(INPUT_CONTEXT) != -1 >+ && content.indexOf(INPUT_CONTEXT1) == -1 >+ && content.indexOf(INPUT_CONTEXT2) == -1) { >+ inputMap.put(INPUT_CONTEXT, inputFile); >+ } else if (content.indexOf(INPUT_CONTEXT1) == -1) { >+ inputMap.put(INPUT_CONTEXT1, inputFile); >+ } else if (content.indexOf(INPUT_CONTEXT2) != -1) { >+ inputMap.put(INPUT_CONTEXT2, inputFile); >+ } >+ // >+ if (content.indexOf(DECLARE_NAMESPACE)!=-1) { >+ setupNamespace(content); >+ } >+ // >+ assertTrue(content.lastIndexOf(S_COMMENT2)!=-1);//assert to get >+ xpath2Expr = content.substring(content.lastIndexOf(S_COMMENT2)+2).trim(); >+ >+ xqreader.close(); >+ isxq.close(); >+ } catch (IOException e) { >+ // TODO Auto-generated catch block >+ e.printStackTrace(); >+ } >+ return xpath2Expr; >+ } >+ >+ protected void setupNamespace(String content) { >+ Pattern p = Pattern.compile(REGEX_DN); >+ Matcher m = p.matcher(content); >+ while (m.find()) { >+ assertTrue(m.groupCount()==2);// >+ namespaceMap.put(m.group(1), m.group(2)); >+ } >+ >+ } >+ >+ protected DynamicContext setupVariables(DynamicContext dc) { >+ dc.add_variable(new QName("x")); >+ dc.add_variable(new QName("var")); >+ ElementType elementType = new ElementType(domDoc.getDocumentElement(), 0);; >+ dc.set_variable(new QName("input-context1"), elementType); >+ >+ return dc; >+ } >+ >+ protected String buildResultString(ResultSequence rs) { >+ String actual = new String(); >+ Iterator<AnyType> iterator = rs.iterator(); >+ while (iterator.hasNext()) { >+ AnyType anyType = iterator.next(); >+ actual = actual + anyType.string_value() + " "; >+ } >+ >+ return actual.trim(); >+ } >+ > > } >Index: src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java >=================================================================== >RCS file: /cvsroot/webtools/sourceediting/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java,v >retrieving revision 1.4 >diff -u -r1.4 TestBugs.java >--- src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java 29 Apr 2009 04:28:11 -0000 1.4 >+++ src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java 13 May 2009 17:10:19 -0000 >@@ -7,13 +7,26 @@ > * > * Contributors: > * David Carver (STAR) - initial API and implementation >- * Mukul Gandhi - bug 273719 - String-Length with Element Arg >- * Mukul Gandhi - bug 273795 - improvements to substring function >+ * Mukul Gandhi - bug 273719 - improvements to fn:string-length function >+ * Mukul Gandhi - bug 273795 - improvements to fn:substring function >+ * Mukul Gandhi - bug 274471 - improvements to fn:string function >+ * Mukul Gandhi - bug 274719 - implementation of equality of xs:anyURI values >+ * Mukul Gandhi - bug 274725 - implementation of fn:base-uri function >+ * Mukul Gandhi - bug 274731 - implementation of fn:document-uri function >+ * Mukul Gandhi - bug 274784 - improvements to xs:boolean data type >+ * Mukul Gandhi - bug 274792 - improvements to xs:date data type >+ * Mukul Gandhi - bug 274805 - improvements to xs:integer data type >+ * Mukul Gandhi - bug 274952 - implementation of xs:long data type >+ * Mukul Gandhi - bug 275105 - implementation of xs:int data type >+ * Mukul Gandhi - bug 276134 - improvements to schema aware support for attribute nodes > *******************************************************************************/ > package org.eclipse.wst.xml.xpath2.processor.test; > > import java.net.URL; > >+import javax.xml.parsers.DocumentBuilder; >+import javax.xml.parsers.DocumentBuilderFactory; >+ > import org.apache.xerces.xs.XSModel; > import org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator; > import org.eclipse.wst.xml.xpath2.processor.DynamicContext; >@@ -94,5 +107,301 @@ > > assertEquals("true", actual); > } >+ >+ public void testStringFunctionBug274471() throws Exception { >+ // Bug 274471 >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug274471.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "x/string() = 'unhappy'"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testStringLengthFunctionBug274471() throws Exception { >+ // Bug 274471. string-length() with arity 0 >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug274471.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "x/string-length() = 7"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testNormalizeSpaceFunctionBug274471() throws Exception { >+ // Bug 274471. normalize-space() with arity 0 >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug274471.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "x/normalize-space() = 'unhappy'"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testAnyUriEqualityBug() throws Exception { >+ // Bug 274719 >+ // reusing the XML document from another bug >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug274471.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "xs:anyURI('abc') eq xs:anyURI('abc')"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testBaseUriBug() throws Exception { >+ // Bug 274725 >+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); >+ DocumentBuilder docBuilder = dbf.newDocumentBuilder(); >+ >+ // for testing this bug, we read the XML document from the web. >+ // this ensures, that base-uri property of DOM is not null. >+ domDoc = docBuilder.parse("http://www.w3schools.com/xml/note.xml"); >+ >+ // we pass XSModel as null for this test case. Otherwise, we would >+ // get an exception. >+ DynamicContext dc = setupDynamicContext(null); >+ >+ String xpath = "base-uri(note) eq xs:anyURI('http://www.w3schools.com/xml/note.xml')"; >+ >+ // please note: The below XPath would also work, with base-uri using arity 0. >+ //String xpath = "note/base-uri() eq xs:anyURI('http://www.w3schools.com/xml/note.xml')"; >+ >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testDocumentUriBug() throws Exception { >+ // Bug 274731 >+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); >+ DocumentBuilder docBuilder = dbf.newDocumentBuilder(); >+ >+ domDoc = docBuilder.parse("http://www.w3schools.com/xml/note.xml"); >+ >+ DynamicContext dc = setupDynamicContext(null); >+ >+ String xpath = "document-uri(/) eq xs:anyURI('http://www.w3schools.com/xml/note.xml')"; >+ >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = "false"; >+ >+ if (result != null) { >+ actual = result.string_value(); >+ } >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testBooleanTypeBug() throws Exception { >+ // Bug 274784 >+ // reusing the XML document from another bug >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug273719.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "xs:boolean('1') eq xs:boolean('true')"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testDateConstructorBug() throws Exception { >+ // Bug 274792 >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug274792.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "xs:date('2009-01-01') eq xs:date('2009-01-01')"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testIntegerDataTypeBug() throws Exception { >+ // Bug 274805 >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug274805.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ // xs:integer by definition is from -INF to +INF >+ String xpath = "xs:integer(x) gt 100"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testLongDataType() throws Exception { >+ // Bug 274952 >+ URL fileURL = bundle.getEntry("/TestSources/emptydoc.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ // long min value is -9223372036854775808 >+ // and max value can be 9223372036854775807 >+ String xpath = "xs:long('9223372036854775807') gt 0"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testIntDataType() throws Exception { >+ // Bug 275105 >+ URL fileURL = bundle.getEntry("/TestSources/emptydoc.xml"); >+ loadDOMDocument(fileURL); >+ >+ // Get XML Schema Information for the Document >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ // int min value is -2147483648 >+ // and max value can be 2147483647 >+ String xpath = "xs:int('2147483647') gt 0"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } >+ >+ public void testSchemaawareness() throws Exception { >+ // Bug 276134 >+ URL fileURL = bundle.getEntry("/bugTestFiles/bug276134.xml"); >+ URL schemaURL = bundle.getEntry("/bugTestFiles/bug276134.xsd"); >+ >+ loadDOMDocument(fileURL, schemaURL); >+ >+ // Get XSModel object for the Schema >+ XSModel schema = getGrammar(); >+ >+ DynamicContext dc = setupDynamicContext(schema); >+ >+ String xpath = "person/@dob eq xs:date('2006-12-10')"; >+ XPath path = compileXPath(dc, xpath); >+ >+ Evaluator eval = new DefaultEvaluator(dc, domDoc); >+ ResultSequence rs = eval.evaluate(path); >+ >+ XSBoolean result = (XSBoolean) rs.first(); >+ >+ String actual = result.string_value(); >+ >+ assertEquals("true", actual); >+ } > > } >Index: bugTestFiles/bug276134.xsd >=================================================================== >RCS file: bugTestFiles/bug276134.xsd >diff -N bugTestFiles/bug276134.xsd >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugTestFiles/bug276134.xsd 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,14 @@ >+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> >+ >+ <xs:element name="person"> >+ <xs:complexType> >+ <xs:sequence> >+ <xs:element name="fname" type = "xs:string" /> >+ <xs:element name="lname" type = "xs:string" /> >+ </xs:sequence> >+ <xs:attribute name="id" type="xs:decimal" /> >+ <xs:attribute name="dob" type="xs:date" /> >+ </xs:complexType> >+ </xs:element> >+ >+</xs:schema> >\ No newline at end of file >Index: bugTestFiles/bug276134.xml >=================================================================== >RCS file: bugTestFiles/bug276134.xml >diff -N bugTestFiles/bug276134.xml >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ bugTestFiles/bug276134.xml 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,4 @@ >+<person id="100" dob="2006-12-10" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> >+ <fname>Mukul</fname> >+ <lname>Gandhi</lname> >+</person> >\ No newline at end of file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 276134
:
135625
|
135626
|
135634
|
135722
|
135723
|
136887
|
136888
|
136890
|
136891