# {py:mod}`arelle.formula.XPathParser` ```{py:module} arelle.formula.XPathParser ``` ```{autodoc2-docstring} arelle.formula.XPathParser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ProgHeader ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ProgHeader :summary: ``` * - {py:obj}`QNameDef ` - ```{autodoc2-docstring} arelle.formula.XPathParser.QNameDef :summary: ``` * - {py:obj}`OpDef ` - ```{autodoc2-docstring} arelle.formula.XPathParser.OpDef :summary: ``` * - {py:obj}`OperationDef ` - ```{autodoc2-docstring} arelle.formula.XPathParser.OperationDef :summary: ``` * - {py:obj}`VariableRef ` - ```{autodoc2-docstring} arelle.formula.XPathParser.VariableRef :summary: ``` * - {py:obj}`RangeDecl ` - ```{autodoc2-docstring} arelle.formula.XPathParser.RangeDecl :summary: ``` * - {py:obj}`Expr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.Expr :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`exprStackToksRIndex ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exprStackToksRIndex :summary: ``` * - {py:obj}`exprStackTokRIndex ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exprStackTokRIndex :summary: ``` * - {py:obj}`pushFirst ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushFirst :summary: ``` * - {py:obj}`pushFloat ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushFloat :summary: ``` * - {py:obj}`pushInt ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushInt :summary: ``` * - {py:obj}`pushDecimal ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushDecimal :summary: ``` * - {py:obj}`pushQuotedString ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushQuotedString :summary: ``` * - {py:obj}`pushQName ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushQName :summary: ``` * - {py:obj}`pushAttr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushAttr :summary: ``` * - {py:obj}`pushOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushOp :summary: ``` * - {py:obj}`pushOperation ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushOperation :summary: ``` * - {py:obj}`pushUnaryOperation ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushUnaryOperation :summary: ``` * - {py:obj}`pushFunction ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushFunction :summary: ``` * - {py:obj}`pushSequence ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushSequence :summary: ``` * - {py:obj}`pushPredicate ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushPredicate :summary: ``` * - {py:obj}`pushRootStep ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushRootStep :summary: ``` * - {py:obj}`pushVarRef ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushVarRef :summary: ``` * - {py:obj}`pushRangeVar ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushRangeVar :summary: ``` * - {py:obj}`pushExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pushExpr :summary: ``` * - {py:obj}`normalizeExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.normalizeExpr :summary: ``` * - {py:obj}`initializeParser ` - ```{autodoc2-docstring} arelle.formula.XPathParser.initializeParser :summary: ``` * - {py:obj}`exceptionErrorIndication ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exceptionErrorIndication :summary: ``` * - {py:obj}`staticExpressionFunctionContext ` - ```{autodoc2-docstring} arelle.formula.XPathParser.staticExpressionFunctionContext :summary: ``` * - {py:obj}`parse ` - ```{autodoc2-docstring} arelle.formula.XPathParser.parse :summary: ``` * - {py:obj}`variableReferencesSet ` - ```{autodoc2-docstring} arelle.formula.XPathParser.variableReferencesSet :summary: ``` * - {py:obj}`variableReferences ` - ```{autodoc2-docstring} arelle.formula.XPathParser.variableReferences :summary: ``` * - {py:obj}`prefixDeclarations ` - ```{autodoc2-docstring} arelle.formula.XPathParser.prefixDeclarations :summary: ``` * - {py:obj}`clearProg ` - ```{autodoc2-docstring} arelle.formula.XPathParser.clearProg :summary: ``` * - {py:obj}`clearNamedProg ` - ```{autodoc2-docstring} arelle.formula.XPathParser.clearNamedProg :summary: ``` * - {py:obj}`clearNamedProgs ` - ```{autodoc2-docstring} arelle.formula.XPathParser.clearNamedProgs :summary: ``` * - {py:obj}`codeModule ` - ```{autodoc2-docstring} arelle.formula.XPathParser.codeModule :summary: ``` * - {py:obj}`parser_unit_test ` - ```{autodoc2-docstring} arelle.formula.XPathParser.parser_unit_test :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`_ ` - ```{autodoc2-docstring} arelle.formula.XPathParser._ :summary: ``` * - {py:obj}`FormulaToken ` - ```{autodoc2-docstring} arelle.formula.XPathParser.FormulaToken :summary: ``` * - {py:obj}`RecursiveFormulaTokens ` - ```{autodoc2-docstring} arelle.formula.XPathParser.RecursiveFormulaTokens :summary: ``` * - {py:obj}`ExpressionStack ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ExpressionStack :summary: ``` * - {py:obj}`ixtFunctionNamespaces ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ixtFunctionNamespaces :summary: ``` * - {py:obj}`debug_flag ` - ```{autodoc2-docstring} arelle.formula.XPathParser.debug_flag :summary: ``` * - {py:obj}`exprStack ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exprStack :summary: ``` * - {py:obj}`xmlElement ` - ```{autodoc2-docstring} arelle.formula.XPathParser.xmlElement :summary: ``` * - {py:obj}`modelXbrl ` - ```{autodoc2-docstring} arelle.formula.XPathParser.modelXbrl :summary: ``` * - {py:obj}`pluginCustomFunctionQNames ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pluginCustomFunctionQNames :summary: ``` * - {py:obj}`defaultNsmap ` - ```{autodoc2-docstring} arelle.formula.XPathParser.defaultNsmap :summary: ``` * - {py:obj}`axesSupported ` - ```{autodoc2-docstring} arelle.formula.XPathParser.axesSupported :summary: ``` * - {py:obj}`variableRef ` - ```{autodoc2-docstring} arelle.formula.XPathParser.variableRef :summary: ``` * - {py:obj}`qName ` - ```{autodoc2-docstring} arelle.formula.XPathParser.qName :summary: ``` * - {py:obj}`ncName ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ncName :summary: ``` * - {py:obj}`prefixOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.prefixOp :summary: ``` * - {py:obj}`exponentLiteralStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exponentLiteralStr :summary: ``` * - {py:obj}`plusorminusLiteralStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.plusorminusLiteralStr :summary: ``` * - {py:obj}`digitsStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.digitsStr :summary: ``` * - {py:obj}`optionalDigitsStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.optionalDigitsStr :summary: ``` * - {py:obj}`decimalPointStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.decimalPointStr :summary: ``` * - {py:obj}`nanLiteralStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.nanLiteralStr :summary: ``` * - {py:obj}`integerLiteralStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.integerLiteralStr :summary: ``` * - {py:obj}`decimalFractionLiteralStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.decimalFractionLiteralStr :summary: ``` * - {py:obj}`infLiteralStr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.infLiteralStr :summary: ``` * - {py:obj}`decimalPoint ` - ```{autodoc2-docstring} arelle.formula.XPathParser.decimalPoint :summary: ``` * - {py:obj}`exponentLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exponentLiteral :summary: ``` * - {py:obj}`plusorminusLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.plusorminusLiteral :summary: ``` * - {py:obj}`digits ` - ```{autodoc2-docstring} arelle.formula.XPathParser.digits :summary: ``` * - {py:obj}`integerLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.integerLiteral :summary: ``` * - {py:obj}`decimalFractionLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.decimalFractionLiteral :summary: ``` * - {py:obj}`infLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.infLiteral :summary: ``` * - {py:obj}`nanLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.nanLiteral :summary: ``` * - {py:obj}`floatLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.floatLiteral :summary: ``` * - {py:obj}`decimalLiteral ` - ```{autodoc2-docstring} arelle.formula.XPathParser.decimalLiteral :summary: ``` * - {py:obj}`lParen ` - ```{autodoc2-docstring} arelle.formula.XPathParser.lParen :summary: ``` * - {py:obj}`rParen ` - ```{autodoc2-docstring} arelle.formula.XPathParser.rParen :summary: ``` * - {py:obj}`lPred ` - ```{autodoc2-docstring} arelle.formula.XPathParser.lPred :summary: ``` * - {py:obj}`rPred ` - ```{autodoc2-docstring} arelle.formula.XPathParser.rPred :summary: ``` * - {py:obj}`expOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.expOp :summary: ``` * - {py:obj}`commaOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.commaOp :summary: ``` * - {py:obj}`forOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.forOp :summary: ``` * - {py:obj}`someOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.someOp :summary: ``` * - {py:obj}`everyOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.everyOp :summary: ``` * - {py:obj}`quantifiedOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.quantifiedOp :summary: ``` * - {py:obj}`inOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.inOp :summary: ``` * - {py:obj}`returnOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.returnOp :summary: ``` * - {py:obj}`satisfiesOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.satisfiesOp :summary: ``` * - {py:obj}`ifOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ifOp :summary: ``` * - {py:obj}`thenOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.thenOp :summary: ``` * - {py:obj}`elseOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.elseOp :summary: ``` * - {py:obj}`andOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.andOp :summary: ``` * - {py:obj}`orOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.orOp :summary: ``` * - {py:obj}`eqValueOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.eqValueOp :summary: ``` * - {py:obj}`neValueOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.neValueOp :summary: ``` * - {py:obj}`ltValueOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ltValueOp :summary: ``` * - {py:obj}`leValueOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.leValueOp :summary: ``` * - {py:obj}`gtValueOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.gtValueOp :summary: ``` * - {py:obj}`geValueOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.geValueOp :summary: ``` * - {py:obj}`valueCompOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.valueCompOp :summary: ``` * - {py:obj}`isNodeOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.isNodeOp :summary: ``` * - {py:obj}`precedesNodeOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.precedesNodeOp :summary: ``` * - {py:obj}`followsNodeOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.followsNodeOp :summary: ``` * - {py:obj}`nodeCompOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.nodeCompOp :summary: ``` * - {py:obj}`neGeneralOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.neGeneralOp :summary: ``` * - {py:obj}`leGeneralOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.leGeneralOp :summary: ``` * - {py:obj}`ltGeneralOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ltGeneralOp :summary: ``` * - {py:obj}`geGeneralOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.geGeneralOp :summary: ``` * - {py:obj}`gtGeneralOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.gtGeneralOp :summary: ``` * - {py:obj}`eqGeneralOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.eqGeneralOp :summary: ``` * - {py:obj}`generalCompOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.generalCompOp :summary: ``` * - {py:obj}`comparisonOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.comparisonOp :summary: ``` * - {py:obj}`toOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.toOp :summary: ``` * - {py:obj}`plusOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.plusOp :summary: ``` * - {py:obj}`minusOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.minusOp :summary: ``` * - {py:obj}`plusMinusOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.plusMinusOp :summary: ``` * - {py:obj}`multOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.multOp :summary: ``` * - {py:obj}`divOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.divOp :summary: ``` * - {py:obj}`idivOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.idivOp :summary: ``` * - {py:obj}`modOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.modOp :summary: ``` * - {py:obj}`multDivOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.multDivOp :summary: ``` * - {py:obj}`unionWordOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.unionWordOp :summary: ``` * - {py:obj}`unionSymbOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.unionSymbOp :summary: ``` * - {py:obj}`unionOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.unionOp :summary: ``` * - {py:obj}`intersectOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.intersectOp :summary: ``` * - {py:obj}`exceptOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.exceptOp :summary: ``` * - {py:obj}`intersectExceptOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.intersectExceptOp :summary: ``` * - {py:obj}`instanceOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.instanceOp :summary: ``` * - {py:obj}`ofOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.ofOp :summary: ``` * - {py:obj}`treatOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.treatOp :summary: ``` * - {py:obj}`asOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.asOp :summary: ``` * - {py:obj}`castableOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.castableOp :summary: ``` * - {py:obj}`castOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.castOp :summary: ``` * - {py:obj}`unaryOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.unaryOp :summary: ``` * - {py:obj}`occurOptionalOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.occurOptionalOp :summary: ``` * - {py:obj}`occurAnyOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.occurAnyOp :summary: ``` * - {py:obj}`occurAtLeastOnceOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.occurAtLeastOnceOp :summary: ``` * - {py:obj}`occurrenceOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.occurrenceOp :summary: ``` * - {py:obj}`wildOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.wildOp :summary: ``` * - {py:obj}`typeName ` - ```{autodoc2-docstring} arelle.formula.XPathParser.typeName :summary: ``` * - {py:obj}`elementName ` - ```{autodoc2-docstring} arelle.formula.XPathParser.elementName :summary: ``` * - {py:obj}`attributeName ` - ```{autodoc2-docstring} arelle.formula.XPathParser.attributeName :summary: ``` * - {py:obj}`elementDeclaration ` - ```{autodoc2-docstring} arelle.formula.XPathParser.elementDeclaration :summary: ``` * - {py:obj}`schemaElementTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.schemaElementTest :summary: ``` * - {py:obj}`elementNameOrWildcard ` - ```{autodoc2-docstring} arelle.formula.XPathParser.elementNameOrWildcard :summary: ``` * - {py:obj}`elementTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.elementTest :summary: ``` * - {py:obj}`attributeDeclaration ` - ```{autodoc2-docstring} arelle.formula.XPathParser.attributeDeclaration :summary: ``` * - {py:obj}`schemaAttributeTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.schemaAttributeTest :summary: ``` * - {py:obj}`attribNameOrWildcard ` - ```{autodoc2-docstring} arelle.formula.XPathParser.attribNameOrWildcard :summary: ``` * - {py:obj}`attributeTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.attributeTest :summary: ``` * - {py:obj}`PITest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.PITest :summary: ``` * - {py:obj}`commentTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.commentTest :summary: ``` * - {py:obj}`textTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.textTest :summary: ``` * - {py:obj}`documentTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.documentTest :summary: ``` * - {py:obj}`anyKindTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.anyKindTest :summary: ``` * - {py:obj}`kindTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.kindTest :summary: ``` * - {py:obj}`wildcard ` - ```{autodoc2-docstring} arelle.formula.XPathParser.wildcard :summary: ``` * - {py:obj}`nameTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.nameTest :summary: ``` * - {py:obj}`nodeTest ` - ```{autodoc2-docstring} arelle.formula.XPathParser.nodeTest :summary: ``` * - {py:obj}`abbrevForwardStep ` - ```{autodoc2-docstring} arelle.formula.XPathParser.abbrevForwardStep :summary: ``` * - {py:obj}`atomicType ` - ```{autodoc2-docstring} arelle.formula.XPathParser.atomicType :summary: ``` * - {py:obj}`itemType ` - ```{autodoc2-docstring} arelle.formula.XPathParser.itemType :summary: ``` * - {py:obj}`occurrenceIndicator ` - ```{autodoc2-docstring} arelle.formula.XPathParser.occurrenceIndicator :summary: ``` * - {py:obj}`sequenceType ` - ```{autodoc2-docstring} arelle.formula.XPathParser.sequenceType :summary: ``` * - {py:obj}`singleType ` - ```{autodoc2-docstring} arelle.formula.XPathParser.singleType :summary: ``` * - {py:obj}`contextItem ` - ```{autodoc2-docstring} arelle.formula.XPathParser.contextItem :summary: ``` * - {py:obj}`pathDescOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pathDescOp :summary: ``` * - {py:obj}`pathStepOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pathStepOp :summary: ``` * - {py:obj}`pathOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pathOp :summary: ``` * - {py:obj}`pathRootOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pathRootOp :summary: ``` * - {py:obj}`axisOp ` - ```{autodoc2-docstring} arelle.formula.XPathParser.axisOp :summary: ``` * - {py:obj}`forwardAxis ` - ```{autodoc2-docstring} arelle.formula.XPathParser.forwardAxis :summary: ``` * - {py:obj}`forwardStep ` - ```{autodoc2-docstring} arelle.formula.XPathParser.forwardStep :summary: ``` * - {py:obj}`reverseAxis ` - ```{autodoc2-docstring} arelle.formula.XPathParser.reverseAxis :summary: ``` * - {py:obj}`abbrevReverseStep ` - ```{autodoc2-docstring} arelle.formula.XPathParser.abbrevReverseStep :summary: ``` * - {py:obj}`reverseStep ` - ```{autodoc2-docstring} arelle.formula.XPathParser.reverseStep :summary: ``` * - {py:obj}`step ` - ```{autodoc2-docstring} arelle.formula.XPathParser.step :summary: ``` * - {py:obj}`expr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.expr :summary: ``` * - {py:obj}`atom ` - ```{autodoc2-docstring} arelle.formula.XPathParser.atom :summary: ``` * - {py:obj}`stepExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.stepExpr :summary: ``` * - {py:obj}`relativePathExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.relativePathExpr :summary: ``` * - {py:obj}`pathExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.pathExpr :summary: ``` * - {py:obj}`valueExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.valueExpr :summary: ``` * - {py:obj}`unaryExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.unaryExpr :summary: ``` * - {py:obj}`castExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.castExpr :summary: ``` * - {py:obj}`castableExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.castableExpr :summary: ``` * - {py:obj}`treatExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.treatExpr :summary: ``` * - {py:obj}`instanceOfExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.instanceOfExpr :summary: ``` * - {py:obj}`intersectExceptExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.intersectExceptExpr :summary: ``` * - {py:obj}`unionExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.unionExpr :summary: ``` * - {py:obj}`multiplicitaveExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.multiplicitaveExpr :summary: ``` * - {py:obj}`additiveExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.additiveExpr :summary: ``` * - {py:obj}`rangeExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.rangeExpr :summary: ``` * - {py:obj}`comparisonExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.comparisonExpr :summary: ``` * - {py:obj}`andExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.andExpr :summary: ``` * - {py:obj}`orExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.orExpr :summary: ``` * - {py:obj}`xpathExpr ` - ```{autodoc2-docstring} arelle.formula.XPathParser.xpathExpr :summary: ``` * - {py:obj}`opn ` - ```{autodoc2-docstring} arelle.formula.XPathParser.opn :summary: ``` * - {py:obj}`isInitialized ` - ```{autodoc2-docstring} arelle.formula.XPathParser.isInitialized :summary: ``` * - {py:obj}`_staticExpressionFunctionContext ` - ```{autodoc2-docstring} arelle.formula.XPathParser._staticExpressionFunctionContext :summary: ``` ```` ### API ````{py:data} _ :canonical: arelle.formula.XPathParser._ :type: arelle.typing.TypeGetText :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser._ ``` ```` ````{py:data} FormulaToken :canonical: arelle.formula.XPathParser.FormulaToken :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.FormulaToken ``` ```` ````{py:data} RecursiveFormulaTokens :canonical: arelle.formula.XPathParser.RecursiveFormulaTokens :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.RecursiveFormulaTokens ``` ```` ````{py:data} ExpressionStack :canonical: arelle.formula.XPathParser.ExpressionStack :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.ExpressionStack ``` ```` ````{py:data} ixtFunctionNamespaces :canonical: arelle.formula.XPathParser.ixtFunctionNamespaces :type: set[str] :value: > 'set(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.ixtFunctionNamespaces ``` ```` ````{py:data} debug_flag :canonical: arelle.formula.XPathParser.debug_flag :value: > True ```{autodoc2-docstring} arelle.formula.XPathParser.debug_flag ``` ```` ````{py:data} exprStack :canonical: arelle.formula.XPathParser.exprStack :type: arelle.formula.XPathParser.ExpressionStack :value: > [] ```{autodoc2-docstring} arelle.formula.XPathParser.exprStack ``` ```` ````{py:data} xmlElement :canonical: arelle.formula.XPathParser.xmlElement :type: arelle.ModelObject.ModelObject | None :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.xmlElement ``` ```` ````{py:data} modelXbrl :canonical: arelle.formula.XPathParser.modelXbrl :type: arelle.ModelXbrl.ModelXbrl | None :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.modelXbrl ``` ```` ````{py:data} pluginCustomFunctionQNames :canonical: arelle.formula.XPathParser.pluginCustomFunctionQNames :type: set[arelle.ModelValue.QName] | None :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.pluginCustomFunctionQNames ``` ```` `````{py:class} ProgHeader(modelObject: arelle.ModelFormulaObject.ModelFormulaResource, name: str, element: arelle.ModelObject.ModelObject, sourceStr: str, traceType: int) :canonical: arelle.formula.XPathParser.ProgHeader ```{autodoc2-docstring} arelle.formula.XPathParser.ProgHeader ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.ProgHeader.__init__ ``` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.ProgHeader.__repr__ ```` ````` ````{py:function} exprStackToksRIndex(toks: pyparsing.ParseResults) -> int :canonical: arelle.formula.XPathParser.exprStackToksRIndex ```{autodoc2-docstring} arelle.formula.XPathParser.exprStackToksRIndex ``` ```` ````{py:function} exprStackTokRIndex(tok: arelle.formula.XPathParser.FormulaToken) -> int :canonical: arelle.formula.XPathParser.exprStackTokRIndex ```{autodoc2-docstring} arelle.formula.XPathParser.exprStackTokRIndex ``` ```` ````{py:function} pushFirst(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> None :canonical: arelle.formula.XPathParser.pushFirst ```{autodoc2-docstring} arelle.formula.XPathParser.pushFirst ``` ```` ````{py:function} pushFloat(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> float :canonical: arelle.formula.XPathParser.pushFloat ```{autodoc2-docstring} arelle.formula.XPathParser.pushFloat ``` ```` ````{py:function} pushInt(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> int :canonical: arelle.formula.XPathParser.pushInt ```{autodoc2-docstring} arelle.formula.XPathParser.pushInt ``` ```` ````{py:function} pushDecimal(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> decimal.Decimal :canonical: arelle.formula.XPathParser.pushDecimal ```{autodoc2-docstring} arelle.formula.XPathParser.pushDecimal ``` ```` ````{py:function} pushQuotedString(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> str :canonical: arelle.formula.XPathParser.pushQuotedString ```{autodoc2-docstring} arelle.formula.XPathParser.pushQuotedString ``` ```` `````{py:class} QNameDef(loc: int, prefix: str | None, namespaceURI: str | None, localName: str, isAttribute: bool = False, axis: str | None = None) :canonical: arelle.formula.XPathParser.QNameDef Bases: {py:obj}`arelle.ModelValue.QName` ```{autodoc2-docstring} arelle.formula.XPathParser.QNameDef ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.QNameDef.__init__ ``` ````{py:method} __hash__() -> int :canonical: arelle.formula.XPathParser.QNameDef.__hash__ ```` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.QNameDef.__repr__ ```` ````{py:method} __eq__(other: typing.Any) -> bool :canonical: arelle.formula.XPathParser.QNameDef.__eq__ ```` ````{py:method} __ne__(other: typing.Any) -> bool :canonical: arelle.formula.XPathParser.QNameDef.__ne__ ```` ````` ````{py:data} defaultNsmap :canonical: arelle.formula.XPathParser.defaultNsmap :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.defaultNsmap ``` ```` ````{py:data} axesSupported :canonical: arelle.formula.XPathParser.axesSupported :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.axesSupported ``` ```` ````{py:function} pushQName(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.QNameDef | None :canonical: arelle.formula.XPathParser.pushQName ```{autodoc2-docstring} arelle.formula.XPathParser.pushQName ``` ```` ````{py:function} pushAttr(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.QNameDef :canonical: arelle.formula.XPathParser.pushAttr ```{autodoc2-docstring} arelle.formula.XPathParser.pushAttr ``` ```` `````{py:class} OpDef(loc: int, toks: pyparsing.ParseResults) :canonical: arelle.formula.XPathParser.OpDef ```{autodoc2-docstring} arelle.formula.XPathParser.OpDef ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.OpDef.__init__ ``` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.OpDef.__repr__ ```` ````{py:method} __eq__(other: typing.Any) -> bool :canonical: arelle.formula.XPathParser.OpDef.__eq__ ```` ````{py:method} __ne__(other: typing.Any) -> bool :canonical: arelle.formula.XPathParser.OpDef.__ne__ ```` ````` ````{py:function} pushOp(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OpDef :canonical: arelle.formula.XPathParser.pushOp ```{autodoc2-docstring} arelle.formula.XPathParser.pushOp ``` ```` `````{py:class} OperationDef(sourceStr: str, loc: int, name: str | arelle.formula.XPathParser.QNameDef, toks: pyparsing.ParseResults | list[arelle.formula.XPathParser.FormulaToken], skipFirstTok: bool) :canonical: arelle.formula.XPathParser.OperationDef ```{autodoc2-docstring} arelle.formula.XPathParser.OperationDef ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.OperationDef.__init__ ``` ````{py:attribute} args :canonical: arelle.formula.XPathParser.OperationDef.args :type: list[arelle.formula.XPathParser.FormulaToken] :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.OperationDef.args ``` ```` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.OperationDef.__repr__ ```` ````` ````{py:function} pushOperation(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OperationDef :canonical: arelle.formula.XPathParser.pushOperation ```{autodoc2-docstring} arelle.formula.XPathParser.pushOperation ``` ```` ````{py:function} pushUnaryOperation(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OperationDef :canonical: arelle.formula.XPathParser.pushUnaryOperation ```{autodoc2-docstring} arelle.formula.XPathParser.pushUnaryOperation ``` ```` ````{py:function} pushFunction(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OperationDef :canonical: arelle.formula.XPathParser.pushFunction ```{autodoc2-docstring} arelle.formula.XPathParser.pushFunction ``` ```` ````{py:function} pushSequence(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OperationDef :canonical: arelle.formula.XPathParser.pushSequence ```{autodoc2-docstring} arelle.formula.XPathParser.pushSequence ``` ```` ````{py:function} pushPredicate(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OperationDef :canonical: arelle.formula.XPathParser.pushPredicate ```{autodoc2-docstring} arelle.formula.XPathParser.pushPredicate ``` ```` ````{py:function} pushRootStep(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.OperationDef | None :canonical: arelle.formula.XPathParser.pushRootStep ```{autodoc2-docstring} arelle.formula.XPathParser.pushRootStep ``` ```` `````{py:class} VariableRef(loc: int, qname: arelle.ModelValue.QName) :canonical: arelle.formula.XPathParser.VariableRef ```{autodoc2-docstring} arelle.formula.XPathParser.VariableRef ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.VariableRef.__init__ ``` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.VariableRef.__repr__ ```` ````` ````{py:function} pushVarRef(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.VariableRef :canonical: arelle.formula.XPathParser.pushVarRef ```{autodoc2-docstring} arelle.formula.XPathParser.pushVarRef ``` ```` `````{py:class} RangeDecl(loc: int, toks: pyparsing.ParseResults) :canonical: arelle.formula.XPathParser.RangeDecl ```{autodoc2-docstring} arelle.formula.XPathParser.RangeDecl ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.RangeDecl.__init__ ``` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.RangeDecl.__repr__ ```` ````` ````{py:function} pushRangeVar(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.RangeDecl :canonical: arelle.formula.XPathParser.pushRangeVar ```{autodoc2-docstring} arelle.formula.XPathParser.pushRangeVar ``` ```` `````{py:class} Expr(loc: int, toks: pyparsing.ParseResults) :canonical: arelle.formula.XPathParser.Expr ```{autodoc2-docstring} arelle.formula.XPathParser.Expr ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} arelle.formula.XPathParser.Expr.__init__ ``` ````{py:method} __repr__() -> str :canonical: arelle.formula.XPathParser.Expr.__repr__ ```` ````` ````{py:function} pushExpr(sourceStr: str, loc: int, toks: pyparsing.ParseResults) -> arelle.formula.XPathParser.Expr :canonical: arelle.formula.XPathParser.pushExpr ```{autodoc2-docstring} arelle.formula.XPathParser.pushExpr ``` ```` ````{py:data} variableRef :canonical: arelle.formula.XPathParser.variableRef :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.variableRef ``` ```` ````{py:data} qName :canonical: arelle.formula.XPathParser.qName :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.qName ``` ```` ````{py:data} ncName :canonical: arelle.formula.XPathParser.ncName :value: > 'Word(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.ncName ``` ```` ````{py:data} prefixOp :canonical: arelle.formula.XPathParser.prefixOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.prefixOp ``` ```` ````{py:data} exponentLiteralStr :canonical: arelle.formula.XPathParser.exponentLiteralStr :value: > '[eE]' ```{autodoc2-docstring} arelle.formula.XPathParser.exponentLiteralStr ``` ```` ````{py:data} plusorminusLiteralStr :canonical: arelle.formula.XPathParser.plusorminusLiteralStr :value: > '[+-]' ```{autodoc2-docstring} arelle.formula.XPathParser.plusorminusLiteralStr ``` ```` ````{py:data} digitsStr :canonical: arelle.formula.XPathParser.digitsStr :value: > '\\d+' ```{autodoc2-docstring} arelle.formula.XPathParser.digitsStr ``` ```` ````{py:data} optionalDigitsStr :canonical: arelle.formula.XPathParser.optionalDigitsStr :value: > '\\d*' ```{autodoc2-docstring} arelle.formula.XPathParser.optionalDigitsStr ``` ```` ````{py:data} decimalPointStr :canonical: arelle.formula.XPathParser.decimalPointStr :value: > '\\.' ```{autodoc2-docstring} arelle.formula.XPathParser.decimalPointStr ``` ```` ````{py:data} nanLiteralStr :canonical: arelle.formula.XPathParser.nanLiteralStr :value: > 'NaN' ```{autodoc2-docstring} arelle.formula.XPathParser.nanLiteralStr ``` ```` ````{py:data} integerLiteralStr :canonical: arelle.formula.XPathParser.integerLiteralStr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.integerLiteralStr ``` ```` ````{py:data} decimalFractionLiteralStr :canonical: arelle.formula.XPathParser.decimalFractionLiteralStr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.decimalFractionLiteralStr ``` ```` ````{py:data} infLiteralStr :canonical: arelle.formula.XPathParser.infLiteralStr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.infLiteralStr ``` ```` ````{py:data} decimalPoint :canonical: arelle.formula.XPathParser.decimalPoint :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.decimalPoint ``` ```` ````{py:data} exponentLiteral :canonical: arelle.formula.XPathParser.exponentLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.exponentLiteral ``` ```` ````{py:data} plusorminusLiteral :canonical: arelle.formula.XPathParser.plusorminusLiteral :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.plusorminusLiteral ``` ```` ````{py:data} digits :canonical: arelle.formula.XPathParser.digits :value: > 'Word(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.digits ``` ```` ````{py:data} integerLiteral :canonical: arelle.formula.XPathParser.integerLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.integerLiteral ``` ```` ````{py:data} decimalFractionLiteral :canonical: arelle.formula.XPathParser.decimalFractionLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.decimalFractionLiteral ``` ```` ````{py:data} infLiteral :canonical: arelle.formula.XPathParser.infLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.infLiteral ``` ```` ````{py:data} nanLiteral :canonical: arelle.formula.XPathParser.nanLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.nanLiteral ``` ```` ````{py:data} floatLiteral :canonical: arelle.formula.XPathParser.floatLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.floatLiteral ``` ```` ````{py:data} decimalLiteral :canonical: arelle.formula.XPathParser.decimalLiteral :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.decimalLiteral ``` ```` ````{py:data} lParen :canonical: arelle.formula.XPathParser.lParen :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.lParen ``` ```` ````{py:data} rParen :canonical: arelle.formula.XPathParser.rParen :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.rParen ``` ```` ````{py:data} lPred :canonical: arelle.formula.XPathParser.lPred :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.lPred ``` ```` ````{py:data} rPred :canonical: arelle.formula.XPathParser.rPred :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.rPred ``` ```` ````{py:data} expOp :canonical: arelle.formula.XPathParser.expOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.expOp ``` ```` ````{py:data} commaOp :canonical: arelle.formula.XPathParser.commaOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.commaOp ``` ```` ````{py:data} forOp :canonical: arelle.formula.XPathParser.forOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.forOp ``` ```` ````{py:data} someOp :canonical: arelle.formula.XPathParser.someOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.someOp ``` ```` ````{py:data} everyOp :canonical: arelle.formula.XPathParser.everyOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.everyOp ``` ```` ````{py:data} quantifiedOp :canonical: arelle.formula.XPathParser.quantifiedOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.quantifiedOp ``` ```` ````{py:data} inOp :canonical: arelle.formula.XPathParser.inOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.inOp ``` ```` ````{py:data} returnOp :canonical: arelle.formula.XPathParser.returnOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.returnOp ``` ```` ````{py:data} satisfiesOp :canonical: arelle.formula.XPathParser.satisfiesOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.satisfiesOp ``` ```` ````{py:data} ifOp :canonical: arelle.formula.XPathParser.ifOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.ifOp ``` ```` ````{py:data} thenOp :canonical: arelle.formula.XPathParser.thenOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.thenOp ``` ```` ````{py:data} elseOp :canonical: arelle.formula.XPathParser.elseOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.elseOp ``` ```` ````{py:data} andOp :canonical: arelle.formula.XPathParser.andOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.andOp ``` ```` ````{py:data} orOp :canonical: arelle.formula.XPathParser.orOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.orOp ``` ```` ````{py:data} eqValueOp :canonical: arelle.formula.XPathParser.eqValueOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.eqValueOp ``` ```` ````{py:data} neValueOp :canonical: arelle.formula.XPathParser.neValueOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.neValueOp ``` ```` ````{py:data} ltValueOp :canonical: arelle.formula.XPathParser.ltValueOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.ltValueOp ``` ```` ````{py:data} leValueOp :canonical: arelle.formula.XPathParser.leValueOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.leValueOp ``` ```` ````{py:data} gtValueOp :canonical: arelle.formula.XPathParser.gtValueOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.gtValueOp ``` ```` ````{py:data} geValueOp :canonical: arelle.formula.XPathParser.geValueOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.geValueOp ``` ```` ````{py:data} valueCompOp :canonical: arelle.formula.XPathParser.valueCompOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.valueCompOp ``` ```` ````{py:data} isNodeOp :canonical: arelle.formula.XPathParser.isNodeOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.isNodeOp ``` ```` ````{py:data} precedesNodeOp :canonical: arelle.formula.XPathParser.precedesNodeOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.precedesNodeOp ``` ```` ````{py:data} followsNodeOp :canonical: arelle.formula.XPathParser.followsNodeOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.followsNodeOp ``` ```` ````{py:data} nodeCompOp :canonical: arelle.formula.XPathParser.nodeCompOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.nodeCompOp ``` ```` ````{py:data} neGeneralOp :canonical: arelle.formula.XPathParser.neGeneralOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.neGeneralOp ``` ```` ````{py:data} leGeneralOp :canonical: arelle.formula.XPathParser.leGeneralOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.leGeneralOp ``` ```` ````{py:data} ltGeneralOp :canonical: arelle.formula.XPathParser.ltGeneralOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.ltGeneralOp ``` ```` ````{py:data} geGeneralOp :canonical: arelle.formula.XPathParser.geGeneralOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.geGeneralOp ``` ```` ````{py:data} gtGeneralOp :canonical: arelle.formula.XPathParser.gtGeneralOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.gtGeneralOp ``` ```` ````{py:data} eqGeneralOp :canonical: arelle.formula.XPathParser.eqGeneralOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.eqGeneralOp ``` ```` ````{py:data} generalCompOp :canonical: arelle.formula.XPathParser.generalCompOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.generalCompOp ``` ```` ````{py:data} comparisonOp :canonical: arelle.formula.XPathParser.comparisonOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.comparisonOp ``` ```` ````{py:data} toOp :canonical: arelle.formula.XPathParser.toOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.toOp ``` ```` ````{py:data} plusOp :canonical: arelle.formula.XPathParser.plusOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.plusOp ``` ```` ````{py:data} minusOp :canonical: arelle.formula.XPathParser.minusOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.minusOp ``` ```` ````{py:data} plusMinusOp :canonical: arelle.formula.XPathParser.plusMinusOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.plusMinusOp ``` ```` ````{py:data} multOp :canonical: arelle.formula.XPathParser.multOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.multOp ``` ```` ````{py:data} divOp :canonical: arelle.formula.XPathParser.divOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.divOp ``` ```` ````{py:data} idivOp :canonical: arelle.formula.XPathParser.idivOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.idivOp ``` ```` ````{py:data} modOp :canonical: arelle.formula.XPathParser.modOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.modOp ``` ```` ````{py:data} multDivOp :canonical: arelle.formula.XPathParser.multDivOp :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.multDivOp ``` ```` ````{py:data} unionWordOp :canonical: arelle.formula.XPathParser.unionWordOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.unionWordOp ``` ```` ````{py:data} unionSymbOp :canonical: arelle.formula.XPathParser.unionSymbOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.unionSymbOp ``` ```` ````{py:data} unionOp :canonical: arelle.formula.XPathParser.unionOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.unionOp ``` ```` ````{py:data} intersectOp :canonical: arelle.formula.XPathParser.intersectOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.intersectOp ``` ```` ````{py:data} exceptOp :canonical: arelle.formula.XPathParser.exceptOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.exceptOp ``` ```` ````{py:data} intersectExceptOp :canonical: arelle.formula.XPathParser.intersectExceptOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.intersectExceptOp ``` ```` ````{py:data} instanceOp :canonical: arelle.formula.XPathParser.instanceOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.instanceOp ``` ```` ````{py:data} ofOp :canonical: arelle.formula.XPathParser.ofOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.ofOp ``` ```` ````{py:data} treatOp :canonical: arelle.formula.XPathParser.treatOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.treatOp ``` ```` ````{py:data} asOp :canonical: arelle.formula.XPathParser.asOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.asOp ``` ```` ````{py:data} castableOp :canonical: arelle.formula.XPathParser.castableOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.castableOp ``` ```` ````{py:data} castOp :canonical: arelle.formula.XPathParser.castOp :value: > 'Keyword(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.castOp ``` ```` ````{py:data} unaryOp :canonical: arelle.formula.XPathParser.unaryOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.unaryOp ``` ```` ````{py:data} occurOptionalOp :canonical: arelle.formula.XPathParser.occurOptionalOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.occurOptionalOp ``` ```` ````{py:data} occurAnyOp :canonical: arelle.formula.XPathParser.occurAnyOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.occurAnyOp ``` ```` ````{py:data} occurAtLeastOnceOp :canonical: arelle.formula.XPathParser.occurAtLeastOnceOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.occurAtLeastOnceOp ``` ```` ````{py:data} occurrenceOp :canonical: arelle.formula.XPathParser.occurrenceOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.occurrenceOp ``` ```` ````{py:data} wildOp :canonical: arelle.formula.XPathParser.wildOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.wildOp ``` ```` ````{py:data} typeName :canonical: arelle.formula.XPathParser.typeName :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.typeName ``` ```` ````{py:data} elementName :canonical: arelle.formula.XPathParser.elementName :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.elementName ``` ```` ````{py:data} attributeName :canonical: arelle.formula.XPathParser.attributeName :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.attributeName ``` ```` ````{py:data} elementDeclaration :canonical: arelle.formula.XPathParser.elementDeclaration :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.elementDeclaration ``` ```` ````{py:data} schemaElementTest :canonical: arelle.formula.XPathParser.schemaElementTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.schemaElementTest ``` ```` ````{py:data} elementNameOrWildcard :canonical: arelle.formula.XPathParser.elementNameOrWildcard :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.elementNameOrWildcard ``` ```` ````{py:data} elementTest :canonical: arelle.formula.XPathParser.elementTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.elementTest ``` ```` ````{py:data} attributeDeclaration :canonical: arelle.formula.XPathParser.attributeDeclaration :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.attributeDeclaration ``` ```` ````{py:data} schemaAttributeTest :canonical: arelle.formula.XPathParser.schemaAttributeTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.schemaAttributeTest ``` ```` ````{py:data} attribNameOrWildcard :canonical: arelle.formula.XPathParser.attribNameOrWildcard :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.attribNameOrWildcard ``` ```` ````{py:data} attributeTest :canonical: arelle.formula.XPathParser.attributeTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.attributeTest ``` ```` ````{py:data} PITest :canonical: arelle.formula.XPathParser.PITest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.PITest ``` ```` ````{py:data} commentTest :canonical: arelle.formula.XPathParser.commentTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.commentTest ``` ```` ````{py:data} textTest :canonical: arelle.formula.XPathParser.textTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.textTest ``` ```` ````{py:data} documentTest :canonical: arelle.formula.XPathParser.documentTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.documentTest ``` ```` ````{py:data} anyKindTest :canonical: arelle.formula.XPathParser.anyKindTest :value: > 'set_parse_action(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.anyKindTest ``` ```` ````{py:data} kindTest :canonical: arelle.formula.XPathParser.kindTest :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.kindTest ``` ```` ````{py:data} wildcard :canonical: arelle.formula.XPathParser.wildcard :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.wildcard ``` ```` ````{py:data} nameTest :canonical: arelle.formula.XPathParser.nameTest :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.nameTest ``` ```` ````{py:data} nodeTest :canonical: arelle.formula.XPathParser.nodeTest :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.nodeTest ``` ```` ````{py:data} abbrevForwardStep :canonical: arelle.formula.XPathParser.abbrevForwardStep :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.abbrevForwardStep ``` ```` ````{py:data} atomicType :canonical: arelle.formula.XPathParser.atomicType :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.atomicType ``` ```` ````{py:data} itemType :canonical: arelle.formula.XPathParser.itemType :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.itemType ``` ```` ````{py:data} occurrenceIndicator :canonical: arelle.formula.XPathParser.occurrenceIndicator :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.occurrenceIndicator ``` ```` ````{py:data} sequenceType :canonical: arelle.formula.XPathParser.sequenceType :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.sequenceType ``` ```` ````{py:data} singleType :canonical: arelle.formula.XPathParser.singleType :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.singleType ``` ```` ````{py:data} contextItem :canonical: arelle.formula.XPathParser.contextItem :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.contextItem ``` ```` ````{py:data} pathDescOp :canonical: arelle.formula.XPathParser.pathDescOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.pathDescOp ``` ```` ````{py:data} pathStepOp :canonical: arelle.formula.XPathParser.pathStepOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.pathStepOp ``` ```` ````{py:data} pathOp :canonical: arelle.formula.XPathParser.pathOp :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.pathOp ``` ```` ````{py:data} pathRootOp :canonical: arelle.formula.XPathParser.pathRootOp :value: > 'Regex(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.pathRootOp ``` ```` ````{py:data} axisOp :canonical: arelle.formula.XPathParser.axisOp :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.axisOp ``` ```` ````{py:data} forwardAxis :canonical: arelle.formula.XPathParser.forwardAxis :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.forwardAxis ``` ```` ````{py:data} forwardStep :canonical: arelle.formula.XPathParser.forwardStep :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.forwardStep ``` ```` ````{py:data} reverseAxis :canonical: arelle.formula.XPathParser.reverseAxis :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.reverseAxis ``` ```` ````{py:data} abbrevReverseStep :canonical: arelle.formula.XPathParser.abbrevReverseStep :value: > 'Literal(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.abbrevReverseStep ``` ```` ````{py:data} reverseStep :canonical: arelle.formula.XPathParser.reverseStep :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.reverseStep ``` ```` ````{py:data} step :canonical: arelle.formula.XPathParser.step :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.step ``` ```` ````{py:data} expr :canonical: arelle.formula.XPathParser.expr :value: > 'Forward(...)' ```{autodoc2-docstring} arelle.formula.XPathParser.expr ``` ```` ````{py:data} atom :canonical: arelle.formula.XPathParser.atom :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.atom ``` ```` ````{py:data} stepExpr :canonical: arelle.formula.XPathParser.stepExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.stepExpr ``` ```` ````{py:data} relativePathExpr :canonical: arelle.formula.XPathParser.relativePathExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.relativePathExpr ``` ```` ````{py:data} pathExpr :canonical: arelle.formula.XPathParser.pathExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.pathExpr ``` ```` ````{py:data} valueExpr :canonical: arelle.formula.XPathParser.valueExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.valueExpr ``` ```` ````{py:data} unaryExpr :canonical: arelle.formula.XPathParser.unaryExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.unaryExpr ``` ```` ````{py:data} castExpr :canonical: arelle.formula.XPathParser.castExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.castExpr ``` ```` ````{py:data} castableExpr :canonical: arelle.formula.XPathParser.castableExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.castableExpr ``` ```` ````{py:data} treatExpr :canonical: arelle.formula.XPathParser.treatExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.treatExpr ``` ```` ````{py:data} instanceOfExpr :canonical: arelle.formula.XPathParser.instanceOfExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.instanceOfExpr ``` ```` ````{py:data} intersectExceptExpr :canonical: arelle.formula.XPathParser.intersectExceptExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.intersectExceptExpr ``` ```` ````{py:data} unionExpr :canonical: arelle.formula.XPathParser.unionExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.unionExpr ``` ```` ````{py:data} multiplicitaveExpr :canonical: arelle.formula.XPathParser.multiplicitaveExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.multiplicitaveExpr ``` ```` ````{py:data} additiveExpr :canonical: arelle.formula.XPathParser.additiveExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.additiveExpr ``` ```` ````{py:data} rangeExpr :canonical: arelle.formula.XPathParser.rangeExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.rangeExpr ``` ```` ````{py:data} comparisonExpr :canonical: arelle.formula.XPathParser.comparisonExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.comparisonExpr ``` ```` ````{py:data} andExpr :canonical: arelle.formula.XPathParser.andExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.andExpr ``` ```` ````{py:data} orExpr :canonical: arelle.formula.XPathParser.orExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.orExpr ``` ```` ````{py:data} xpathExpr :canonical: arelle.formula.XPathParser.xpathExpr :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.xpathExpr ``` ```` ````{py:data} opn :canonical: arelle.formula.XPathParser.opn :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser.opn ``` ```` ````{py:function} normalizeExpr(expr: str) -> str :canonical: arelle.formula.XPathParser.normalizeExpr ```{autodoc2-docstring} arelle.formula.XPathParser.normalizeExpr ``` ```` ````{py:data} isInitialized :canonical: arelle.formula.XPathParser.isInitialized :value: > False ```{autodoc2-docstring} arelle.formula.XPathParser.isInitialized ``` ```` ````{py:function} initializeParser(modelManager: arelle.ModelManager.ModelManager) -> bool :canonical: arelle.formula.XPathParser.initializeParser ```{autodoc2-docstring} arelle.formula.XPathParser.initializeParser ``` ```` ````{py:function} exceptionErrorIndication(exception: arelle.formula.XPathContext.XPathException | pyparsing.ParseBaseException) -> str :canonical: arelle.formula.XPathParser.exceptionErrorIndication ```{autodoc2-docstring} arelle.formula.XPathParser.exceptionErrorIndication ``` ```` ````{py:data} _staticExpressionFunctionContext :canonical: arelle.formula.XPathParser._staticExpressionFunctionContext :type: xml.dom.minidom.Element | None :value: > None ```{autodoc2-docstring} arelle.formula.XPathParser._staticExpressionFunctionContext ``` ```` ````{py:function} staticExpressionFunctionContext() -> xml.dom.minidom.Element :canonical: arelle.formula.XPathParser.staticExpressionFunctionContext ```{autodoc2-docstring} arelle.formula.XPathParser.staticExpressionFunctionContext ``` ```` ````{py:function} parse(modelObject: arelle.ModelFormulaObject.ModelFormulaResource, xpathExpression: str | None, element: arelle.ModelObject.ModelObject | None, name: str, traceType: int) -> arelle.formula.XPathParser.ExpressionStack | None :canonical: arelle.formula.XPathParser.parse ```{autodoc2-docstring} arelle.formula.XPathParser.parse ``` ```` ````{py:function} variableReferencesSet(exprStack: arelle.formula.XPathParser.ExpressionStack | None, element: arelle.ModelFormulaObject.ModelFormulaResource) -> set[arelle.ModelValue.QName] :canonical: arelle.formula.XPathParser.variableReferencesSet ```{autodoc2-docstring} arelle.formula.XPathParser.variableReferencesSet ``` ```` ````{py:function} variableReferences(exprStack: arelle.formula.XPathParser.RecursiveFormulaTokens, varRefSet: set[arelle.ModelValue.QName], element: arelle.ModelObject.ModelObject, rangeVars: list[arelle.ModelValue.QName] | None = None) -> None :canonical: arelle.formula.XPathParser.variableReferences ```{autodoc2-docstring} arelle.formula.XPathParser.variableReferences ``` ```` ````{py:function} prefixDeclarations(exprStack: arelle.formula.XPathParser.RecursiveFormulaTokens, xmlnsDict: dict[str, str | None], element: arelle.ModelObject.ModelObject) -> None :canonical: arelle.formula.XPathParser.prefixDeclarations ```{autodoc2-docstring} arelle.formula.XPathParser.prefixDeclarations ``` ```` ````{py:function} clearProg(exprStack: arelle.formula.XPathParser.ExpressionStack | None) -> None :canonical: arelle.formula.XPathParser.clearProg ```{autodoc2-docstring} arelle.formula.XPathParser.clearProg ``` ```` ````{py:function} clearNamedProg(ownerObject: arelle.ModelFormulaObject.ModelFormulaResource, progName: str) -> None :canonical: arelle.formula.XPathParser.clearNamedProg ```{autodoc2-docstring} arelle.formula.XPathParser.clearNamedProg ``` ```` ````{py:function} clearNamedProgs(ownerObject: arelle.ModelFormulaObject.ModelFormulaResource, progsListName: str) -> None :canonical: arelle.formula.XPathParser.clearNamedProgs ```{autodoc2-docstring} arelle.formula.XPathParser.clearNamedProgs ``` ```` ````{py:function} codeModule(code: collections.abc.Iterable[typing.Any]) -> str :canonical: arelle.formula.XPathParser.codeModule ```{autodoc2-docstring} arelle.formula.XPathParser.codeModule ``` ```` ````{py:function} parser_unit_test() -> None :canonical: arelle.formula.XPathParser.parser_unit_test ```{autodoc2-docstring} arelle.formula.XPathParser.parser_unit_test ``` ````