use of com.intellij.xml.XmlNSDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testAttributeDescriptor2.
public void testAttributeDescriptor2() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + "<xsd:element name=\"purchaseOrder\" type=\"PurchaseOrderType\"/>" + "<xsd:complexType name=\"PurchaseOrderType\">" + " <xsd:attribute name=\"orderDate\" type=\"xsd:date\" use=\"required\" default=\" 2002 \"/>" + "</xsd:complexType>" + "</xsd:schema>");
final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
assertTrue(!attribute.isEnumerated());
assertTrue(!attribute.isFixed());
assertTrue(attribute.isRequired());
assertEquals(" 2002 ", attribute.getDefaultValue());
}
use of com.intellij.xml.XmlNSDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testAny2.
//public void testAny1() throws Exception {
// XmlDocumentDescriptor documentDescriptor = createDescriptorImpl(
// "<xsd:schema targetNamespace=\"http://foo\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" >" +
// " <xsd:element name=\"root\">" +
// " <xsd:complexType>" +
// " <xsd:sequence minOccurs=\"1\" maxOccurs=\"1\">" +
// " <xsd:any namespace=\"##other\" minOccurs=\"0\" maxOccurs=\"unbounded\" processContents=\"skip\"/>" +
// " </xsd:sequence>" +
// " </xsd:complexType>" +
// " </xsd:element>" +
// "</xsd:schema>"
// );
//
// XmlFile xmlFile = (XmlFile)createFile("file.xml",
// "<root xmlns=\"http://foo\">" +
// " <a:a xmlns:a=\"http://bar\" />" +
// "</root>"
// );
//
// XmlElementDescriptor rootDescriptor = documentDescriptor.getElementDescriptor(xmlFile.saveToString().getRootTag());
// assertNotNull(rootDescriptor);
//
// XmlTag aTag = xmlFile.saveToString().getRootTag().findSubTag("a:a");
// assertNotNull(aTag);
// XmlElementDescriptor aDescriptor = documentDescriptor.getElementDescriptor(aTag);
// assertNotNull(aDescriptor);
//}
public void testAny2() throws Exception {
PsiFile dtdFile = createFile("test.xml", "<xsd:schema targetNamespace=\"http://foo\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" >" + " <xsd:element name=\"root\">" + " <xsd:complexType>" + " <xsd:sequence minOccurs=\"1\" maxOccurs=\"1\">" + " <xsd:any namespace=\"##other\" minOccurs=\"0\" maxOccurs=\"unbounded\" processContents=\"skip\"/>" + " </xsd:sequence>" + " </xsd:complexType>" + " </xsd:element>" + "</xsd:schema>");
XmlNSDescriptor NSDescriptor = new XmlNSDescriptorImpl((XmlFile) dtdFile);
XmlFile xmlFile = (XmlFile) createFile("file.xml", "<foo:root xmlns:foo=\"http://foo\">" + " <foo:a xmlns:a=\"http://bar\" />" + "</foo:root>");
XmlElementDescriptor rootDescriptor = NSDescriptor.getElementDescriptor(xmlFile.getDocument().getRootTag());
assertNotNull(rootDescriptor);
XmlTag aTag = xmlFile.getDocument().getRootTag().findFirstSubTag("foo:a");
assertNotNull(aTag);
//XmlElementDescriptor aDescriptor = NSDescriptor.getElementDescriptor(aTag);
//assertNull(aDescriptor);
}
use of com.intellij.xml.XmlNSDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testAttributeDescriptor1.
public void testAttributeDescriptor1() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + "<xsd:element name=\"purchaseOrder\" type=\"PurchaseOrderType\"/>" + "<xsd:complexType name=\"PurchaseOrderType\">" + " <xsd:attribute name=\"orderDate\" type=\"xsd:date\"/>" + "</xsd:complexType>" + "</xsd:schema>");
final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
assertTrue(!attribute.isEnumerated());
assertTrue(!attribute.isFixed());
assertTrue(!attribute.isRequired());
assertNull(attribute.getDefaultValue());
}
use of com.intellij.xml.XmlNSDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testAttributeDescriptor4.
public void testAttributeDescriptor4() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + "<xsd:element name=\"purchaseOrder\" type=\"PurchaseOrderType\"/>" + "<xsd:complexType name=\"PurchaseOrderType\">" + " <xsd:attribute ref=\"orderDate\" use=\"required\"/>" + "</xsd:complexType>" + " <xsd:attribute name=\"orderDate\" type=\"xsd:date\" fixed=\"1 01 2001\"/>" + "</xsd:schema>");
final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
XmlAttributeDescriptor attribute = elementDescriptor.getAttributeDescriptor("orderDate", tag);
assertNotNull(attribute);
assertTrue(!attribute.isEnumerated());
assertTrue(attribute.isFixed());
assertTrue(attribute.isRequired());
assertEquals("1 01 2001", attribute.getDefaultValue());
}
use of com.intellij.xml.XmlNSDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testNamespace3.
public void testNamespace3() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xs:schema xmlns=\"http://www.w3.org/2001/XMLSchema\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">" + "<xs:element name=\"purchaseOrder\" type=\"PurchaseOrderType\"/>" + "<element name=\"comment\" type=\"xs:string\"/>" + "</xs:schema>");
assertNotNull(NSDescriptor);
assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("purchaseOrder", "http://www.w3.org/2001/XMLSchema", getProject())));
assertNotNull(NSDescriptor.getElementDescriptor(XmlTestUtil.tag("comment", "http://www.w3.org/2001/XMLSchema", getProject())));
assertNull(NSDescriptor.getElementDescriptor(UNKNOWN_TAG));
}
Aggregations