* @throws XPathException
     */

    private Expression parseNamedAttributeConstructor(int offset) throws XPathException {
        if (t.currentTokenValue.equals("xmlns")) {
            grumble("Cannot create a namespace declaration using an attribute constructor", "XQDY0044");
        }
        if (t.currentTokenValue.startsWith("xmlns:")) {
            grumble("Cannot create a namespace declaration using an attribute constructor", "XQST0081");
        }
        int attNameCode = makeNameCode(t.currentTokenValue, false);
        Expression attContent = null;
        nextToken();
        if (t.currentToken != Token.RCURLY) {
            attContent = parseExpression();
            expect(Token.RCURLY);
        }
        lookAhead();  // after an RCURLY
        nextToken();
        FixedAttribute att2 = new FixedAttribute(attNameCode,
                Validation.STRIP,
                null,
                StandardNames.XS_UNTYPED_ATOMIC);
        att2.setRejectDuplicates();
        makeSimpleContent(attContent, att2, offset);
        return makeTracer(offset, att2, Location.LITERAL_RESULT_ATTRIBUTE,
                new StructuredQName(env.getNamePool(), attNameCode));
    }